class HerokuSan::Project
Attributes
config_file[R]
configuration[W]
options[R]
Public Class Methods
new(config_file = nil, options = {})
click to toggle source
# File lib/heroku_san/project.rb, line 8 def initialize(config_file = nil, options = {}) @config_file = config_file @options = options @apps = [] end
Public Instance Methods
<<(*app)
click to toggle source
# File lib/heroku_san/project.rb, line 34 def <<(*app) app.flatten.each do |a| @apps << a if all.include?(a) end self end
[](stage)
click to toggle source
# File lib/heroku_san/project.rb, line 30 def [](stage) stages[stage] end
all()
click to toggle source
# File lib/heroku_san/project.rb, line 26 def all stages.keys end
apps()
click to toggle source
# File lib/heroku_san/project.rb, line 41 def apps if @apps && !@apps.empty? @apps else @apps = if all.size == 1 $stdout.puts "Defaulting to #{all.first.inspect} since only one app is defined" all else active_branch = self.git_active_branch all.select do |app| app == active_branch and ($stdout.puts("Defaulting to '#{app}' as it matches the current branch"); true) end end end end
configuration()
click to toggle source
# File lib/heroku_san/project.rb, line 18 def configuration @configuration ||= HerokuSan::Configuration.new(self) end
create_config()
click to toggle source
# File lib/heroku_san/project.rb, line 22 def create_config HerokuSan::Configuration.new(self).generate_config end
each_app() { |self| ... }
click to toggle source
# File lib/heroku_san/project.rb, line 57 def each_app raise NoApps if apps.empty? HerokuSan::Parser.new.merge_external_config!(configuration, stages.values) apps.each do |stage| yield self[stage] end end
stages()
click to toggle source
# File lib/heroku_san/project.rb, line 14 def stages @stages ||= configuration.stages end