Sha256: 278b955c6c4e96a8a1cb77c7e688a5ed51ef722081480ceee0d18d3d0a2c43c7

Contents?: true

Size: 917 Bytes

Versions: 27

Compression:

Stored size: 917 Bytes

Contents

# Redefine instead of chain a Rake task
# http://www.bigbold.com/snippets/posts/show/2032

module Rake
  module TaskManager
    def redefine_task(task_class, args, &block)
      task_name, deps = resolve_args(args)
      task_name = task_class.scope_name(@scope, task_name)
      deps = [deps] unless deps.respond_to?(:to_ary)
      deps = deps.collect {|d| d.to_s }
      task = @tasks[task_name.to_s] = task_class.new(task_name, self)
      task.application = self
      task.add_comment(@last_comment)
      @last_comment = nil
      task.enhance(deps, &block)
      task
    end
  end
  class Task
    class << self
      def redefine_task(args, &block)
        Rake.application.redefine_task(self, args, &block)
      end
    end
  end
end

class Object
  def silently
    stderr, stdout, $stderr, $stdout = $stderr, $stdout, StringIO.new, StringIO.new
    yield
    $stderr, $stdout = stderr, stdout
  end
end

Version data entries

27 entries across 27 versions & 6 rubygems

Version Path
radiant-tags-extension-1.6.10 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
johnsbrn-has_many_polymorphs-2.13.1 lib/has_many_polymorphs/rake_task_redefine_task.rb
johnsbrn-has_many_polymorphs-2.13.3 lib/has_many_polymorphs/rake_task_redefine_task.rb
johnsbrn-has_many_polymorphs-2.13.4 lib/has_many_polymorphs/rake_task_redefine_task.rb
johnsbrn-has_many_polymorphs-2.13 lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.9 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.8 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.7 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.6 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.5 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.4 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.3 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.2 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.1 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.6.0 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
radiant-tags-extension-1.5.1 vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb
bmaland-has_many_polymorphs-2.5.0 lib/has_many_polymorphs/rake_task_redefine_task.rb
kronn-has_many_polymorphs-3.0.3 lib/has_many_polymorphs/rake_task_redefine_task.rb
kronn-has_many_polymorphs-3.0.2 lib/has_many_polymorphs/rake_task_redefine_task.rb
kronn-has_many_polymorphs-3.0.1 lib/has_many_polymorphs/rake_task_redefine_task.rb