class Kitchen::RakeTasks
Kitchen
Rake task generator.
@author Fletcher Nichol <fnichol@nichol.ca>
Attributes
config[R]
@return [Config] a Kitchen::Config
Public Class Methods
new(cfg = {}) { |self| ... }
click to toggle source
Creates Kitchen
Rake tasks and allows the callee to configure it.
@yield [self] gives itself to the block
# File lib/kitchen/rake_tasks.rb, line 30 def initialize(cfg = {}) @loader = Kitchen::Loader::YAML.new( project_config: ENV["KITCHEN_YAML"], local_config: ENV["KITCHEN_LOCAL_YAML"], global_config: ENV["KITCHEN_GLOBAL_YAML"] ) @config = Kitchen::Config.new( { loader: @loader }.merge(cfg) ) Kitchen.logger = Kitchen.default_file_logger(nil, false) yield self if block_given? define end
Private Instance Methods
define()
click to toggle source
Generates a test Rake task for each instance and one to test all instances in serial.
@api private
# File lib/kitchen/rake_tasks.rb, line 53 def define namespace "kitchen" do kitchen_commands = %w{create converge setup verify destroy} config.instances.each do |instance| desc "Run #{instance.name} test instance" task instance.name do instance.test(:always) end kitchen_commands.each do |cmd| namespace cmd do task instance.name do instance.send(cmd) end desc "Run all #{cmd} instances" task "all" => config.instances.map(&:name) end end end desc "Run all test instances" task "all" => config.instances.map(&:name) kitchen_commands.each { |cmd| task cmd => "#{cmd}:all" } end end