Class: Wikirate4ruby::REST::Request

Inherits:
Object
  • Object
show all
Includes:
Wikirate4ruby::RequestUtils
Defined in:
lib/wikirate4ruby/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key, wikirate_api_url, auth = {}) ⇒ Request

Returns a new instance of Request.



12
13
14
15
16
17
# File 'lib/wikirate4ruby/request.rb', line 12

def initialize(api_key, wikirate_api_url, auth = {})
  @wikirate_api_url = wikirate_api_url
  @api_key = api_key
  @auth = auth
  @logger = Logger.new(STDOUT)
end

Instance Attribute Details

#api_keyObject (readonly)

Returns the value of attribute api_key.



10
11
12
# File 'lib/wikirate4ruby/request.rb', line 10

def api_key
  @api_key
end

#authObject (readonly)

Returns the value of attribute auth.



10
11
12
# File 'lib/wikirate4ruby/request.rb', line 10

def auth
  @auth
end

#loggerObject (readonly)

Returns the value of attribute logger.



10
11
12
# File 'lib/wikirate4ruby/request.rb', line 10

def logger
  @logger
end

#wikirate_api_urlObject (readonly)

Returns the value of attribute wikirate_api_url.



10
11
12
# File 'lib/wikirate4ruby/request.rb', line 10

def wikirate_api_url
  @wikirate_api_url
end

Instance Method Details

#get(endpoint, endpoint_params = [], filters = [], params = {}) ⇒ Object

Parameters:

  • endpoint (String)
  • endpoint_params (Array) (defaults to: [])
  • filters (Array) (defaults to: [])
  • params (Hash) (defaults to: {})


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/wikirate4ruby/request.rb', line 23

def get(endpoint, endpoint_params = [], filters = [], params = {})
  data = {}
  params.each do |key, value|
    next if value.nil?

    if endpoint_params.include? key
      data[key] = value.to_s
    elsif filters.include? key
      if %w[value_from value_to].include?(key)
        data["filter[value][#{key.gsub(/.*_/, '')}]"] = value.to_s
      else
        data["filter[#{key}]"] = value.to_s
      end
    else
      @logger.warn("Unexpected parameter #{key}")
    end
  end
  request(:get, endpoint, data)
end

#post(endpoint, data = {}) ⇒ Object



43
44
45
# File 'lib/wikirate4ruby/request.rb', line 43

def post(endpoint, data = {})
  request(:post, endpoint, data)
end