Class: Omdb::Api::Request
- Inherits:
-
Object
- Object
- Omdb::Api::Request
- Defined in:
- lib/omdb/api/request.rb
Constant Summary collapse
- BASE_URI =
'https://www.omdbapi.com'.freeze
Instance Attribute Summary collapse
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
-
#field ⇒ Object
readonly
Returns the value of attribute field.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
-
#initialize(client, method, value, options) ⇒ Request
constructor
A new instance of Request.
- #query_params ⇒ Object
- #response ⇒ Object
- #success? ⇒ Boolean
Constructor Details
#initialize(client, method, value, options) ⇒ Request
Returns a new instance of Request.
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/omdb/api/request.rb', line 10 def initialize(client, method, value, ) @api_key = client.api_key @value = CGI.escape(value) @options = @field = if /id/.match?(method) 'i' elsif /title/.match?(method) 't' else 's' end end |
Instance Attribute Details
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
8 9 10 |
# File 'lib/omdb/api/request.rb', line 8 def api_key @api_key end |
#field ⇒ Object (readonly)
Returns the value of attribute field.
8 9 10 |
# File 'lib/omdb/api/request.rb', line 8 def field @field end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
8 9 10 |
# File 'lib/omdb/api/request.rb', line 8 def @options end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
8 9 10 |
# File 'lib/omdb/api/request.rb', line 8 def value @value end |
Instance Method Details
#query_params ⇒ Object
23 24 25 |
# File 'lib/omdb/api/request.rb', line 23 def query_params { query: { apikey: api_key, field.to_s => value.to_s }.merge() } end |
#response ⇒ Object
27 28 29 |
# File 'lib/omdb/api/request.rb', line 27 def response @response ||= HTTParty.get(BASE_URI, query_params) end |
#success? ⇒ Boolean
31 32 33 |
# File 'lib/omdb/api/request.rb', line 31 def success? (response['Response'] || response['root']['response']) == 'True' end |