Sha256: 031ae81b11ad7800cf57a8e6e887e45ddc6692208fc053e3f2f16bbf3b8a3fa5
Contents?: true
Size: 1.27 KB
Versions: 7
Compression:
Stored size: 1.27 KB
Contents
module Percheron module Commands class Abstract < Clamp::Command option([ '-c', '--config_file' ], 'CONFIG', 'Config file', default: Config::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: true) parameter('CONTAINER_NAMES', 'container names', default: [], required: false) do |container_names| container_names.split(/,/) end end def self.default_create_parameters! default_parameters! option('--start', :flag, 'Start container', default: false) end def execute stack.valid? rescue => e signal_usage_error(e.message) end def stack return NullStack.new if stack_name.nil? Percheron::Stack.new(config, stack_name) end def default_config_file ENV.fetch('PERCHERON_CONFIG', Config::DEFAULT_CONFIG_FILE) end def config @config ||= Percheron::Config.load!(config_file) rescue Errors::ConfigFileInvalid => e $logger.error e.message exit(1) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems