Sha256: 5edc4ea39e59907b78c64a1a15339e0c0eccda11f331c2d2d4d4250acc837f58

Contents?: true

Size: 887 Bytes

Versions: 3

Compression:

Stored size: 887 Bytes

Contents

module Percheron
  module Commands
    class Abstract < Clamp::Command

      DEFAULT_CONFIG_FILE = '.percheron.yml'

      option [ '-c', '--config_file' ], 'CONFIG', 'Configuration file', default: DEFAULT_CONFIG_FILE

      option '--version', :flag, 'show version' do
        puts Percheron::VERSION
        exit(0)
      end

      def self.default_parameters!
        parameter('STACK_NAME', 'stack name', required: false)
        parameter('CONTAINER_NAMES', 'container names', required: false, default: []) do |container_names|
          container_names.split(/,/)
        end
      end

      def default_config_file
        ENV.fetch('PERCHERON_CONFIG', DEFAULT_CONFIG_FILE)
      end

      def config
        @config ||= Percheron::Config.new(config_file)
      rescue Errors::ConfigFileInvalid => e
        $logger.error e.message
        exit(1)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
percheron-0.6.3 lib/percheron/commands/abstract.rb
percheron-0.6.2 lib/percheron/commands/abstract.rb
percheron-0.6.1 lib/percheron/commands/abstract.rb