Class: ShellDataReportingApIs::BaseController

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

Overview

BaseController.

Constant Summary collapse

GLOBAL_ERRORS =
{
  'default' => ErrorCase.new
                        .error_message('HTTP response not OK.')
                        .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.



25
26
27
28
29
30
# File 'lib/shell_data_reporting_ap_is/controllers/base_controller.rb', line 25

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/shell_data_reporting_ap_is/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/shell_data_reporting_ap_is/controllers/base_controller.rb', line 10

def http_call_back
  @http_call_back
end

Class Method Details

.user_agentObject



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

def self.user_agent
  'APIMATIC 3.0'
end

Instance Method Details

#new_api_call_builderApiCall

Creates a new builder for the Api Call instance.

Returns:

  • (ApiCall)

    The instance of ApiCall.



34
35
36
# File 'lib/shell_data_reporting_ap_is/controllers/base_controller.rb', line 34

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.



60
61
62
63
64
# File 'lib/shell_data_reporting_ap_is/controllers/base_controller.rb', line 60

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.



43
44
45
46
47
48
# File 'lib/shell_data_reporting_ap_is/controllers/base_controller.rb', line 43

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.



52
53
54
# File 'lib/shell_data_reporting_ap_is/controllers/base_controller.rb', line 52

def new_response_handler
  ResponseHandler.new
end