Class: Config::Integrations::Heroku
- Inherits:
-
Struct
- Object
- Struct
- Config::Integrations::Heroku
- Defined in:
- lib/config/integrations/heroku.rb
Instance Attribute Summary collapse
-
#app ⇒ Object
Returns the value of attribute app.
Instance Method Summary collapse
- #`(command) ⇒ Object
- #environment ⇒ Object
- #heroku(command) ⇒ Object
- #invoke ⇒ Object
- #to_dotted_hash(source, target = {}, namespace = nil) ⇒ Object
- #vars ⇒ Object
Instance Attribute Details
#app ⇒ Object
Returns the value of attribute app
5 6 7 |
# File 'lib/config/integrations/heroku.rb', line 5 def app @app end |
Instance Method Details
#`(command) ⇒ Object
37 38 39 |
# File 'lib/config/integrations/heroku.rb', line 37 def `(command) Bundler.with_clean_env { super } end |
#environment ⇒ Object
28 29 30 |
# File 'lib/config/integrations/heroku.rb', line 28 def environment heroku("run 'echo $RAILS_ENV'").chomp[/(\w+)\z/] end |
#heroku(command) ⇒ Object
32 33 34 35 |
# File 'lib/config/integrations/heroku.rb', line 32 def heroku(command) with_app = app ? " --app #{app}" : "" `heroku #{command}#{with_app}` end |
#invoke ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/config/integrations/heroku.rb', line 6 def invoke puts 'Setting vars...' heroku_command = "config:set #{vars}" heroku(heroku_command) puts 'Vars set:' puts heroku_command end |
#to_dotted_hash(source, target = {}, namespace = nil) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/config/integrations/heroku.rb', line 41 def to_dotted_hash(source, target = {}, namespace = nil) prefix = "#{namespace}." if namespace case source when Hash source.each do |key, value| to_dotted_hash(value, target, "#{prefix}#{key}") end when Array source.each_with_index do |value, index| to_dotted_hash(value, target, "#{prefix}#{index}") end else target[namespace] = source end target end |
#vars ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/config/integrations/heroku.rb', line 14 def vars # Load only local options to Heroku Config.load_and_set_settings( Rails.root.join("config", "settings.local.yml").to_s, Rails.root.join("config", "settings", "#{environment}.local.yml").to_s, Rails.root.join("config", "environments", "#{environment}.local.yml").to_s ) out = '' dotted_hash = to_dotted_hash Kernel.const_get(Config.const_name).to_hash, {}, Config.const_name dotted_hash.each {|key, value| out += " #{key}=#{value} "} out end |