module Fantaskspec::RakeExampleGroup
Public Class Methods
included(klass)
click to toggle source
# File lib/fantaskspec/rake_example_group.rb, line 8 def self.included(klass) klass.instance_eval do let(:task_names) { ::Rake::Task.tasks.map(&:name) } let(:task_name) do descriptions = self.class.parent_groups.map(&:description) name = descriptions.find do |description| task_names.include?(description) end if name.nil? raise AmbiguousNameError, "unable to infer the name of the task. Please rename your describe/context or specify your task name via `let(:task_name) { ... }`" end name end let(:task) { ::Rake::Task[task_name] } subject { task } include(Module.new do def to_task_arguments(*task_args) Rake::TaskArguments.new(task.arg_names, task_args) end end) end end