Class: HammerCLI::Defaults
- Inherits:
-
Object
- Object
- HammerCLI::Defaults
show all
- Defined in:
- lib/hammer_cli/defaults.rb
Defined Under Namespace
Classes: DefaultsError, DefaultsPathError
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(settings, file_path = nil) ⇒ Defaults
Returns a new instance of Defaults.
11
12
13
14
15
|
# File 'lib/hammer_cli/defaults.rb', line 11
def initialize(settings, file_path = nil)
@defaults_settings = settings || {}
@path = file_path || DEFAULT_FILE
end
|
Instance Attribute Details
#defaults_settings ⇒ Object
Returns the value of attribute defaults_settings.
9
10
11
|
# File 'lib/hammer_cli/defaults.rb', line 9
def defaults_settings
@defaults_settings
end
|
Instance Method Details
#add_defaults_to_conf(default_options, provider) ⇒ Object
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/hammer_cli/defaults.rb', line 31
def add_defaults_to_conf(default_options, provider)
create_default_file if defaults_settings.empty?
update_defaults_file do |defaults|
default_options.each do |key, value|
key = key.to_sym
defaults.delete_if { |k,| defaults_match?(k, key) }
defaults[key] = (value ? {:value => value,} : {:provider => provider})
end
end
end
|
#defaults_set?(param) ⇒ Boolean
42
43
44
|
# File 'lib/hammer_cli/defaults.rb', line 42
def defaults_set?(param)
defaults_settings.keys.any? { |k| defaults_match?(k, param) }
end
|
#delete_default_from_conf(param) ⇒ Object
25
26
27
28
29
|
# File 'lib/hammer_cli/defaults.rb', line 25
def delete_default_from_conf(param)
update_defaults_file do |defaults|
defaults.delete_if { |k,| defaults_match?(k, param) }
end
end
|
#get_defaults(opt) ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/hammer_cli/defaults.rb', line 46
def get_defaults(opt)
option = opt
option = opt.gsub("option_",'') if opt.include? "option_"
unless defaults_settings.nil?
option_key = defaults_settings[option.to_sym].nil? ? option.gsub('_','-').to_sym : option.to_sym
return nil if defaults_settings[option_key].nil?
if defaults_settings[option_key][:provider]
providers[defaults_settings[option_key][:provider]].get_defaults(option.to_sym)
else
defaults_settings[option_key][:value]
end
end
end
|
#providers ⇒ Object
21
22
23
|
# File 'lib/hammer_cli/defaults.rb', line 21
def providers
@providers ||= {}
end
|
#register_provider(provider) ⇒ Object
17
18
19
|
# File 'lib/hammer_cli/defaults.rb', line 17
def register_provider(provider)
providers[provider.provider_name.to_s] = provider
end
|
#write_to_file(defaults) ⇒ Object
61
62
63
64
65
|
# File 'lib/hammer_cli/defaults.rb', line 61
def write_to_file(defaults)
File.open(path,'w') do |h|
h.write defaults.to_yaml
end
end
|