Module: Issuesrc::Config

Defined in:
lib/issuesrc/config.rb

Class Method Summary collapse

Class Method Details

.option_from_args(option, args, flags = {}) ⇒ Object



17
18
19
20
# File 'lib/issuesrc/config.rb', line 17

def self.option_from_args(option, args, flags = {})
  value = args.fetch(option, nil)
  option_from_check_require(option, value, flags)
end

.option_from_both(option_args, option_config, args, config, flags = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/issuesrc/config.rb', line 7

def self.option_from_both(option_args, option_config, args, config,
                          flags = {})
  value = option_from_args(option_args, args)
  if value.nil?
    value = option_from_config(option_config, config)
  end
  option_from_check_require(
    "#{option_args} or #{option_config.join('.')}", value, flags)
end

.option_from_config(option, config, flags = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/issuesrc/config.rb', line 22

def self.option_from_config(option, config, flags = {})
  value = config
  option.each do |part|
    if !value.include?(part)
      value = nil
      break
    end
    value = value[part]
  end
  option_from_check_require(option.join('.'), value, flags)
end

.report_missing_in_config(option) ⇒ Object



3
4
5
# File 'lib/issuesrc/config.rb', line 3

def self.report_missing_in_config(option)
  Issuesrc::exec_fail "Missing config entry: #{option}"
end