Module: Rake

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



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

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

.cache_dir=(val) ⇒ Object

Directory for storing Rake dependency cache



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

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

.cache_enabled=(b) ⇒ Object

Enable or disable dependency caching.



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

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

.cache_enabled?Boolean

Determine whether dependency caching is enabled

Returns:

  • (Boolean)


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

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



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

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

.current_taskObject

Reference to current task being executed



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

def current_task; task_stack.last; end

.dependencies_fileObject



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

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).



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

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



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

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