Class: Keg::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/keg/configuration.rb

Instance Method Summary collapse

Constructor Details

#initialize(root) ⇒ Configuration

Returns a new instance of Configuration.



5
6
7
# File 'lib/keg/configuration.rb', line 5

def initialize(root)
  @root = root
end

Instance Method Details

#config_pathObject



27
28
29
# File 'lib/keg/configuration.rb', line 27

def config_path
  File.join(@root, '.keg', 'config.yml')
end

#database_does_set?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
# File 'lib/keg/configuration.rb', line 31

def database_does_set?
  return false unless @config
  return false if @config['database'].nil?
  return false if @config['database'].empty?
  return true
end

#loadObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/keg/configuration.rb', line 14

def load
  begin
    @config = YAML.load_file(config_path)
  rescue Errno::ENOENT
    save ''
  end
  unless database_does_set?
    raise 'Error: Database does not set. You should set a database.'
  end

  @config['database']
end

#save(name) ⇒ Object



9
10
11
12
# File 'lib/keg/configuration.rb', line 9

def save(name)
  config = { 'database' => name }
  File.write(config_path, config.to_yaml)
end