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



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.



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

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

#alertsAlertsController

Access to alerts controller.



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

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

#assetsAssetsController

Access to assets controller.



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.



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.



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

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

#groupsGroupsController

Access to groups controller.



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.



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.



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

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

#licenseLicenseController

Access to license controller.



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

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

#loginLoginController

Access to login controller.



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

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

#queriesQueriesController

Access to queries controller.



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

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

#sensorsSensorsController

Access to sensors controller.



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

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

#sitesSitesController

Access to sites controller.



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

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

#tasksTasksController

Access to tasks controller.



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.



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.



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

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