class Koine::RestClient::RspecMockClient
mock client
Attributes
client_mock[R]
Public Class Methods
new(rspec, response_parser: ResponseParser.new)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 9 def initialize(rspec, response_parser: ResponseParser.new) @client_mock = rspec.instance_double(Koine::RestClient::Client) @builder = MockFactory.new(rspec, self) @collected = [] @response_parser = response_parser @error_handler = proc do |error| raise error end end
Public Instance Methods
async() { |self| ... }
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 47 def async @async = true yield(self) @async = false responses = @collected.dup @collected.clear responses.map(&:parsed_response) end
delete(*args, &block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 43 def delete(*args, &block) parse(@client_mock.delete(*args), &block) end
get(*args, &block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 27 def get(*args, &block) parse(@client_mock.get(*args), &block) end
mock() { |builder| ... }
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 23 def mock yield(@builder) end
on_error(&block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 19 def on_error(&block) @error_handler = block end
patch(*args, &block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 39 def patch(*args, &block) parse(@client_mock.patch(*args), &block) end
post(*args, &block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 31 def post(*args, &block) parse(@client_mock.post(*args), &block) end
put(*args, &block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 35 def put(*args, &block) parse(@client_mock.put(*args), &block) end
Private Instance Methods
parse(response, &block)
click to toggle source
# File lib/koine/rest_client/rspec_mock_client.rb, line 59 def parse(response, &block) @response_parser.parse(response, &block).tap do |_parsed| if @async @collected << response end end rescue StandardError => exception unless @async raise exception end @collected << MockResponse.new.tap do |new_response| new_response.parsed_response = @error_handler.call(exception) end end