Sha256: d4b072dd8456d89334729a79ee0abc582408c86d348fb221dea344d66317ba6c

Contents?: true

Size: 1.33 KB

Versions: 19

Compression:

Stored size: 1.33 KB

Contents

require 'hashr'
require 'logger'
require 'evrone/ci/common/tagged_logging'

module Evrone
  module CI
    module Worker
      class Configuration < ::Hashr

        extend Hashr::EnvDefaults

        @@null_logger = Logger.new("/dev/null")

        self.env_namespace = 'ci_worker'
        self.raise_missing_keys = true

        define amqp_url:     nil,
               run:          "docker",
               timeout:      30 * 60,
               logger:       Common::TaggedLogging.new(Logger.new STDOUT),

               tmp_dir_name: "tmp",

               workers:          1,
               path_prefix:      nil,

               docker: {
                 remote_dir: "/home/ci",
                 init:       %w{ /usr/bin/runsvdir -P /etc/service },
                 image:      "ci",

                 ssh: {
                   host:     nil, # used in tests
                   port:     nil, # used in tests
                   user:     "ci",
                   password: "ci"
                 },

                 create_options: nil # used in tests
               }

        def timeout
          self[:timeout].to_i
        end

        def run
          self[:run].to_sym
        end

        def path_prefix
          self[:path_prefix] || Dir.pwd
        end

        def null_logger
          @@null_logger
        end

      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
evrone-ci-worker-0.2.0.pre26 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre25 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre24 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre23 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre22 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre21 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre20 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre19 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre18 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre17 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre15 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre14 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre13 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre12 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre11 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre10 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre9 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre8 lib/evrone/ci/worker/configuration.rb
evrone-ci-worker-0.2.0.pre7 lib/evrone/ci/worker/configuration.rb