class ConfigEnv::Tasks::Heroku

Public Class Methods

new(app=nil) click to toggle source
# File lib/config_env/rake_tasks.rb, line 9
def initialize(app=nil)
  @app = app
  unless ConfigEnv.path.nil?
    fail unless load(ConfigEnv.path)
  end
end

Public Instance Methods

upload_env_to_heroku() click to toggle source
# File lib/config_env/rake_tasks.rb, line 16
def upload_env_to_heroku
  puts "Configure Heroku according to config_env[#{environment}]"
  heroku("config:set #{vars}")
  puts ''
  puts heroku('config')
end

Private Instance Methods

`(command) click to toggle source
Calls superclass method
# File lib/config_env/rake_tasks.rb, line 44
def `(command)
  Bundler.with_clean_env { super }
end
environment() click to toggle source
# File lib/config_env/rake_tasks.rb, line 35
def environment
  @environment ||= heroku("run 'echo $RACK_ENV'").chomp[/(\w+)\z/]
end
heroku(command) click to toggle source
# File lib/config_env/rake_tasks.rb, line 39
def heroku(command)
  with_app = @app ? " --app #{@app}" : ''
  `heroku #{command}#{with_app}`
end
puts(message) click to toggle source
Calls superclass method
# File lib/config_env/rake_tasks.rb, line 25
def puts(message)
  super unless ENV['RACK_ENV'] == 'test'
end
vars() click to toggle source
# File lib/config_env/rake_tasks.rb, line 29
def vars
  ConfigEnv.vars(environment).map { |key, value|
    "#{key}=#{Shellwords.escape(value)}"
  }.sort.join(" ")
end