Class: Vermillion::Cfg
- Inherits:
-
Object
- Object
- Vermillion::Cfg
- Defined in:
- lib/client/config.rb
Instance Method Summary collapse
-
#bootstrap! ⇒ Object
Perform first run tasks and create or read config file values.
-
#get(name) ⇒ Object
- Get a specific value from the config file data Params:
name
-
String/symbol key value.
- Get a specific value from the config file data Params:
-
#options ⇒ Object
Returns a hash of all module constants and their values.
-
#populate_config ⇒ Object
Populates the internal hash which stores any values set in the config file.
Instance Method Details
#bootstrap! ⇒ Object
Perform first run tasks and create or read config file values
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/client/config.rb', line 7 def bootstrap! populate_config return if valid_config? # no config file found, lets create one using the firstrun controller require 'client/controller/firstrun' controller = Vermillion::Controller::Firstrun.new controller.default populate_config end |
#get(name) ⇒ Object
Get a specific value from the config file data Params:
name
-
String/symbol key value
42 43 44 |
# File 'lib/client/config.rb', line 42 def get(name) @yml[name.to_sym] end |
#options ⇒ Object
Returns a hash of all module constants and their values
22 23 24 25 26 27 28 |
# File 'lib/client/config.rb', line 22 def keys = Vermillion.constants.select { |name| constant?(name) } hash = {} keys.each { |key| hash[key] = Vermillion.const_get(key) } hash end |
#populate_config ⇒ Object
Populates the internal hash which stores any values set in the config file
31 32 33 34 35 36 37 |
# File 'lib/client/config.rb', line 31 def populate_config file = File.("~/.vermillion.yml") fmt = Vermillion::Helper.load('formatting') @yml = fmt.symbolize(::YAML.load_file(file)) self end |