class Hat::Stage

Attributes

configuration[RW]
name[RW]

Public Class Methods

new(name, configuration, list) click to toggle source
# File lib/hat/stage.rb, line 5
def initialize name, configuration, list
  self.name = name.to_sym
  self.configuration = configuration
end

Public Instance Methods

define_task(recipes) click to toggle source
# File lib/hat/stage.rb, line 14
def define_task(recipes)
  conf = self.configuration
  name = self.name

  task = Rake::Task.define_task(name) do
    invoke 'load:defaults'
    conf.each do  |k, v|
      set k.to_sym, v
    end
    recipes.list.each{|l| load "#{recipes.dir}/recipes/#{l}.rb" }
    set(:stage, name)
    load "capistrano/#{fetch(:scm)}.rb"
    I18n.locale = fetch(:locale, :en)
    configure_backend
  end

end
set_defaults(defaults) click to toggle source
# File lib/hat/stage.rb, line 10
def set_defaults(defaults)
  configuration.merge!(Hash[defaults])
end