class BetfairApiNgRails::Api::Connection

Attributes

account_name[R]
endpoint[R]
session_manager[R]

Public Class Methods

new(account_name) click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 11
def initialize(account_name)
  BetfairApiNgRails.log.write("==> Initializing new connection #{self}")
  @account_name = account_name
  @endpoint = BetfairApiNgRails.config.endpoint
  @session_manager = Api::SessionManager.new(endpoint)
end

Public Instance Methods

request(method, params = {}) click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 18
def request(method, params = {})
  provider.fetch method: Api::RequestMethod.new(method, endpoint), params: hashing(params)
end

Protected Instance Methods

account() click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 47
def account
  acc = BetfairApiNgRails.account_manager.get account_name
  raise BetfairApiNgRails::NoAccountProvided unless acc
  BetfairApiNgRails.log.write("==> Using account #{acc.username}")
  acc
end
expire_provider() click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 31
def expire_provider
  session_manager.expire_ssoid account
end
hashing(params) click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 43
def hashing(params)
  Api::Hashalator.new(params).to_hash
end
provider() click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 35
def provider
  Api::Provider.new request_ssoid, app_key
end
request_ssoid() click to toggle source
# File lib/betfair_api_ng_rails/api/connection.rb, line 39
def request_ssoid
  session_manager.get_ssoid account
end