Sha256: d220b64829ac302e61829b1d60b865b1c2626d3685e3641269708a66a5821243

Contents?: true

Size: 680 Bytes

Versions: 5

Compression:

Stored size: 680 Bytes

Contents

require 'gconf2'

module Ppds
  class Config
    @@gconf = GConf::Client.default

    def gconf
      @@gconf
    end

    def initialize(app)
      @root = '/apps/%s' % app
      gconf.add_dir(@root)
    end

    def name_from_key(key)
      key.split('/').last
    end

    def key_from_name(name)
      [ @root, name ].join("/")
    end

    def all
      gconf.all_entries(@root)
    end

    def get(name)
      gconf[key_from_name(name)]
    end

    def set(name, value)
      gconf[key_from_name(name)] = value
    end

    def save
      gconf.suggest_sync
    end

    def destroy
      for one in all
        gconf.unset(one.key)
      end
      save
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
themactep-fliewr-2.0.0 lib/ppds/config.rb
themactep-fliewr-2.0.1 lib/ppds/config.rb
themactep-fliewr-2.0.2 lib/ppds/config.rb
themactep-grumblr-2.0.0 lib/ppds/config.rb
themactep-ppds-libs-1.0.0 lib/ppds/config.rb