Parent

Class/Module Index [+]

Quicksearch

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

[Validate]

Generated with the Darkfish Rdoc Generator 2.