Class: Rookie::Tasks
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Rookie::Tasks
- Defined in:
- lib/rookie/tasks.rb,
lib/rookie/tasks/gem.rb,
lib/rookie/tasks/git.rb,
lib/rookie/tasks/console.rb
Overview
Provides many useful tasks, like the Gem, Git and Console tasks.
Don't forget to call #define_tasks! after creating an instance of this class!
Defined Under Namespace
Instance Attribute Summary collapse
-
#console ⇒ Object
The Console task.
-
#gem ⇒ Object
The Gem task.
-
#git ⇒ Object
The Git task.
Instance Method Summary collapse
-
#define_tasks! ⇒ Object
Defines the tasks for all initialized (not
nil) tasks. -
#initialize(gemspec, opts = {}) {|_self| ... } ⇒ Tasks
constructor
Initializes the tasks with the given gem specification and options.
Constructor Details
#initialize(gemspec, opts = {}) {|_self| ... } ⇒ Tasks
Initializes the tasks with the given gem specification and options.
Yields the new instance if given a block.
26 27 28 29 30 31 |
# File 'lib/rookie/tasks.rb', line 26 def initialize(gemspec, opts = {}) self.gem = Tasks::Gem.new gemspec self.git = Tasks::Git.new gem.spec.version.to_s self.console = Tasks::Console.new gem.spec, opts yield self if block_given? end |
Instance Attribute Details
#console ⇒ Object
The Console task.
21 22 23 |
# File 'lib/rookie/tasks.rb', line 21 def console @console end |
#gem ⇒ Object
The Gem task.
15 16 17 |
# File 'lib/rookie/tasks.rb', line 15 def gem @gem end |
#git ⇒ Object
The Git task.
18 19 20 |
# File 'lib/rookie/tasks.rb', line 18 def git @git end |
Instance Method Details
#define_tasks! ⇒ Object
Defines the tasks for all initialized (not nil) tasks.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/rookie/tasks.rb', line 34 def define_tasks! setup_tasks, clean_tasks, release_tasks = [], [], [] if git git.define_tasks! release_tasks << 'git:release' end if gem gem.define_tasks! setup_tasks << 'gem:setup' clean_tasks << 'gem:clean' release_tasks << 'gem:release' end console.define_tasks! if console desc 'Setup project' task :setup => setup_tasks desc 'Remove temporary files' task :clean => clean_tasks desc 'Release project' task :release => release_tasks + clean_tasks task :default => :setup end |