Class: Jsonism::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonism/request.rb

Defined Under Namespace

Classes: MissingParams

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: nil, headers: {}, link: nil, params: {}, **options) ⇒ Request

Returns a new instance of Request.

Parameters:

  • client (Jsonism::Client) (defaults to: nil)
  • headers (Hash) (defaults to: {})
  • link (Jsonism::Link) (defaults to: nil)
  • params (Hash) (defaults to: {})
  • options (Hash)

    Options to change the default behavior



13
14
15
16
17
18
19
# File 'lib/jsonism/request.rb', line 13

def initialize(client: nil, headers: {}, link: nil, params: {}, **options)
  @client = client
  @headers = headers
  @link = link
  @params = params.with_indifferent_access
  @options = options
end

Class Method Details

.call(*args) ⇒ Object

Utility wrapper



4
5
6
# File 'lib/jsonism/request.rb', line 4

def self.call(*args)
  new(*args).call
end

Instance Method Details

#callObject

Sends HTTP request



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/jsonism/request.rb', line 22

def call
  if has_valid_params?
    Response.new(
      client: @client,
      resource_class: resource_class,
      response: @client.connection.send(method, path, request_params, @headers),
    )
  else
    raise MissingParams, missing_params
  end
end