Class: CardConnect::Connection

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

Instance Method Summary collapse

Constructor Details

#initialize(config = CardConnect.configuration) ⇒ Connection

Returns a new instance of Connection.



5
6
7
# File 'lib/cardconnect/connection.rb', line 5

def initialize(config = CardConnect.configuration)
  @config = config
end

Instance Method Details

#connection(config = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cardconnect/connection.rb', line 9

def connection(config = nil)
  config ||= @config
  @connection ||= Faraday.new(faraday_options) do |f|
    f.request :authorization, :basic, config.api_username, config.api_password
    f.request :json

    f.response :json, content_type: /\bjson$/
    f.response :raise_error

    f.adapter Faraday.default_adapter
  end
end

#faraday_optionsObject



30
31
32
33
34
35
36
37
# File 'lib/cardconnect/connection.rb', line 30

def faraday_options
  {
    url: @config.endpoint,
    headers: {
      user_agent: "CardConnectRubyGem/#{CardConnect::VERSION}"
    },
  }.merge(@config.connection_options)
end

#ping_serverObject



22
23
24
25
26
27
28
# File 'lib/cardconnect/connection.rb', line 22

def ping_server
  connection.get('/cardconnect/rest/')
rescue Faraday::ResourceNotFound => e
  return e
rescue Faraday::ClientError => e
  return e
end