Class: Gdsapi::Methods::BaseMethod

Inherits:
Object
  • Object
show all
Includes:
ParseUtils
Defined in:
lib/gdsapi/methods/base_method.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ParseUtils

#match_attributes

Constructor Details

#initialize(requester) ⇒ BaseMethod

Constructor method for passing requester instance

Parameters:



9
10
11
# File 'lib/gdsapi/methods/base_method.rb', line 9

def initialize(requester)
  @requester = requester
end

Instance Attribute Details

#requesterObject (readonly)

Returns the value of attribute requester.



5
6
7
# File 'lib/gdsapi/methods/base_method.rb', line 5

def requester
  @requester
end

Instance Method Details

#call(**params) ⇒ Object

Generic entry-point for action

Parameters:

  • hash_styled

    ‘list` and `offset` args used for chunking requests

Returns:

    • parsed results



16
17
18
19
20
21
22
# File 'lib/gdsapi/methods/base_method.rb', line 16

def call(**params)
  response_body = query params
  body = JSON.parse response_body
  parse body
rescue JSON::ParserError
  raise MalformedGdsResponse, "Invalid JSON: #{response_body}"
end