Class: Configuration::Environment
- Inherits:
-
Object
- Object
- Configuration::Environment
- Defined in:
- lib/configuration/environment_config.rb
Instance Attribute Summary collapse
-
#env_variables ⇒ Object
readonly
Returns the value of attribute env_variables.
Instance Method Summary collapse
- #configure_group(name, &block) ⇒ Object
- #generate_output_file(output_env_file) ⇒ Object
-
#initialize ⇒ Environment
constructor
A new instance of Environment.
Constructor Details
#initialize ⇒ Environment
Returns a new instance of Environment.
10 11 12 |
# File 'lib/configuration/environment_config.rb', line 10 def initialize @env_variables=[] end |
Instance Attribute Details
#env_variables ⇒ Object (readonly)
Returns the value of attribute env_variables.
8 9 10 |
# File 'lib/configuration/environment_config.rb', line 8 def env_variables @env_variables end |
Instance Method Details
#configure_group(name, &block) ⇒ Object
14 15 16 17 18 |
# File 'lib/configuration/environment_config.rb', line 14 def configure_group(name, &block) group_config = Configuration::Group.new(name) block.call(group_config) @env_variables.push(group_config.group_hash) end |
#generate_output_file(output_env_file) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/configuration/environment_config.rb', line 21 def generate_output_file(output_env_file) output_file = File.open(output_env_file, 'w') sb = StringIO.new config_groups_sorted_by_name = @env_variables.sort_by { |config_group| config_group[:group_name] } config_groups_sorted_by_name.each do |config_group| sb.puts "### #{config_group[:group_name].upcase} configurations, generated at #{Time.now}" sb.puts config_group[:variables] .sort_by{ |variable| variable.keys[0] } .each { |config_group_env_variable| sb.puts configure_env_variable(config_group_env_variable) } sb.puts end output_file.puts sb.string end |