Class: Utopia::Command::Environment
- Inherits:
-
Samovar::Command
- Object
- Samovar::Command
- Utopia::Command::Environment
- Defined in:
- lib/utopia/command/environment.rb
Overview
Set environment variables within the server deployment.
Instance Method Summary collapse
-
#invoke(parent) ⇒ Object
-
#update_environment(root, name = @options[:environment_name]) ⇒ Object
Setup
config/environment.yaml
according to specified options.
Instance Method Details
#invoke(parent) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/utopia/command/environment.rb', line 48 def invoke(parent) destination_root = parent.root update_environment(destination_root) do |store| variables.each do |variable| key, value = variable.split('=', 2) if value puts "ENV[#{key.inspect}] will default to #{value.inspect} unless otherwise specified." store[key] = value else puts "ENV[#{key.inspect}] will be unset unless otherwise specified." store.delete(key) end end store.roots.each do |key| value = store[key] puts "#{Rainbow(key).blue}: #{Rainbow(value.inspect).green}" end end end |
#update_environment(root, name = @options[:environment_name]) ⇒ Object
Setup config/environment.yaml
according to specified options.
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/utopia/command/environment.rb', line 37 def update_environment(root, name = @options[:environment_name]) environment_path = File.join(root, "config", "#{name}.yaml") FileUtils.mkpath File.dirname(environment_path) store = YAML::Store.new(environment_path) store.transaction do yield store end end |