Class: RakeFactory::Task
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- RakeFactory::Task
- Extended by:
- Definable
- Includes:
- Actions, Arguments, Configurable, Defaults, Parameters
- Defined in:
- lib/rake_factory/task.rb
Instance Method Summary collapse
Methods included from Definable
Methods included from Actions
Methods included from Arguments
#initialize, #process_arguments
Methods included from Defaults
Methods included from Configurable
included, #initialize, #invoke_configuration_block, #process_configuration_block
Methods included from Parameters
#check_parameter_requirements, included, #initialize, #parameter_values, #setup_parameter_defaults
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/rake_factory/task.rb', line 42 def method_missing(method, *args, &block) if @task.respond_to?(method) @task.send(method, *args, &block) else super(method, *args, &block) end end |
Instance Method Details
#define_on(application) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/rake_factory/task.rb', line 21 def define_on(application) creator = self @task = application.define_task( Rake::Task, name, argument_names => prerequisites, order_only: order_only_prerequisites ) do |_, args| invoke_configuration_block(args) check_parameter_requirements invoke_actions(args) end @task.add_description(description) @task.instance_eval do define_singleton_method(:creator) { creator } end self end |