Sha256: 96c19a0319fb43ff08a34a3ba6ce5512df70099dc6ccb28db3cebdc1036371ae

Contents?: true

Size: 499 Bytes

Versions: 15

Compression:

Stored size: 499 Bytes

Contents

class ConfigStore
  attr_reader :file

  def initialize(file)
    @file = file
  end

  def load
    @config ||= YAML::load(open(file))
    self
  end

  def [](key)
    load
    @config[key]
  end

  def []=(key, value)
    @config[key] = value
  end

  def delete(*keys)
    keys.each { |key| @config.delete(key) }
    save
    self
  end

  def update(c={})
    @config.merge!(c)
    save
    self
  end

  def save
    File.open(file, 'w') { |f| f.write(YAML.dump(@config)) }
    self
  end
end

Version data entries

15 entries across 15 versions & 7 rubygems

Version Path
rorra-twitter-0.9.9 examples/helpers/config_store.rb
twitter-multi-0.9.8.3 examples/helpers/config_store.rb
twitter-multi-0.9.8.2 examples/helpers/config_store.rb
teambox-client-0.2.0 examples/helpers/config_store.rb
twitter-multi-0.9.8.1 examples/helpers/config_store.rb
joelind-twitter-0.10.2 examples/helpers/config_store.rb
joelind-twitter-0.10.1 examples/helpers/config_store.rb
joelind-twitter-0.9.9 examples/helpers/config_store.rb
jlind-twitter-0.9.9 examples/helpers/config_store.rb
teambox-client-0.1.1 examples/helpers/config_store.rb
twitter-jruby-0.9.7.2010061001 examples/helpers/config_store.rb
twitter-jruby-0.9.5.2010052501 examples/helpers/config_store.rb
twitter-jruby-0.9.5.2010050701 examples/helpers/config_store.rb
secobarbital-twitter-0.9.2.2 examples/helpers/config_store.rb
secobarbital-twitter-0.9.2.1 examples/helpers/config_store.rb