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
- .cache_dir ⇒ Object
-
.cache_dir=(val) ⇒ Object
Directory for storing Rake dependency cache.
-
.cache_enabled=(b) ⇒ Object
Enable or disable dependency caching.
-
.cache_enabled? ⇒ Boolean
Determine whether dependency caching is enabled.
-
.cached_dependencies ⇒ Object
Hash of current cached dependencies.
-
.current_task ⇒ Object
Reference to current task being executed.
- .dependencies_file ⇒ Object
-
.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).
-
.task_stack ⇒ Object
Array representing current tasks being executed.
Class Method Details
.cache_dir ⇒ Object
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
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_dependencies ⇒ Object
Hash of current cached dependencies
33 |
# File 'lib/rote/cache.rb', line 33 def cached_dependencies; @cached_dependencies ||= {}; end |
.current_task ⇒ Object
Reference to current task being executed
37 |
# File 'lib/rote/cache.rb', line 37 def current_task; task_stack.last; end |
.dependencies_file ⇒ Object
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_stack ⇒ Object
Array representing current tasks being executed
35 |
# File 'lib/rote/cache.rb', line 35 def task_stack; @tasks ||= []; end |