rookie 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rookie/tasks.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rookie/tasks/console'
1
2
  require 'rookie/tasks/gem'
2
3
  require 'rookie/tasks/git'
3
4
  require 'rake/tasklib'
@@ -5,11 +6,12 @@ require 'rake/tasklib'
5
6
  module Rookie
6
7
  class Tasks < ::Rake::TaskLib
7
8
 
8
- attr_accessor :gem, :git
9
+ attr_accessor :gem, :git, :console
9
10
 
10
- def initialize(gemspec = nil)
11
+ def initialize(gemspec = nil, opts = {})
11
12
  self.gem = Tasks::Gem.new gemspec
12
13
  self.git = Tasks::Git.new gem.spec.version.to_s
14
+ self.console = Tasks::Console.new gem.spec, opts
13
15
  yield self if block_given?
14
16
  define
15
17
  end
@@ -0,0 +1,40 @@
1
+ require 'rake/tasklib'
2
+
3
+ module Rookie
4
+ class Tasks < ::Rake::TaskLib
5
+ class Console < ::Rake::TaskLib
6
+
7
+ attr_accessor :spec, :program
8
+ attr_writer :command
9
+
10
+ def command
11
+ @command ||= generate_command_string
12
+ end
13
+
14
+ def initialize(spec, opts = {})
15
+ self.spec = spec
16
+ self.program = opts.fetch :program, 'irb'
17
+ self.command = opts.fetch :command, nil
18
+ yield self if block_given?
19
+ define
20
+ end
21
+
22
+ def define
23
+ desc 'Starts an interactive ruby session with your gem loaded'
24
+ task :console do
25
+ sh command
26
+ end
27
+ end
28
+
29
+ def generate_command_string
30
+ program.dup.tap do |command_string|
31
+ spec.require_paths.each do |path|
32
+ command_string << ' -I ' << path
33
+ end
34
+ command_string << ' -r ' << spec.name
35
+ end
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -2,7 +2,7 @@ module Rookie
2
2
  module Version
3
3
 
4
4
  MAJOR = 0
5
- MINOR = 1
5
+ MINOR = 2
6
6
  PATCH = 0
7
7
  BUILD = nil
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rookie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-29 00:00:00.000000000 Z
12
+ date: 2011-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &9454460 !ruby/object:Gem::Requirement
16
+ requirement: &8062140 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *9454460
24
+ version_requirements: *8062140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: git
27
- requirement: &9453980 !ruby/object:Gem::Requirement
27
+ requirement: &8412880 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *9453980
35
+ version_requirements: *8412880
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &9453440 !ruby/object:Gem::Requirement
38
+ requirement: &8415740 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *9453440
46
+ version_requirements: *8415740
47
47
  description: Simple Rake tasks that make life easier.
48
48
  email: matheus.a.m.moreira@gmail.com
49
49
  executables: []
@@ -58,6 +58,7 @@ files:
58
58
  - Rakefile
59
59
  - lib/rookie.rb
60
60
  - lib/rookie/tasks.rb
61
+ - lib/rookie/tasks/console.rb
61
62
  - lib/rookie/tasks/gem.rb
62
63
  - lib/rookie/tasks/git.rb
63
64
  - lib/rookie/version.rb
@@ -77,7 +78,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
78
  version: '0'
78
79
  segments:
79
80
  - 0
80
- hash: -671215581459161431
81
+ hash: -846523606221964485
81
82
  required_rubygems_version: !ruby/object:Gem::Requirement
82
83
  none: false
83
84
  requirements:
@@ -86,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
87
  version: '0'
87
88
  segments:
88
89
  - 0
89
- hash: -671215581459161431
90
+ hash: -846523606221964485
90
91
  requirements: []
91
92
  rubyforge_project:
92
93
  rubygems_version: 1.8.10