Class: Rookie::Tasks

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/rookie/tasks.rb,
lib/rookie/tasks/gem.rb,
lib/rookie/tasks/git.rb

Defined Under Namespace

Classes: Gem, Git

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(gemspec = nil) {|_self| ... } ⇒ Tasks

Returns a new instance of Tasks.

Yields:

  • (_self)

Yield Parameters:

  • _self (Rookie::Tasks)

    the object that the method was called on



10
11
12
13
14
15
# File 'lib/rookie/tasks.rb', line 10

def initialize(gemspec = nil)
  self.gem = Tasks::Gem.new gemspec
  self.git = Tasks::Git.new gem.spec.version.to_s
  yield self if block_given?
  define
end

Instance Attribute Details

#gemObject

Returns the value of attribute gem.



8
9
10
# File 'lib/rookie/tasks.rb', line 8

def gem
  @gem
end

#gitObject

Returns the value of attribute git.



8
9
10
# File 'lib/rookie/tasks.rb', line 8

def git
  @git
end

Instance Method Details

#defineObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/rookie/tasks.rb', line 17

def define
  setup_tasks, clean_tasks, release_tasks = [], [], []

  if git
    release_tasks << 'git:release'
  end

  if gem
    setup_tasks << 'gem:setup'
    clean_tasks << 'gem:clean'
    release_tasks << 'gem:release'
  end

  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