class SbrfMerchant::Api::Client
Attributes
host[R]
http_client[R]
json_parser[R]
password[R]
request_body_preprocessor[R]
response_body_postprocessor[R]
uri_builder[R]
user_name[R]
Public Class Methods
new( user_name:, password:, host:, response_body_postprocessor: SBRF::Api::Response::BodyPostProcessor.new, request_body_preprocessor: SBRF::Api::Request::BodyPreProcessor.new, http_client: SBRF::Utils::Http::Client.new, uri_builder: SBRF::Api::Request::UriBuilder.new, json_parser: SBRF::Utils::JSON::ToHashParser.new )
click to toggle source
# File lib/sbrf_merchant/api/client.rb, line 21 def initialize( user_name:, password:, host:, response_body_postprocessor: SBRF::Api::Response::BodyPostProcessor.new, request_body_preprocessor: SBRF::Api::Request::BodyPreProcessor.new, http_client: SBRF::Utils::Http::Client.new, uri_builder: SBRF::Api::Request::UriBuilder.new, json_parser: SBRF::Utils::JSON::ToHashParser.new ) @user_name = user_name @password = password @host = host @response_body_postprocessor = response_body_postprocessor @http_client = http_client @uri_builder = uri_builder @request_body_preprocessor = request_body_preprocessor @json_parser = json_parser end
Public Instance Methods
call(method_name, **params)
click to toggle source
# File lib/sbrf_merchant/api/client.rb, line 41 def call(method_name, **params) prepared_params = request_body_preprocessor.call(auth_params.merge(params)) uri = uri_builder.call(host, method_name) response = http_client.call(uri, prepared_params) parsed_body = json_parser.call(response.body) response_body_postprocessor.call(parsed_body) end
Private Instance Methods
auth_params()
click to toggle source
# File lib/sbrf_merchant/api/client.rb, line 52 def auth_params { user_name: user_name, password: password } end