Class: AdvancedBilling::BaseController

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/advanced_billing/controllers/base_controller.rb

Overview

BaseController.

Constant Summary collapse

GLOBAL_ERRORS =
{
  'default' => ErrorCase.new
                        .error_message_template('HTTP Response Not OK. Status code:'\
                                                ' {$statusCode}. Response: \'{$response.body}'\
                                                '\'.')
                        .exception_type(APIException),
  '404' => ErrorCase.new
                    .error_message_template('Not Found:\'{$response.body}\'')
                    .exception_type(APIException)
}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(global_configuration) ⇒ BaseController

Initialization constructor.

Parameters:

  • global_configuration (GlobalConfiguration)

    The instance of GlobalConfiguration.



35
36
37
38
39
40
# File 'lib/advanced_billing/controllers/base_controller.rb', line 35

def initialize(global_configuration)
  @global_configuration = global_configuration
  @config = @global_configuration.client_configuration
  @http_call_back = @config.http_callback
  @api_call = ApiCall.new(@global_configuration)
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



10
11
12
# File 'lib/advanced_billing/controllers/base_controller.rb', line 10

def config
  @config
end

#http_call_backObject

Returns the value of attribute http_call_back.



10
11
12
# File 'lib/advanced_billing/controllers/base_controller.rb', line 10

def http_call_back
  @http_call_back
end

Class Method Details

.user_agentObject



12
13
14
# File 'lib/advanced_billing/controllers/base_controller.rb', line 12

def self.user_agent
  'AB SDK Ruby:5.2.0 on OS {os-info}'
end

.user_agent_parametersObject



16
17
18
19
20
# File 'lib/advanced_billing/controllers/base_controller.rb', line 16

def self.user_agent_parameters
  {
    '{os-info}' => { 'value' => RUBY_PLATFORM, 'encode' => false }
  }
end

Instance Method Details

#new_api_call_builderApiCall

Creates a new builder for the Api Call instance.

Returns:

  • (ApiCall)

    The instance of ApiCall.



44
45
46
# File 'lib/advanced_billing/controllers/base_controller.rb', line 44

def new_api_call_builder
  @api_call.new_builder
end

#new_parameter(value, key: nil) ⇒ Parameter

Creates a new instance of the parameter.

Parameters:

  • key (String|optional) (defaults to: nil)

    The key of the parameter.

  • value (Object)

    The value of the parameter.

Returns:

  • (Parameter)

    The instance of Parameter.



70
71
72
73
74
# File 'lib/advanced_billing/controllers/base_controller.rb', line 70

def new_parameter(value, key: nil)
  Parameter.new
           .key(key)
           .value(value)
end

#new_request_builder(http_method, path, server) ⇒ RequestBuilder

Creates a new instance of the request builder.

Parameters:

  • http_method (String)

    The HTTP method to use in the request.

  • path (String)

    The endpoint path to use in the request.

  • server (String)

    The server to extract the base uri for the request.

Returns:

  • (RequestBuilder)

    The instance of RequestBuilder.



53
54
55
56
57
58
# File 'lib/advanced_billing/controllers/base_controller.rb', line 53

def new_request_builder(http_method, path, server)
  RequestBuilder.new
                .http_method(http_method)
                .path(path)
                .server(server)
end

#new_response_handlerResponseHandler

Creates a new instance of the response handler.

Returns:

  • (ResponseHandler)

    The instance of ResponseHandler.



62
63
64
# File 'lib/advanced_billing/controllers/base_controller.rb', line 62

def new_response_handler
  ResponseHandler.new
end