Class: Smplkit::Logging::LogGroupsClient
- Inherits:
-
Object
- Object
- Smplkit::Logging::LogGroupsClient
- Defined in:
- lib/smplkit/logging/client.rb
Overview
Surface for client.logging.log_groups.* (sync).
Instance Method Summary collapse
- #_create_log_group(group) ⇒ Object
- #_update_log_group(group) ⇒ Object
-
#delete(id) ⇒ Object
Delete a log group by id.
-
#get(id) ⇒ Object
Fetch the editable
SmplLogGroupresource by id. - #get_group_entry(key) ⇒ Object
-
#initialize(http_client) ⇒ LogGroupsClient
constructor
A new instance of LogGroupsClient.
-
#list(page_number: nil, page_size: nil) ⇒ Object
List log groups for the authenticated account.
-
#list_group_entries ⇒ Object
Runtime entry — walks every page and returns an id-keyed Hash of resolution-cache entries (
level,group,environments). -
#new(id, name: nil, group: nil) ⇒ Object
Return a new unsaved
SmplLogGroup.
Constructor Details
#initialize(http_client) ⇒ LogGroupsClient
Returns a new instance of LogGroupsClient.
235 236 237 |
# File 'lib/smplkit/logging/client.rb', line 235 def initialize(http_client) @api = SmplkitGeneratedClient::Logging::LogGroupsApi.new(http_client) end |
Instance Method Details
#_create_log_group(group) ⇒ Object
269 270 271 272 |
# File 'lib/smplkit/logging/client.rb', line 269 def _create_log_group(group) response = ApiSupport::ErrorMapping.call { @api.create_log_group(log_group_body(group)) } Helpers.log_group_resource_to_model(self, ApiSupport::ResourceShim.from_model(response.data)) end |
#_update_log_group(group) ⇒ Object
274 275 276 277 |
# File 'lib/smplkit/logging/client.rb', line 274 def _update_log_group(group) response = ApiSupport::ErrorMapping.call { @api.update_log_group(group.key, log_group_body(group)) } Helpers.log_group_resource_to_model(self, ApiSupport::ResourceShim.from_model(response.data)) end |
#delete(id) ⇒ Object
Delete a log group by id.
264 265 266 267 |
# File 'lib/smplkit/logging/client.rb', line 264 def delete(id) ApiSupport::ErrorMapping.call { @api.delete_log_group(id) } nil end |
#get(id) ⇒ Object
Fetch the editable SmplLogGroup resource by id.
258 259 260 261 |
# File 'lib/smplkit/logging/client.rb', line 258 def get(id) response = ApiSupport::ErrorMapping.call { @api.get_log_group(id) } Helpers.log_group_resource_to_model(self, ApiSupport::ResourceShim.from_model(response.data)) end |
#get_group_entry(key) ⇒ Object
288 289 290 291 |
# File 'lib/smplkit/logging/client.rb', line 288 def get_group_entry(key) response = ApiSupport::ErrorMapping.call { @api.get_log_group(key) } group_entry_from_resource(ApiSupport::ResourceShim.from_model(response.data)) end |
#list(page_number: nil, page_size: nil) ⇒ Object
List log groups for the authenticated account.
247 248 249 250 251 252 253 254 255 |
# File 'lib/smplkit/logging/client.rb', line 247 def list(page_number: nil, page_size: nil) opts = {} opts[:page_number] = page_number unless page_number.nil? opts[:page_size] = page_size unless page_size.nil? response = ApiSupport::ErrorMapping.call { @api.list_log_groups(opts) } (response.data || []).map do |r| Helpers.log_group_resource_to_model(self, ApiSupport::ResourceShim.from_model(r)) end end |
#list_group_entries ⇒ Object
Runtime entry — walks every page and returns an id-keyed Hash of resolution-cache entries (level, group, environments). The group key carries the *parent group id* so the resolution algorithm can walk the chain with the same key shape it uses for loggers.
283 284 285 286 |
# File 'lib/smplkit/logging/client.rb', line 283 def list_group_entries rows = ApiSupport::PaginatedFetch.collect { |opts| @api.list_log_groups(opts) } rows.to_h { |r| group_entry_from_resource(ApiSupport::ResourceShim.from_model(r)) } end |
#new(id, name: nil, group: nil) ⇒ Object
Return a new unsaved SmplLogGroup. Call SmplLogGroup#save to persist.
240 241 242 243 244 |
# File 'lib/smplkit/logging/client.rb', line 240 def new(id, name: nil, group: nil) SmplLogGroup.new( self, key: id, name: name.nil? ? Smplkit::Helpers.key_to_display_name(id) : name, parent_id: group ) end |