Class: Vermillion::Cfg

Inherits:
Object
  • Object
show all
Defined in:
lib/client/config.rb

Instance Method Summary collapse

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

#optionsObject

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 options
  keys = Vermillion.constants.select { |name| constant?(name) }
  hash = {}

  keys.each { |key| hash[key] = Vermillion.const_get(key) }
  hash
end

#populate_configObject

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.expand_path("~/.vermillion.yml")
  fmt = Vermillion::Helper.load('formatting')

  @yml = fmt.symbolize(::YAML.load_file(file))
  self
end