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