Module: Rake

Extended by:
DSL
Defined in:
lib/rote/rotetasks.rb,
lib/rote/cache.rb

Overview

Rote adds the following methods to the Rake module. All this cool stuff was contributed by Jonathan Paisley (<jp-www at dcs gla ac uk>)

Defined Under Namespace

Classes: Application, Task

Class Method Summary collapse

Class Method Details

.cache_dirObject



31
# File 'lib/rote/cache.rb', line 31

def cache_dir; @cache_dir ||= ".rake_cache"; end

.cache_dir=(val) ⇒ Object

Directory for storing Rake dependency cache



30
# File 'lib/rote/cache.rb', line 30

def cache_dir=(val); @cache_dir = val; end

.cache_enabled=(b) ⇒ Object

Enable or disable dependency caching.



49
# File 'lib/rote/cache.rb', line 49

def cache_enabled=(b); @cache_enabled = b; end

.cache_enabled?Boolean

Determine whether dependency caching is enabled

Returns:

  • (Boolean)


40
41
42
43
44
45
46
# File 'lib/rote/cache.rb', line 40

def cache_enabled?
  if @cache_enabled.nil?
    @cache_enabled = !ENV['NO_RAKE_CACHE']
  else 
    @cache_enabled
  end
end

.cached_dependenciesObject

Hash of current cached dependencies



34
# File 'lib/rote/cache.rb', line 34

def cached_dependencies; @cached_dependencies ||= {}; end

.current_taskObject

Reference to current task being executed



38
# File 'lib/rote/cache.rb', line 38

def current_task; task_stack.last; end

.dependencies_fileObject



32
# File 'lib/rote/cache.rb', line 32

def dependencies_file; File.join(cache_dir,"dependencies.yaml"); end

.register_dependency(deps, task = nil) ⇒ Object

Use this method to dynamically register one or more files as dependencies of the currently executing task (or the specified task if non-nil).



54
55
56
57
58
59
60
# File 'lib/rote/cache.rb', line 54

def register_dependency(deps, task = nil)
  task = (current_task.name if current_task) unless task
  if task then
    file task => deps
     (cached_dependencies[task] ||= []) << deps
  end
end

.task_stackObject

Array representing current tasks being executed



36
# File 'lib/rote/cache.rb', line 36

def task_stack; @tasks ||= []; end