Class: ConfigMgr

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

Overview

dAnarchy_sys config management

Instance Method Summary collapse

Constructor Details

#initializeConfigMgr

Returns a new instance of ConfigMgr.



6
7
8
9
# File 'lib/danarchy_sys/config.rb', line 6

def initialize
  @danarchysys_path = File.realpath(File.join(File.dirname(__FILE__), '..', '..'))
  @config_file = File.join(@danarchysys_path, 'config', 'danarchysys.yml')
end

Instance Method Details

#config_templateObject



11
12
13
14
15
16
# File 'lib/danarchy_sys/config.rb', line 11

def config_template
  config_template = {
    :connections => {},
    :settings => {}
  }
end

#connection_add(provider, openstack_auth_url, openstack_username, openstack_api_key, openstack_tenant) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/danarchy_sys/config.rb', line 30

def connection_add(provider, openstack_auth_url, openstack_username, openstack_api_key, openstack_tenant)
  danarchysys_config = load

  danarchysys_config[:connections][provider.to_sym] = {
    openstack_auth_url: openstack_auth_url,
    openstack_username: openstack_username,
    openstack_api_key: openstack_api_key,
    openstack_tenant: openstack_tenant
  }

  danarchysys_config
end

#connection_delete(provider) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/danarchy_sys/config.rb', line 43

def connection_delete(provider)
  danarchysys_config = load

  danarchysys_config[:connections].delete(provider.to_sym)

  danarchysys_config
end

#loadObject



18
19
20
21
22
23
24
# File 'lib/danarchy_sys/config.rb', line 18

def load
  if File.exists?(@config_file)
    return YAML.load_file(@config_file)
  else
    return config_template
  end
end

#save(param_hash) ⇒ Object



26
27
28
# File 'lib/danarchy_sys/config.rb', line 26

def save(param_hash)
  File.write(@config_file, param_hash.to_yaml)
end

#setting_add(name, value) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/danarchy_sys/config.rb', line 51

def setting_add(name, value)
  danarchysys_config = load

  danarchysys_config[:settings][name.to_sym] = value

  danarchysys_config
end

#setting_delete(name) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/danarchy_sys/config.rb', line 59

def setting_delete(name)
  danarchysys_config = load

  danarchysys_config[:settings].delete(name.to_sym)

  danarchysys_config
end