class Fuel::Util::Config

Constants

CONFIG_FILENAME
CONFIG_PATH

Public Class Methods

add(key, value) click to toggle source
# File lib/fuel/util/config.rb, line 38
def self.add(key, value)
  ensure_config_exists

  config = load
  config[key] ||= []
  config[key] << value
  save(config)
end
get(*keys) click to toggle source
# File lib/fuel/util/config.rb, line 24
def self.get(*keys)
  ensure_config_exists

  config = load
  keys.inject(config, :fetch)
rescue KeyError
  nil
end
get64(*keys) click to toggle source
# File lib/fuel/util/config.rb, line 33
def self.get64(*keys)
  value = self.get(*keys)
  value && Base64::decode64(value)
end
set(*keys, value) click to toggle source
# File lib/fuel/util/config.rb, line 10
def self.set(*keys, value)
  ensure_config_exists

  config = load
  key = keys.pop
  h = keys.inject(config) { |memo, k| memo[k] ||= {}; memo[k] }
  h[key] = value
  save(config)
end
set64(*keys, value) click to toggle source
# File lib/fuel/util/config.rb, line 20
def self.set64(*keys, value)
  self.set(*keys, Base64::encode64(value))
end

Private Class Methods

ensure_config_exists() click to toggle source
# File lib/fuel/util/config.rb, line 57
def self.ensure_config_exists
  FileUtils.mkdir_p(CONFIG_PATH)
  FileUtils.touch(CONFIG_FILENAME)
end
load() click to toggle source
# File lib/fuel/util/config.rb, line 49
def self.load
  @config ||= (YAML.load_file(CONFIG_FILENAME) || {})
end
save(config) click to toggle source
# File lib/fuel/util/config.rb, line 53
def self.save(config)
  File.open(CONFIG_FILENAME, "w") { |f| f.write(YAML.dump(config)) }
end