class CF::App::Env
Constants
- VALID_ENV_VAR
Public Instance Methods
env()
click to toggle source
# File lib/cf/cli/app/env.rb, line 11 def env app = input[:app] vars = with_progress("Getting env for #{c(app.name, :name)}") do |s| app.env end line unless quiet? vars.each do |name, val| line "#{c(name, :name)}: #{val}" end end
set_env()
click to toggle source
# File lib/cf/cli/app/env.rb, line 34 def set_env app = input[:app] name, value = parse_name_and_value! with_progress("Updating env variable #{c(name, :name)} for app #{c(app.name, :name)}") do app.env[name] = value app.update! end restart_if_necessary(app) end
unset_env()
click to toggle source
# File lib/cf/cli/app/env.rb, line 52 def unset_env app = input[:app] name = input[:name] with_progress("Unsetting #{c(name, :name)} for app #{c(app.name, :name)}") do app.env.delete(name) app.update! end restart_if_necessary(app) end
Private Instance Methods
parse_name_and_value!()
click to toggle source
# File lib/cf/cli/app/env.rb, line 80 def parse_name_and_value! name = input[:name] value = input[:value] if name["="] name, new_value, extra_values = name.split("=") fail "You attempted to specify the value of #{name} twice." if value fail "Invalid format: environment variable definition contains too many occurences of '='" if extra_values value = new_value end unless name =~ VALID_ENV_VAR fail "Invalid format: environment variable names cannot start with a number" if name[0] =~ /\d/ fail "Invalid format: environment variable names can only contain alphanumeric characters and underscores" end return name, value end
restart_if_necessary(app)
click to toggle source
# File lib/cf/cli/app/env.rb, line 66 def restart_if_necessary(app) unless input[:restart] line c("TIP: Use 'truck push' to ensure your env variable changes take effect.", :warning) return end if app.started? invoke :restart, :app => app else line "Your app was unstarted. Starting now." invoke :start, :app => app end end