Class: Verizon::BaseApi

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/verizon/apis/base_api.rb

Overview

BaseApi.

Direct Known Subclasses

AccountDevicesApi, AccountRequestsApi, AccountSubscriptionsApi, AccountsApi, AnomalySettingsApi, AnomalyTriggersApi, AnomalyTriggersV2Api, AppConfigServiceApi, BillingApi, CampaignsV2Api, CampaignsV3Api, ClientLoggingApi, CloudConnectorDevicesApi, CloudConnectorSubscriptionsApi, ConfigurationFilesApi, ConnectivityCallbacksApi, CreatePricePlanTriggersApi, DeviceActionsApi, DeviceCredentialManagementApi, DeviceDiagnosticsApi, DeviceGroupsApi, DeviceLocationCallbacksApi, DeviceManagementApi, DeviceMonitoringApi, DeviceProfileManagementApi, DeviceReportsApi, DeviceRoleControllerApi, DeviceServiceManagementApi, DeviceSmsMessagingApi, DevicesLocationSubscriptionsApi, DevicesLocationsApi, DiagnosticsCallbacksApi, DiagnosticsFactoryResetApi, DiagnosticsHistoryApi, DiagnosticsObservationsApi, DiagnosticsSettingsApi, DiagnosticsSubscriptionsApi, EuiccDeviceProfileManagementApi, ExclusionsApi, FirmwareV1Api, FirmwareV3Api, GlobalReportingApi, HplDeviceManagementApi, HyperPreciseLocationCallbacksApi, M5GBiDeviceActionsApi, M5GEdgePlatformsApi, ManagingEsimProfilesApi, MapDataManagerApi, OauthAuthorizationApi, PerformanceMetricsApi, PromotionPeriodInformationApi, PwnApi, RegistrationApi, RetrieveRatePlanListApi, RetrieveTheTriggersApi, SensorInsightsDeviceProfileApi, SensorInsightsDevicesApi, SensorInsightsGatewaysApi, SensorInsightsHealthScoreApi, SensorInsightsNotificationGroupsApi, SensorInsightsRulesApi, SensorInsightsSensorsApi, SensorInsightsSmartAlertMetricsApi, SensorInsightsSmartAlertsApi, SensorInsightsUsersApi, ServerLoggingApi, ServiceEndpointsApi, ServicePlansApi, ServiceProfilesApi, SessionManagementApi, SimActionsApi, SimSecureForIoTLicensesApi, SmsApi, SoftwareManagementCallbacksV1Api, SoftwareManagementCallbacksV2Api, SoftwareManagementCallbacksV3Api, SoftwareManagementLicensesV1Api, SoftwareManagementLicensesV2Api, SoftwareManagementLicensesV3Api, SoftwareManagementReportsV1Api, SoftwareManagementReportsV2Api, SoftwareManagementReportsV3Api, SoftwareManagementSubscriptionsV1Api, SoftwareManagementSubscriptionsV2Api, SoftwareManagementSubscriptionsV3Api, TargetsApi, ThingSpaceQualityOfServiceApiActionsApi, UpdatePricePlanTriggersApi, UpdateTriggersApi, UsageTriggerManagementApi, WirelessNetworkPerformanceApi

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) ⇒ BaseApi

Initialization constructor.

Parameters:

  • global_configuration (GlobalConfiguration)

    The instance of GlobalConfiguration.



32
33
34
35
36
37
# File 'lib/verizon/apis/base_api.rb', line 32

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/verizon/apis/base_api.rb', line 10

def config
  @config
end

#http_call_backObject

Returns the value of attribute http_call_back.



10
11
12
# File 'lib/verizon/apis/base_api.rb', line 10

def http_call_back
  @http_call_back
end

Class Method Details

.user_agentObject



12
13
14
# File 'lib/verizon/apis/base_api.rb', line 12

def self.user_agent
  'Ruby-SDK/1.0.0 [OS: {os-info}, Engine: {engine}/{engine-version}]'
end

.user_agent_parametersObject



16
17
18
19
20
21
22
# File 'lib/verizon/apis/base_api.rb', line 16

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

Instance Method Details

#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.



61
62
63
64
65
# File 'lib/verizon/apis/base_api.rb', line 61

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.



44
45
46
47
48
49
# File 'lib/verizon/apis/base_api.rb', line 44

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.



53
54
55
# File 'lib/verizon/apis/base_api.rb', line 53

def new_response_handler
  ResponseHandler.new
end