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,
lib/rookie/tasks/console.rb

Defined Under Namespace

Classes: Console, Gem, Git

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Tasks.

Yields:

  • (_self)

Yield Parameters:

  • _self (Rookie::Tasks)

    the object that the method was called on



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

def initialize(gemspec = nil, 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?
  define
end

Instance Attribute Details

#consoleObject

Returns the value of attribute console.



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

def console
  @console
end

#gemObject

Returns the value of attribute gem.



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

def gem
  @gem
end

#gitObject

Returns the value of attribute git.



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

def git
  @git
end

Instance Method Details

#defineObject



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

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