class HammerCLI::Defaults
Attributes
defaults_settings[R]
path[R]
Public Class Methods
new(settings, file_path = nil)
click to toggle source
# File lib/hammer_cli/defaults.rb, line 11 def initialize(settings, file_path = nil) @defaults_settings = settings || {} @path = file_path || DEFAULT_FILE end
Public Instance Methods
add_defaults_to_conf(default_options, provider)
click to toggle source
# File lib/hammer_cli/defaults.rb, line 32 def add_defaults_to_conf(default_options, provider) create_default_file if defaults_settings.nil? defaults = YAML.load_file(path) defaults[:defaults] ||= {} default_options.each do |key, value| key = key.to_sym defaults[:defaults][key] = value ? {:value => value,} : {:provider => provider} end write_to_file defaults defaults end
delete_default_from_conf(param)
click to toggle source
# File lib/hammer_cli/defaults.rb, line 25 def delete_default_from_conf(param) conf_file = YAML.load_file(path) conf_file[:defaults].delete(param) write_to_file conf_file conf_file end
get_defaults(opt)
click to toggle source
# File lib/hammer_cli/defaults.rb, line 44 def get_defaults(opt) option = opt option = opt.gsub("option_",'') if opt.include? "option_" unless defaults_settings.nil? || defaults_settings[option.to_sym].nil? if defaults_settings[option.to_sym][:provider] providers[defaults_settings[option.to_sym][:provider]].get_defaults(option.to_sym) else defaults_settings[option.to_sym][:value] end end end
providers()
click to toggle source
# File lib/hammer_cli/defaults.rb, line 21 def providers @providers ||= {} end
register_provider(provider)
click to toggle source
# File lib/hammer_cli/defaults.rb, line 17 def register_provider(provider) providers[provider.provider_name.to_s] = provider end
write_to_file(defaults)
click to toggle source
# File lib/hammer_cli/defaults.rb, line 56 def write_to_file(defaults) File.open(path,'w') do |h| h.write defaults.to_yaml end end
Protected Instance Methods
create_default_file()
click to toggle source
# File lib/hammer_cli/defaults.rb, line 66 def create_default_file if Dir.exist?(File.dirname(@path)) new_file = File.new(path, "w") new_file.write ":defaults:" new_file.close else raise DefaultsPathError.new(_("Couldn't create %s please create the path before defaults are enabled.") % path) end end