module BetfairApiNgRails::Api::ConnectionExt::SsoidRefreshing
Public Class Methods
included(base)
click to toggle source
# File lib/betfair_api_ng_rails/api/connection_ext/ssoid_refreshing.rb, line 10 def self.included(base) base.send :class_eval, <<-CODE def request_with_ssoid_refreshing(method, params = {}) res = nil begin res = request_without_ssoid_refreshing(method, params) rescue BetfairApiNgRails::APINGException => e raise e unless is_ssoid_problem?(e) try_request method, params end res end alias_method :request_without_ssoid_refreshing, :request alias_method :request, :request_with_ssoid_refreshing CODE end
Private Instance Methods
is_ssoid_problem?(e)
click to toggle source
# File lib/betfair_api_ng_rails/api/connection_ext/ssoid_refreshing.rb, line 29 def is_ssoid_problem?(e) e.info[:info]["code"].to_i == -32099 end
try_request(method, params)
click to toggle source
# File lib/betfair_api_ng_rails/api/connection_ext/ssoid_refreshing.rb, line 33 def try_request(method, params) expire_provider request_without_ssoid_refreshing(method, params) end