Class: Uatu::Base

Inherits:
Object
  • Object
show all
Includes:
Connection
Defined in:
lib/uatu/base.rb

Constant Summary collapse

RESOURCES =
%w(comic serie character event story creator)

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Connection

#build_connection, #build_route, #current_timestamp, #hash, #mandatory_params, #prepare_options, #request, #valid_method

Constructor Details

#initializeBase

Returns a new instance of Base.



13
14
15
16
17
# File 'lib/uatu/base.rb', line 13

def initialize
  Configuration::VALID_CONFIG_KEYS.each do |key|
    send("#{key}=", Uatu.options[key])
  end
end

Instance Attribute Details

#last_request_urlObject

Returns the value of attribute last_request_url.



10
11
12
# File 'lib/uatu/base.rb', line 10

def last_request_url
  @last_request_url
end

Instance Method Details

#conn_optionsObject



62
63
64
65
66
# File 'lib/uatu/base.rb', line 62

def conn_options
  _conn_options = Hashie::Mash.new
  Configuration::VALID_CONFIG_KEYS.each{|key| _conn_options[key] = send(key)}
  _conn_options
end

#request_and_build(method_name, options) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/uatu/base.rb', line 49

def request_and_build(method_name, options)
  response = request(method_name, options, conn_options)
  parsed_body = JSON.parse(response.body)

  self.last_request_url = response.env.url.to_s

  output = parsed_body['data']['results'].map do |resource_hash|
    "Uatu::#{method_name.split('_').last.classify}".constantize.new(resource_hash)
  end

  output 
end