Class: Bitport::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/bitport/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Base

Returns a new instance of Base.



12
13
14
# File 'lib/bitport/base.rb', line 12

def initialize(params)
  @params = params
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



3
4
5
# File 'lib/bitport/base.rb', line 3

def params
  @params
end

#resultObject (readonly)

Returns the value of attribute result.



3
4
5
# File 'lib/bitport/base.rb', line 3

def result
  @result
end

Class Method Details

.call(params = {}) ⇒ Object



5
6
7
8
9
10
# File 'lib/bitport/base.rb', line 5

def self.call(params = {})
  new(params).tap do |object|
    object.make_request
    object.package_result
  end
end

Instance Method Details

#headersObject



29
30
31
# File 'lib/bitport/base.rb', line 29

def headers
  {}
end

#make_requestObject



16
17
18
19
20
21
22
23
# File 'lib/bitport/base.rb', line 16

def make_request
  http = Net::HTTP.new(request_url.host, request_url.port)
  http.use_ssl = true
  http.set_debug_output($stdout)
  request = request_method_klass.new(request_url, request_headers)
  request.body = request_params.to_json
  @response = http.request(request)
end

#package_resultObject



25
26
27
# File 'lib/bitport/base.rb', line 25

def package_result
  @result = { response: JSON.parse(@response.body), status_code: @response.code, success: success? }
end