class TrianglePattern::RakeTask
Attributes
description[R]
logger[R]
name[R]
task_arguments[R]
task_block[R]
verbose[R]
working_directory[R]
Public Class Methods
new(opts = {}, &task_block)
click to toggle source
# File lib/triangle_pattern/rake_task.rb, line 19 def initialize(opts = {}, &task_block) @options = { description: nil, name: self.class.to_s.split(/::/).slice(-2..-1).join(':').gsub(/Task$/, ''), arguments: [], logger: ::Logger.new($stderr), working_directory: Dir.getwd }.merge opts before_initialize raise ArgumentError, :description if @options[:description].nil? @description = @options[:description] @task_arguments = Array(@options[:arguments]) @task_block = task_block @logger = @options[:logger] @working_directory = @options[:working_directory] @name = @options[:name] after_initialize define_task end
Public Instance Methods
include(modules)
click to toggle source
Include module in instance
# File lib/triangle_pattern/rake_task.rb, line 68 def include(modules) modules = Array(modules) modules.each { |m| self.class.include m } end
instance_binding()
click to toggle source
# File lib/triangle_pattern/rake_task.rb, line 63 def instance_binding binding end
Private Instance Methods
after_initialize()
click to toggle source
# File lib/triangle_pattern/rake_task.rb, line 44 def after_initialize; end
before_initialize()
click to toggle source
# File lib/triangle_pattern/rake_task.rb, line 46 def before_initialize; end
define_task()
click to toggle source
# File lib/triangle_pattern/rake_task.rb, line 48 def define_task desc description unless ::Rake.application.last_comment task name, *task_arguments do |_, task_args| RakeFileUtils.__send__(:verbose, verbose) do instance_exec(*[self, task_args].slice(0, task_block.arity), &task_block) if task_block.respond_to? :call run_task verbose end end end
run_task(_verbose)
click to toggle source
# File lib/triangle_pattern/rake_task.rb, line 59 def run_task(_verbose); end