Class: Dployr::Configuration
- Inherits:
-
Object
- Object
- Dployr::Configuration
show all
- Includes:
- Utils
- Defined in:
- lib/dployr/configuration.rb
Constant Summary
Constants included
from Utils
Utils::MERGE_OPTIONS
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Utils
deep_copy, deep_merge, get_by_key, get_real_key, has, merge, replace_env_vars, replace_placeholders, replace_vars, template, traverse_map, traverse_mapper
Constructor Details
#initialize(attributes = {}) {|_self| ... } ⇒ Configuration
Returns a new instance of Configuration.
10
11
12
13
14
15
16
17
|
# File 'lib/dployr/configuration.rb', line 10
def initialize(attributes = {})
@default = nil
@config = nil
@instances = []
@merged = false
@attributes = attributes.is_a?(Hash) ? attributes : {}
yield self if block_given?
end
|
Instance Attribute Details
#default ⇒ Object
Returns the value of attribute default.
8
9
10
|
# File 'lib/dployr/configuration.rb', line 8
def default
@default
end
|
#instances ⇒ Object
Returns the value of attribute instances.
8
9
10
|
# File 'lib/dployr/configuration.rb', line 8
def instances
@instances
end
|
Instance Method Details
#add_instance(name, config) ⇒ Object
27
28
29
30
|
# File 'lib/dployr/configuration.rb', line 27
def add_instance(name, config)
@instances << create_instance(name, config) if config.is_a? Hash
@instances.last
end
|
#each(type = :providers) ⇒ Object
74
75
76
77
|
# File 'lib/dployr/configuration.rb', line 74
def each(type = :providers)
config = get_config_all
config.each { |i| yield i if block_given? }
end
|
#exists? ⇒ Boolean
19
20
21
|
# File 'lib/dployr/configuration.rb', line 19
def exists?
(!@default.nil? or @instances.length >= 1)
end
|
#get_config(name, attributes = {}) ⇒ Object
37
38
39
40
41
42
|
# File 'lib/dployr/configuration.rb', line 37
def get_config(name, attributes = {})
instance = get_instance name
attributes = @attributes.merge (attributes or {})
raise "Instance do not exists" if instance.nil?
render_config name, instance, attributes
end
|
#get_config_all(attributes = {}) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/dployr/configuration.rb', line 44
def get_config_all(attributes = {})
config = []
@instances.each do |i|
config << get_config(i.name, attributes)
end
config
end
|
#get_instance(name) ⇒ Object
32
33
34
35
|
# File 'lib/dployr/configuration.rb', line 32
def get_instance(name)
@instances.each { |i| return i if i.name.to_s == name.to_s }
nil
end
|
#get_provider(name, provider, attributes = {}) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/dployr/configuration.rb', line 52
def get_provider(name, provider, attributes = {})
config = get_config name, attributes
if config.is_a? Hash
config = config[get_real_key(config, :providers)]
if config.is_a? Hash
provider_data = config[get_real_key(config, provider)]
raise "Provider #{provider} for #{name} do not exists" unless provider_data
provider_data
end
end
end
|
#get_region(name, provider, region, attributes = {}) ⇒ Object
64
65
66
67
68
69
70
71
72
|
# File 'lib/dployr/configuration.rb', line 64
def get_region(name, provider, region, attributes = {})
provider = get_provider name, provider, attributes
if provider.is_a? Hash
regions = get_by_key provider, :regions
region_data = get_by_key regions, region
raise "Region #{region} for #{name} do not exists" unless region_data
region_data
end
end
|
#set_default(config) ⇒ Object
23
24
25
|
# File 'lib/dployr/configuration.rb', line 23
def set_default(config)
@default = create_instance 'default', config if config.is_a? Hash
end
|