class Betfair::Client
Constants
- DEFAULT_SETTINGS
- OPERATIONS
Attributes
endpoint[RW]
persistent_headers[RW]
request_opts[RW]
settings[RW]
Public Class Methods
new(headers = {}, opts = {}, api_type = :rest)
click to toggle source
# File lib/betfair/client.rb, line 23 def initialize(headers = {}, opts = {}, api_type = :rest) set_endpoint!(opts.delete(:endpoint)) setting_opts = opts.extract!(:retries, :adapter) @settings = DEFAULT_SETTINGS.merge(setting_opts) @persistent_headers = headers @request_opts = opts extend_api(api_type) end
Private Instance Methods
configure_request(opts = {})
click to toggle source
# File lib/betfair/client.rb, line 45 def configure_request(opts = {}) opts[:headers] = persistent_headers.merge(opts[:headers] || {}) HTTPI::Request.new(request_opts.merge(opts)).tap do |r| # It would be nice to have HTTPI do this itself but # HTTPI::Request#mass_assign doesn't merge auth fields if opts[:cert_file_path] && opts[:cert_key_file_path] r.auth.ssl.cert_key_file = opts[:cert_key_file_path] r.auth.ssl.cert_file = opts[:cert_file_path] end end end
extend_api(type)
click to toggle source
# File lib/betfair/client.rb, line 70 def extend_api(type) case type when :rest extend API::REST when :rpc extend API::RPC else extend type end end
set_endpoint!(endpoint)
click to toggle source
# File lib/betfair/client.rb, line 58 def set_endpoint!(endpoint) @endpoint = case endpoint when :default, nil "api" when :aus "api-au" else raise RuntimeError, "invalid endpoint, please choose :default or :aus" end end