Sha256: f2a66c940b1139c5c374be8ebfa3c7f2b833f838d27f05581c01fa895d0492f9
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
module HerokuSan class Configuration attr_reader :config_file attr_accessor :configuration attr_accessor :external_configuration attr_reader :options attr_reader :stage_factory 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 def parse HerokuSan::Parser.new.parse(self) end 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 def configured? !!configuration end def template File.expand_path(File.join(File.dirname(__FILE__), '../templates', 'heroku.example.yml')) end 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 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
heroku_san-4.4.0 | lib/heroku_san/configuration.rb |
heroku_san-4.3.2 | lib/heroku_san/configuration.rb |
heroku_san-4.3.1 | lib/heroku_san/configuration.rb |