Module: APIClientBase::Request

Extended by:
ActiveSupport::Concern
Defined in:
lib/api_client_base/request.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.module(opts = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/api_client_base/request.rb', line 4

def self.module(opts={})
  mod = Module.new do
    mattr_accessor :api_client_base_request_options

    def self.included(base)
      base.class_attribute :api_client_base_request_options
      base.api_client_base_request_options =
        self.api_client_base_request_options
      base.send :include, APIClientBase::Request
    end
  end

  mod.api_client_base_request_options = opts

  mod
end

Instance Method Details

#callObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/api_client_base/request.rb', line 34

def call
  require "typhoeus"
  if defined?(Typhoeus)
    request = Typhoeus::Request.new(
      uri,
      method: action,
      headers: headers,
      body: body,
      params: params,
    )

    request.run
  else
    fail "Either override #call or make sure Typhoeus is available for use."
  end
end