| Class | BoxGrinder::Config |
| In: |
lib/boxgrinder-core/models/config.rb
lib/boxgrinder-core/models/config.rb |
| Parent: | OpenCascade |
# File lib/boxgrinder-core/models/config.rb, line 25
25: def initialize(values = {})
26: super({})
27:
28: merge!(
29: :file => ENV['BG_CONFIG_FILE'] || "#{ENV['HOME']}/.boxgrinder/config",
30: :name => 'BoxGrinder Build',
31: :platform => :none,
32: :delivery => :none,
33: :force => false,
34: :log_level => :info,
35: :backtrace => false,
36: :dir => {
37: :root => Dir.pwd,
38: :build => 'build',
39: :cache => '/var/cache/boxgrinder' # required for appliance-creator
40: },
41: :os_config => {},
42: :platform_config => {},
43: :delivery_config => {},
44: :additional_plugins => []
45: )
46:
47: merge!(values.inject({}) { |memo, (k, v)| memo[k.to_sym] = v; memo })
48:
49: deep_merge(self, YAML.load_file(self.file)) if File.exists?(self.file)
50: end
# File lib/boxgrinder-core/models/config.rb, line 25
25: def initialize(values = {})
26: super({})
27:
28: merge!(
29: :file => ENV['BG_CONFIG_FILE'] || "#{ENV['HOME']}/.boxgrinder/config",
30: :name => 'BoxGrinder Build',
31: :platform => :none,
32: :delivery => :none,
33: :force => false,
34: :log_level => :info,
35: :backtrace => false,
36: :dir => {
37: :root => Dir.pwd,
38: :build => 'build',
39: :cache => '/var/cache/boxgrinder' # required for appliance-creator
40: },
41: :os_config => {},
42: :platform_config => {},
43: :delivery_config => {},
44: :additional_plugins => []
45: )
46:
47: merge!(values.inject({}) { |memo, (k, v)| memo[k.to_sym] = v; memo })
48:
49: deep_merge(self, YAML.load_file(self.file)) if File.exists?(self.file)
50: end
# File lib/boxgrinder-core/models/config.rb, line 52
52: def deep_merge(first, second)
53: second.each_key do |k|
54: if first[k.to_sym].is_a?(Hash) and second[k].is_a?(Hash)
55: deep_merge(first[k.to_sym], second[k])
56: else
57: first[k.to_sym] = second[k]
58: end
59: end if second
60: end