Class: CtdDocumentation::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/ctd_documentation/client.rb

Overview

ctd_documentation client class.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put], http_callback: nil, environment: Environment::PRODUCTION, host: 'HostValue', authorization: 'TODO: Replace', config: nil) ⇒ Client

Returns a new instance of Client.



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/ctd_documentation/client.rb', line 101

def initialize(connection: nil, adapter: :net_http_persistent, timeout: 60,
               max_retries: 0, retry_interval: 1, backoff_factor: 2,
               retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
               retry_methods: %i[get put], http_callback: nil,
               environment: Environment::PRODUCTION, host: 'HostValue',
               authorization: 'TODO: Replace', config: nil)
  @config = if config.nil?
              Configuration.new(connection: connection, adapter: adapter,
                                timeout: timeout, max_retries: max_retries,
                                retry_interval: retry_interval,
                                backoff_factor: backoff_factor,
                                retry_statuses: retry_statuses,
                                retry_methods: retry_methods,
                                http_callback: http_callback,
                                environment: environment, host: host,
                                authorization: authorization)
            else
              config
            end

  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
                                             .base_uri_executor(@config.method(:get_base_uri))
                                             .global_errors(BaseController::GLOBAL_ERRORS)
                                             .user_agent(BaseController.user_agent)
                                             .sdk_module(CtdDocumentation)

  initialize_auth_managers(@global_configuration)
  @global_configuration = @global_configuration.auth_managers(@auth_managers)
end

Instance Attribute Details

#auth_managersObject (readonly)

Returns the value of attribute auth_managers.



9
10
11
# File 'lib/ctd_documentation/client.rb', line 9

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



9
10
11
# File 'lib/ctd_documentation/client.rb', line 9

def config
  @config
end

Instance Method Details

#activitiesActivitiesController

Access to activities controller.

Returns:



61
62
63
# File 'lib/ctd_documentation/client.rb', line 61

def activities
  @activities ||= ActivitiesController.new @global_configuration
end

#alertsAlertsController

Access to alerts controller.

Returns:



25
26
27
# File 'lib/ctd_documentation/client.rb', line 25

def alerts
  @alerts ||= AlertsController.new @global_configuration
end

#assetsAssetsController

Access to assets controller.

Returns:



19
20
21
# File 'lib/ctd_documentation/client.rb', line 19

def assets
  @assets ||= AssetsController.new @global_configuration
end

#custom_attributes_categoriesCustomAttributesCategoriesController

Access to custom_attributes_categories controller.

Returns:



91
92
93
# File 'lib/ctd_documentation/client.rb', line 91

def custom_attributes_categories
  @custom_attributes_categories ||= CustomAttributesCategoriesController.new @global_configuration
end

#eventsEventsController

Access to events controller.

Returns:



97
98
99
# File 'lib/ctd_documentation/client.rb', line 97

def events
  @events ||= EventsController.new @global_configuration
end

#groupsGroupsController

Access to groups controller.

Returns:



79
80
81
# File 'lib/ctd_documentation/client.rb', line 79

def groups
  @groups ||= GroupsController.new @global_configuration
end

#initialize_auth_managers(global_config) ⇒ Object

Initializes the auth managers hash used for authenticating API calls.

Parameters:

  • global_config (GlobalConfiguration)

    The global configuration of the SDK)



133
134
135
136
137
138
# File 'lib/ctd_documentation/client.rb', line 133

def initialize_auth_managers(global_config)
  @auth_managers = {}
  http_client_config = global_config.client_configuration
  ['global'].each { |auth| @auth_managers[auth] = nil }
  @auth_managers['global'] = CustomHeaderAuth.new(http_client_config.authorization)
end

#insightsInsightsController

Access to insights controller.

Returns:



49
50
51
# File 'lib/ctd_documentation/client.rb', line 49

def insights
  @insights ||= InsightsController.new @global_configuration
end

#licenseLicenseController

Access to license controller.

Returns:



67
68
69
# File 'lib/ctd_documentation/client.rb', line 67

def license
  @license ||= LicenseController.new @global_configuration
end

#loginLoginController

Access to login controller.

Returns:



13
14
15
# File 'lib/ctd_documentation/client.rb', line 13

def 
  @login ||= LoginController.new @global_configuration
end

#queriesQueriesController

Access to queries controller.

Returns:



43
44
45
# File 'lib/ctd_documentation/client.rb', line 43

def queries
  @queries ||= QueriesController.new @global_configuration
end

#sensorsSensorsController

Access to sensors controller.

Returns:



85
86
87
# File 'lib/ctd_documentation/client.rb', line 85

def sensors
  @sensors ||= SensorsController.new @global_configuration
end

#sitesSitesController

Access to sites controller.

Returns:



55
56
57
# File 'lib/ctd_documentation/client.rb', line 55

def sites
  @sites ||= SitesController.new @global_configuration
end

#tasksTasksController

Access to tasks controller.

Returns:



31
32
33
# File 'lib/ctd_documentation/client.rb', line 31

def tasks
  @tasks ||= TasksController.new @global_configuration
end

#tasks_queriesTasksQueriesController

Access to tasks_queries controller.

Returns:



37
38
39
# File 'lib/ctd_documentation/client.rb', line 37

def tasks_queries
  @tasks_queries ||= TasksQueriesController.new @global_configuration
end

#usersUsersController

Access to users controller.

Returns:



73
74
75
# File 'lib/ctd_documentation/client.rb', line 73

def users
  @users ||= UsersController.new @global_configuration
end