Sha256: cb84fa8c7593dde0064017daef41b683729bb5d37e7aaccb33bef4370abb491c
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
# frozen_string_literal: true module Stenotype module Adapters # # An adapter implementing method {#publish} to send data to STDOUT # # @example # class SomeClassWithEvents # def method_emitting_enent # result_of_calculations = collect_some_data # # This will print the data to STDOUT by default # stdout_adapter.publish(result_of_calculation, additional: :data, more: :data) # result_of_calculations # end # # def stdout_adapter # Stenotype::Adapters::StdoutAdapter.new # end # end # class StdoutAdapter < Base # # @param event_data {Hash} The data to be published to STDOUT # # @example Publishing to default client (STDOUT) # adapter = Stenotype::Adapters::StdoutAdapter.new # adapter.publish({ event: :data }, { additional: :data }) # # @example Publishing to custom client (STDERR) # adapter = Stenotype::Adapters::StdoutAdapter.new(client: STDERR) # adapter.publish({ event: :data }, { additional: :data }) # def publish(event_data, **additional_attrs) client.info("[Stenotype::Event] emitted with the following attributes") do { **event_data, **additional_attrs, } end end private def client @client ||= Logger.new(STDOUT) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stenotype-0.1.4 | lib/stenotype/adapters/stdout_adapter.rb |
stenotype-0.1.2 | lib/stenotype/adapters/stdout_adapter.rb |