class Bricolage::CommonApplicationOptions
Constants
- OptionValue
Attributes
parser[R]
Public Instance Methods
common_options()
click to toggle source
Accessors
# File lib/bricolage/application.rb, line 256 def common_options @opts end
log_path_format()
click to toggle source
# File lib/bricolage/application.rb, line 260 def log_path_format if opt = @opts['log-dir'] and opt.value LogFilePath.new("#{opt.value}/%{std}.log") elsif opt = @opts['log-path'] and opt.value LogFilePath.new(opt.value) else nil end end
log_s3_ds()
click to toggle source
# File lib/bricolage/application.rb, line 270 def log_s3_ds s3_log_spec.first end
log_s3_key_format()
click to toggle source
# File lib/bricolage/application.rb, line 274 def log_s3_key_format s3_log_spec.last end
merge_saved_options(vars)
click to toggle source
# File lib/bricolage/application.rb, line 236 def merge_saved_options(vars) saved = {} @opts_default.keys.each do |key| if val = vars.get_force(key) saved[key] = OptionValue.new("bricolage.yml:#{key}", val) end end @opts_saved = saved build_common_options! end
s3_log_spec()
click to toggle source
# File lib/bricolage/application.rb, line 278 def s3_log_spec @s3_log_spec ||= if opt = @opts['s3-log'] and spec = opt.value ds, k = spec.split(':', 2) k = k.to_s.strip key = k.empty? ? nil : k [ds, LogFilePath.new(key || '%{std}.log')] else [nil, nil] end end
Private Instance Methods
build_common_options!()
click to toggle source
# File lib/bricolage/application.rb, line 247 def build_common_options! @opts = [@opts_default, @opts_saved, @opts_env, @opts_cmdline].inject({}) {|h, opts| h.update(opts); h } end
define_common_options()
click to toggle source
abstract :define_options
# File lib/bricolage/application.rb, line 223 def define_common_options @parser.on('-L', '--log-dir=PATH', 'Log file prefix.') {|path| @opts_cmdline['log-dir'] = OptionValue.new('--log-dir option', path) } @parser.on('--log-path=PATH', 'Log file path template.') {|path| @opts_cmdline['log-path'] = OptionValue.new('--log-path option', path) } @parser.on('--s3-log=DS_KEY', 'S3 log file. (format: "DS:KEY")') {|spec| @opts_cmdline['s3-log'] = OptionValue.new('--s3-log option', spec) } end
init_options()
click to toggle source
# File lib/bricolage/application.rb, line 187 def init_options @opts = nil # valid only after #parse! @opts_default = opts_default() @opts_saved = {} @opts_env = opts_env() @opts_cmdline = {} @parser = OptionParser.new define_options @parser end
opts_default()
click to toggle source
# File lib/bricolage/application.rb, line 200 def opts_default { 'log-path' => OptionValue.new('default value', nil), 'log-dir' => OptionValue.new('default value', nil), 's3-log' => OptionValue.new('default value', nil) } end
opts_env()
click to toggle source
# File lib/bricolage/application.rb, line 209 def opts_env env = {} if path = ENV['BRICOLAGE_LOG_PATH'] env['log-path'] = OptionValue.new('env BRICOLAGE_LOG_PATH', path) end if path = ENV['BRICOLAGE_LOG_DIR'] env['log-dir'] = OptionValue.new('env BRICOLAGE_LOG_DIR', path) end env end