class Object
Public Instance Methods
handle_error(api_request)
click to toggle source
# File lib/my_api_client/rspec/matchers/be_handled_as_an_error.rb, line 68 def handle_error(api_request) api_request.call rescue MyApiClient::Error => e e else nil end
init()
click to toggle source
rubocop:disable Metrics/AbcSize
# File lib/my_api_client/rspec/matchers/be_handled_as_an_error.rb, line 49 def init disable_logging response = dummy_response( status: expected_response[:status_code] || 200, headers: expected_response[:headers] || {}, body: expected_response[:body] || nil ) @sawyer = instance_double(Sawyer::Agent, call: response) allow(Sawyer::Agent).to receive(:new).and_return(sawyer) allow(MyApiClient::Sleeper).to receive(:call) end
request_line(method, url, query = nil)
click to toggle source
# File lib/my_api_client/rspec/matchers/request_to.rb, line 52 def request_line(method, url, query = nil) url += "?#{query.to_query}" if query.present? "#{method.upcase} #{url}" end
safe_execution(api_request)
click to toggle source
To ignore error handling
# File lib/my_api_client/rspec/matchers/request_to.rb, line 46 def safe_execution(api_request) api_request.call rescue MyApiClient::Error nil end
set_validation_for_retry_count()
click to toggle source
rubocop:enable Metrics/AbcSize
# File lib/my_api_client/rspec/matchers/be_handled_as_an_error.rb, line 62 def set_validation_for_retry_count return if retry_count.nil? expect(sawyer).to receive(:call).exactly(retry_count + 1).times end