class HerokuRails::HerokuTargets

Constants

DEFAULTS_KEY

Attributes

staging_targets[R]
targets[R]

Public Class Methods

from_file(yaml_file) click to toggle source
# File lib/heroku_rails/heroku_targets.rb, line 13
def from_file(yaml_file)
  new(YAML.safe_load(File.read(yaml_file)))
end
from_string(heroku_targets_yml) click to toggle source
# File lib/heroku_rails/heroku_targets.rb, line 9
def from_string(heroku_targets_yml)
  new(YAML.safe_load(heroku_targets_yml))
end
new(targets_hash) click to toggle source
# File lib/heroku_rails/heroku_targets.rb, line 22
def initialize(targets_hash)
  defaults = if targets_hash.keys.first == DEFAULTS_KEY
    targets_hash.delete(DEFAULTS_KEY)
  else
    {}
  end
  specified = targets_hash.collect { |name, values|
    heroku_target = HerokuTarget.new(defaults.merge(values), name)
    [heroku_target.heroku_app, heroku_target]
  }
  built_in = [["local", LocalProxy.new(defaults)]]
  @targets = TargetsContainer[(specified + built_in)].freeze
  @staging_targets = TargetsContainer[@targets.select { |_name, target| target.staging? }]
end