module Statistrano::Config::RakeTaskWithContextCreation

Public Class Methods

included(base) click to toggle source
# File lib/statistrano/config/rake_task_with_context_creation.rb, line 6
def self.included base
  base.module_eval do
    def user_task_namespaces
      @_user_task_namespaces ||= []
    end

    def user_tasks
      @_user_tasks ||= []
    end
  end
end

Public Instance Methods

namespace(namespace, &block) click to toggle source
# File lib/statistrano/config/rake_task_with_context_creation.rb, line 18
def namespace namespace, &block
  context = Context.new (user_task_namespaces + [namespace])
  context.instance_eval &block
  user_tasks.push *context.user_tasks
end
task(name, desc=nil, &block) click to toggle source
# File lib/statistrano/config/rake_task_with_context_creation.rb, line 24
def task name, desc=nil, &block
  task = { name: name,
           namespaces: user_task_namespaces,
           block: block }
  task.merge!(desc: desc) if desc

  user_tasks.push task
end
user_task_namespaces() click to toggle source
# File lib/statistrano/config/rake_task_with_context_creation.rb, line 8
def user_task_namespaces
  @_user_task_namespaces ||= []
end
user_tasks() click to toggle source
# File lib/statistrano/config/rake_task_with_context_creation.rb, line 12
def user_tasks
  @_user_tasks ||= []
end