Sha256: 047faa24502395e137f1b06c7630fd6c4cc7fbf4f6115e614c6609dcd778ff4f
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
module Evertils class Cfg # default values for initialization def initialize @yml = {} end # Perform first run tasks and create or read config file values def bootstrap! populate_config return if valid_config? # no config file found, lets create one using the firstrun controller require 'client/controller/firstrun' controller = Evertils::Controller::Firstrun.new controller.default populate_config end # Returns a hash of all module constants and their values def options keys = Evertils.constants.select { |name| constant?(name) } hash = {} keys.each { |key| hash[key] = Evertils.const_get(key) } hash end # Populates the internal hash which stores any values set in the config file def populate_config file = File.expand_path("~/.evertils/config.yml") fmt = Evertils::Helper.load('Formatting') @yml = fmt.symbolize(::YAML.load_file(file)) self end # Get a specific value from the config file data # Params: # +name+:: String/symbol key value def get(name, child = nil) return @yml[name.to_sym][child.to_sym] unless child.nil? @yml[name.to_sym] end # Checks if a key exists # Params: # +name+:: String/symbol key value def exist?(name, child = nil) return @yml[name].key?(child.to_sym) unless child.nil? @yml.key?(name.to_sym) end private # Check if configuration data exists def valid_config? !@yml.nil? end # Checks if string is a constant def constant?(name) name == name.upcase end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
evertils-0.4.0 | lib/evertils/config.rb |