module BetfairApiNgRails::Api::ConnectionExt::ErrorHandling

Public Class Methods

included(base) click to toggle source
# File lib/betfair_api_ng_rails/api/connection_ext/error_handling.rb, line 10
        def self.included(base)
          base.send :class_eval,  <<-CODE
            def request_with_error_handling(method, params = {})
              res = request_without_error_handling(method, params)
              raise_exception(res.try(:error_info) || default_error_info) if res.nil? || res.has_error?
              res
            end
            alias_method :request_without_error_handling, :request
            alias_method :request, :request_with_error_handling
          CODE
        end

Private Instance Methods

default_error_info() click to toggle source
# File lib/betfair_api_ng_rails/api/connection_ext/error_handling.rb, line 28
def default_error_info
  {type: :SESSION, info: { 'code' => -32099 }}
end
raise_exception(error) click to toggle source
# File lib/betfair_api_ng_rails/api/connection_ext/error_handling.rb, line 24
def raise_exception(error)
  raise BetfairApiNgRails::APINGException.new(error), "Error in #{error[:type]} section"
end