Class: ClassifyCluster::Configurator::Configuration
- Inherits:
-
Object
- Object
- ClassifyCluster::Configurator::Configuration
- Defined in:
- lib/classify_cluster/configurator/configuration.rb
Instance Attribute Summary collapse
-
#clusters ⇒ Object
readonly
Returns the value of attribute clusters.
Instance Method Summary collapse
- #cluster(cluster_name, &block) ⇒ Object
-
#initialize(config_path) ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize(config_path) ⇒ Configuration
Returns a new instance of Configuration.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/classify_cluster/configurator/configuration.rb', line 6 def initialize(config_path) @clusters = {} case File.extname(config_path) when ".rb" eval File.open(config_path).read when ".yml" config = YAML.load_file(config_path) config.each_pair do |cluster_name, cluster_values| cluster(cluster_name) do |cluster| cluster_values['klasses'].each do |klass| cluster.klass klass end cluster_values['variables'].each_pair do |variable_name, variable_value| cluster.variable variable_name, variable_value end cluster_values['nodes'].each do |node_values| cluster.node(node_values['hostname'], node_values['ip_address']) do |node| node_values['roles'].each_pair do |role_name, role_values| ={} ['primary'] = true if role_values.delete('primary') ['backup'] = true if role_values.delete('backup') ['master'] = true if role_values.delete('master') ['node'] = true if role_values.delete('node') node.role(role_name, ) do |role| role_values.each_pair do |role_value_name, role_value| role.variable role_value_name, role_value end end end end end end end end end |
Instance Attribute Details
#clusters ⇒ Object (readonly)
Returns the value of attribute clusters.
5 6 7 |
# File 'lib/classify_cluster/configurator/configuration.rb', line 5 def clusters @clusters end |
Instance Method Details
#cluster(cluster_name, &block) ⇒ Object
42 43 44 |
# File 'lib/classify_cluster/configurator/configuration.rb', line 42 def cluster(cluster_name, &block) @clusters[cluster_name] = ClassifyCluster::Configurator::Cluster.new(cluster_name, &block) end |