Sha256: 1f80dcf2c374714fbb43303fe0c0408ca5528dba93154c5a84c3df4a703dbde5

Contents?: true

Size: 620 Bytes

Versions: 3

Compression:

Stored size: 620 Bytes

Contents

require "glass_octopus/consumer"
require "glass_octopus/configuration"

module GlassOctopus
  # @api private
  class Application
    attr_reader :config, :processor

    def initialize(processor)
      @processor = processor
      @config    = Configuration.new
      @consumer  = nil

      yield @config
    end

    def run
      @consumer = Consumer.new(connection, processor, config.logger)
      @consumer.run
    end

    def shutdown
      @consumer.shutdown if @consumer
      nil
    end

    def logger
      config.logger
    end

    def connection
      config.connection_adapter.connect
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
glass_octopus-2.2.0 lib/glass_octopus/application.rb
glass_octopus-2.1.0 lib/glass_octopus/application.rb
glass_octopus-2.0.0 lib/glass_octopus/application.rb