Class: Smplkit::ManagementClient::LoggersNamespace
- Inherits:
-
Object
- Object
- Smplkit::ManagementClient::LoggersNamespace
- Includes:
- HttpHelpers
- Defined in:
- lib/smplkit/management/client.rb
Instance Method Summary collapse
- #_update_logger(logger) ⇒ Object
- #delete(id) ⇒ Object
- #flush ⇒ Object
- #get(id) ⇒ Object
-
#initialize(http) ⇒ LoggersNamespace
constructor
A new instance of LoggersNamespace.
- #list ⇒ Object
- #register(source) ⇒ Object
Constructor Details
#initialize(http) ⇒ LoggersNamespace
Returns a new instance of LoggersNamespace.
537 538 539 540 |
# File 'lib/smplkit/management/client.rb', line 537 def initialize(http) @http = http @buffer = Management::LoggerRegistrationBuffer.new end |
Instance Method Details
#_update_logger(logger) ⇒ Object
574 575 576 577 578 |
# File 'lib/smplkit/management/client.rb', line 574 def _update_logger(logger) body = Smplkit::Logging::Helpers.build_logger_body(logger) resp = http_put("/api/loggers/v1/#{logger.id || logger.name}", body) Smplkit::Logging::Helpers.logger_resource_to_model(self, resp["data"]) end |
#delete(id) ⇒ Object
569 570 571 572 |
# File 'lib/smplkit/management/client.rb', line 569 def delete(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) http_delete("/api/loggers/v1/#{normalized}") end |
#flush ⇒ Object
548 549 550 551 552 553 554 555 556 |
# File 'lib/smplkit/management/client.rb', line 548 def flush batch = @buffer.drain return if batch.empty? body = { "data" => { "type" => "logger_bulk_register", "attributes" => { "loggers" => batch } } } http_post("/api/loggers/v1/bulk", body) rescue StandardError => e Smplkit.debug("registration", "logger flush failed: #{e.class}: #{e.}") end |
#get(id) ⇒ Object
563 564 565 566 567 |
# File 'lib/smplkit/management/client.rb', line 563 def get(id) normalized = Smplkit::Logging::Normalize.normalize_logger_name(id) resp = http_get("/api/loggers/v1/#{normalized}") Smplkit::Logging::Helpers.logger_resource_to_model(self, resp["data"]) end |
#list ⇒ Object
558 559 560 561 |
# File 'lib/smplkit/management/client.rb', line 558 def list list_resp = http_list("/api/loggers/v1") list_resp.map { |r| Smplkit::Logging::Helpers.logger_resource_to_model(self, r) } end |
#register(source) ⇒ Object
542 543 544 545 546 |
# File 'lib/smplkit/management/client.rb', line 542 def register(source) sources = source.is_a?(Array) ? source : [source] sources.each { |s| @buffer.add(s) } flush if @buffer.pending_count >= Management::LOGGER_BATCH_FLUSH_SIZE end |