Class: Bvr::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/bvr/connection.rb

Constant Summary collapse

BASE_URI =
'https://www.voipinfocenter.com'
API_PATH =
'/API/Request.ashx?'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(faraday_adapter = Faraday.default_adapter) ⇒ Connection

Returns a new instance of Connection.



12
13
14
15
16
17
# File 'lib/bvr/connection.rb', line 12

def initialize(faraday_adapter=Faraday.default_adapter)
  @faraday_connection = Faraday.new(url: self.base_uri) do |faraday|
    faraday.response :logger
    faraday.adapter faraday_adapter
  end
end

Instance Attribute Details

#faraday_connectionObject

Returns the value of attribute faraday_connection.



10
11
12
# File 'lib/bvr/connection.rb', line 10

def faraday_connection
  @faraday_connection
end

Class Method Details

.uri_from_h(queryH) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/bvr/connection.rb', line 28

def self.uri_from_h(queryH)
  params = {
    username: Bvr.config.username,
    password: Bvr.config.password
  }
  queryH.merge! params
  "#{API_PATH}#{::Rack::Utils.build_query queryH}"
end

Instance Method Details

#base_uriObject



19
20
21
# File 'lib/bvr/connection.rb', line 19

def base_uri
  BASE_URI
end

#get(params) ⇒ Object



23
24
25
26
# File 'lib/bvr/connection.rb', line 23

def get(params)
  body = self.faraday_connection.get(self.class.uri_from_h(params)).body
  ::XmlSimple.xml_in body, {ForceArray: false}
end