Sha256: 09a2098b5ada86815279f7c3c16a3ec70a287ca31f2ee31b887adc82c88c7a40

Contents?: true

Size: 947 Bytes

Versions: 2

Compression:

Stored size: 947 Bytes

Contents

require "logger"

module Octave
  # Handle the configuration of the Octave agent.
  class Configuration
    # Maximum size of the queue. Default is 1500
    # @return [Numeric]
    attr_accessor :max_queue

    # Logger to be used for logging events and debugging. Default is
    # <tt>Logger.new(STDOUT)</tt>.
    attr_accessor :logger

    # Array of dispatchers to be used once a <tt>Payload</tt> has been
    # completed. Default is <tt>[Octave::Dispatcher::Logger.new]</tt>.
    # @return [Array] Array containing dispatchers
    attr_writer :dispatchers

    # Enable the agent. Default is true.
    attr_writer :enabled

    def initialize
      @max_queue = 1500
      @logger = Logger.new(STDOUT)
      @enabled = true
    end

    def dispatchers
      @dispatchers ||= [
        Octave::Dispatcher::Logger.new
      ]
    end

    # @return [Boolean] Whether or not the agent is enabled
    def enabled?
      @enabled
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
octave-0.1.1 lib/octave/configuration.rb
octave-0.1.0 lib/octave/configuration.rb