class HerokuSan::Configuration
Attributes
config_file[R]
configuration[RW]
external_configuration[RW]
options[R]
stage_factory[R]
Public Class Methods
new(configurable, stage_factory = HerokuSan::Stage)
click to toggle source
# File lib/heroku_san/configuration.rb, line 9 def initialize(configurable, stage_factory = HerokuSan::Stage) @config_file = configurable.config_file default_options = { 'deploy' => HerokuSan::Deploy::Rails } @options = default_options.merge(configurable.options || {}) @stage_factory = stage_factory end
Public Instance Methods
configured?()
click to toggle source
# File lib/heroku_san/configuration.rb, line 30 def configured? !!configuration end
generate_config()
click to toggle source
# File lib/heroku_san/configuration.rb, line 38 def generate_config # TODO: Convert true/false returns to success/exception if File.exists?(config_file) false else FileUtils.cp(template, config_file) true end end
parse()
click to toggle source
# File lib/heroku_san/configuration.rb, line 18 def parse HerokuSan::Parser.new.parse(self) end
stages()
click to toggle source
# File lib/heroku_san/configuration.rb, line 22 def stages configured? or parse configuration.inject({}) do |stages, (stage, settings)| stages[stage] = stage_factory.new(stage, settings.merge('deploy' => (options[:deploy]||options['deploy']))) stages end end
template()
click to toggle source
# File lib/heroku_san/configuration.rb, line 34 def template File.expand_path(File.join(File.dirname(__FILE__), '../templates', 'heroku.example.yml')) end