tumbler 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,23 @@
1
+ require File.join(File.dirname(__FILE__),'teststrap')
2
+
3
+ context "GemspecHelper" do
4
+ setup { @dir, @app = create_bare_app('test') }
5
+ setup { @helper = Tumbler::GemspecHelper.new(@app) }
6
+ teardown { FileUtils.rm_rf(@dir) }
7
+
8
+ asserts(:name).equals 'test'
9
+ asserts(:version).equals '0.0.0'
10
+ asserts(:files).equivalent_to ["CHANGELOG", "Gemfile", "Rakefile", "Tumbler", "lib/test.rb", "lib/test/version.rb", "test.gemspec"]
11
+ asserts(:date).equals Time.new.strftime("%Y-%m-%d")
12
+
13
+ context "inject_dependencies" do
14
+ setup do
15
+ spec = Gem::Specification.new
16
+ File.open("#{@app.base}/Gemfile", 'a') {|f| f.puts "gem 'test', '>= 0.0.5'"}
17
+ @app.reload
18
+ @helper.inject_dependencies(spec) ; spec
19
+ end
20
+ asserts(:runtime_dependencies).equals [Gem::Dependency.new('test', '>= 0.0.5')]
21
+ asserts(:development_dependencies).equals [Gem::Dependency.new('tumbler', '>= 0', :development)]
22
+ end
23
+ end
@@ -0,0 +1,81 @@
1
+ require File.join(File.dirname(__FILE__),'teststrap')
2
+
3
+ context "Generate" do
4
+ setup { @test_dir = temp_dir('test') }
5
+ teardown { $".delete "tumbler/gemspec.rb" } # we need to delete this so each gemspec can be generated fresh
6
+ teardown{ FileUtils.rm_rf(@test_dir) }
7
+
8
+ context "suppress changelog creation if disabled" do
9
+ setup { Tumbler::Generate.app(@test_dir, 'mygem', :changelog => nil).write }
10
+ asserts("has changelog") { File.exist? File.join(@test_dir, "CHANGELOG") }.not!
11
+ end
12
+
13
+ context "generate mygem directory" do
14
+ setup { Tumbler::Generate.app(@test_dir, 'mygem').write }
15
+ asserts("dir exists") { File.exist? File.join(@test_dir, "lib", "mygem") }
16
+ end
17
+
18
+ context "generate the mygem.rb file" do
19
+ setup do
20
+ Tumbler::Generate.app(@test_dir, 'my_gem').write
21
+ File.join(@test_dir, "lib", 'my_gem.rb')
22
+ end
23
+ asserts("it exists") { File.exist? topic }
24
+ asserts("has module") { File.read(topic) }.matches %r{module MyGem #:nodoc}
25
+ asserts("has require") { File.read(topic) }.matches %r{require 'my_gem/version'\n}
26
+ end
27
+
28
+ context "generate the mygem.rb file without the version require if no version is being used" do
29
+ setup do
30
+ Tumbler::Generate.app(@test_dir, 'my_gem', :version => nil).write
31
+ File.join(@test_dir, "lib", 'my_gem.rb')
32
+ end
33
+ asserts("exists") { File.exists? topic }
34
+ asserts("module") { File.read topic }.matches %r{module MyGem #:nodoc}
35
+ asserts("require") { File.read(topic) =~ %r{require 'my_gem/version'\n} }
36
+ end
37
+
38
+ context "generate the gem constant correctly with -" do
39
+ setup { Tumbler::Generate.app(@test_dir, 'my-gem').write }
40
+ asserts("My::Gem") { File.read File.join(@test_dir, 'lib','my-gem','version.rb') }.matches %r{My::Gem}
41
+ end
42
+
43
+ context "generate the gem constant correctly with _" do
44
+ setup { Tumbler::Generate.app(@test_dir, 'my_gem').write }
45
+ asserts("MyGem") { File.read File.join(@test_dir, 'lib','my_gem','version.rb') }.matches %r{MyGem}
46
+ end
47
+
48
+ context "generate a gemspec" do
49
+ setup do
50
+ Tumbler::Generate.app(@test_dir, 'mygem').write
51
+ Gem::Specification.load("#{@test_dir}/mygem.gemspec")
52
+ end
53
+ asserts(:dependencies).equals [Gem::Dependency.new('tumbler', '>=0', :development)]
54
+ end
55
+
56
+ context "generate a Rakefile" do
57
+ setup { Tumbler::Generate.app(@test_dir, 'mygem').write }
58
+ asserts("Rakefile") { File.exist?("#{@test_dir}/Rakefile") }
59
+ end
60
+
61
+ context "accepts an extra dependency" do
62
+ setup do
63
+ Tumbler::Generate.app(@test_dir, 'mygem', :dependencies => 'eventmachine').write
64
+ Gem::Specification.load("#{@test_dir}/mygem.gemspec")
65
+ end
66
+ asserts(:dependencies).includes Gem::Dependency.new('tumbler', '>=0', :development)
67
+ asserts(:dependencies).includes Gem::Dependency.new('eventmachine', '>=0', :runtime)
68
+ asserts(:dependencies).size 2
69
+ end
70
+
71
+ context "accepts an extra dependency with a version" do
72
+ setup do
73
+ Tumbler::Generate.app(@test_dir, 'mygem', :dependencies => [['eventmachine', '>=1.0.0']]).write
74
+ Gem::Specification.load("#{@test_dir}/mygem.gemspec")
75
+ end
76
+ asserts(:dependencies).includes Gem::Dependency.new('tumbler', '>=0', :development)
77
+ asserts(:dependencies).includes Gem::Dependency.new('eventmachine', '>=1.0.0', :runtime)
78
+ asserts(:dependencies).size 2
79
+ end
80
+
81
+ end
@@ -0,0 +1,76 @@
1
+ require File.join(File.dirname(__FILE__),'teststrap')
2
+
3
+ context "Tasks" do
4
+ setup { ENV['RUBYLIB'] = File.expand_path(File.join(__DIR__, '..', 'lib')) }
5
+
6
+ context "should gem.build" do
7
+ setup { @tumbler, @dir, @remote_dir = create_app }
8
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
9
+ setup { @tumbler.gem.build }
10
+ asserts("gem exists") { File.exist?("#{@tumbler.base}/pkg/test-0.0.0.gem") }
11
+ end
12
+
13
+ context "version bumping" do
14
+
15
+ context "shouldn't write a new tag" do
16
+ setup { @tumbler, @dir, @remote_dir = create_app }
17
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
18
+ setup { @tumbler.bump_and_commit(:minor) }
19
+ asserts("has tag") { @tumbler.tags }.equals ['0.0.0']
20
+ end
21
+
22
+ context "should increment the locally stored version" do
23
+ setup { @tumbler, @dir, @remote_dir = create_app }
24
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
25
+ setup { @tumbler.bump_and_commit(:minor) ; @tumbler.reload }
26
+ asserts("has right version") { @tumbler.version.to_s }.equals '0.1.0'
27
+ end
28
+
29
+ context "should successfully push after a bump" do
30
+ setup { @tumbler, @dir, @remote_dir = create_app }
31
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
32
+ setup do
33
+ Tumbler::Gem.any_instance.stubs(:push).once.returns(true)
34
+ @tumbler.bump_and_commit(:minor)
35
+ @tumbler.tag_and_push
36
+ @tumbler.reload
37
+ end
38
+ asserts("has right version") { @tumbler.version.to_s }.equals '0.1.0'
39
+ asserts("has right tags") { @tumbler.tags }.equals %w(0.0.0 0.1.0)
40
+ end
41
+
42
+ context "shouldn't commit the changed changelog on a simple bump" do
43
+ setup { @tumbler, @dir, @remote_dir = create_app }
44
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
45
+ setup { @tumbler.bump_and_commit(:minor) }
46
+ asserts("git status") { @tumbler.sh('git status') }.matches %r{modified:\s+CHANGELOG}
47
+ end
48
+
49
+ end
50
+
51
+ context "version bumping & pushing" do
52
+ context "should create a nice changelog" do
53
+ setup { @tumbler, @dir, @remote_dir = create_app }
54
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
55
+ setup do
56
+ Tumbler::Gem.any_instance.stubs(:push).times(4).returns(true)
57
+ @tumbler.sh 'touch test1; git add test1; git commit test1 -m"Added test1"'
58
+ @tumbler.bump_and_push(:minor)
59
+ @tumbler.sh 'touch test2; git add test2; git commit test2 -m"Added test2"'
60
+ @tumbler.sh 'touch test2-1; git add test2-1; git commit test2-1 -m"Added test2-1"'
61
+ @tumbler.bump_and_push(:minor)
62
+ @tumbler.sh 'touch test3; git add test3; git commit test3 -m"Added test3"'
63
+ @tumbler.bump_and_push(:minor)
64
+ @tumbler.sh 'touch test4; git add test4; git commit test4 -m"Added test4"'
65
+ @tumbler.bump_and_push(:minor)
66
+ @tumbler.reload
67
+ File.read(@tumbler.changelog.file)
68
+ end
69
+ asserts_topic.matches %r{== 0\.4\.0\s+\* Added test4 \(.*?\)\n\n==}
70
+ asserts_topic.matches %r{== 0\.3\.0\s+\* Added test3 \(.*?\)\n\n==}
71
+ asserts_topic.matches %r{== 0\.2\.0\s+\* Added test2-1 \(.*?\)\n\* Added test2 \(.*?\)\n\n==}
72
+ asserts_topic.matches %r{== 0\.1\.0\s+\* Added test1 \(.*?\)\n\n$}
73
+ end
74
+ end
75
+
76
+ end
data/test/teststrap.rb ADDED
@@ -0,0 +1,72 @@
1
+ require 'rubygems'
2
+ require 'tempfile'
3
+ require 'fileutils'
4
+ require 'riot'
5
+ require 'mocha'
6
+
7
+ $LOAD_PATH << File.basename(__FILE__)
8
+ $LOAD_PATH << File.join(File.basename(__FILE__), '..', 'lib')
9
+ require 'tumbler'
10
+
11
+ Tumbler::Gem.any_instance.stubs(:install).raises
12
+ Tumbler::Gem.any_instance.stubs(:push).raises
13
+
14
+
15
+ Riot.reporter = Riot::DotMatrixReporter
16
+ class Riot::Situation
17
+
18
+ def create_app(name='test', opts={})
19
+ @dir = temp_dir(name)
20
+ @remote_dir = temp_dir("remote-#{name}.git")
21
+ Tumbler::Generate.app(@dir, name, opts).write
22
+ Dir.chdir(@remote_dir) { `git --bare init` }
23
+ remote = opts[:remote] || "file://#{@remote_dir}"
24
+ Dir.chdir(@dir) {
25
+ `git remote add origin #{remote}`
26
+ `git push origin master`
27
+ }
28
+ [Tumbler::Manager.new(@dir), @dir, @remote_dir]
29
+ end
30
+
31
+ def create_bare_app(name, opts = {})
32
+ dir = temp_dir(name)
33
+ Tumbler::Generate.app(dir, name, opts).write
34
+ tumbler = Tumbler::Manager.new(dir)
35
+ [dir, tumbler]
36
+ end
37
+
38
+ def temp_dir(name)
39
+ dir = File.join(Dir.tmpdir, rand(10000).to_s, "#{Process.pid}-#{name}")
40
+ FileUtils.rm_rf(dir)
41
+ FileUtils.mkdir_p(dir)
42
+ if block_given?
43
+ begin
44
+ yield dir
45
+ ensure
46
+ FileUtils.rm_rf(dir)
47
+ end
48
+ else
49
+ dir
50
+ end
51
+ end
52
+
53
+ end
54
+
55
+ class Riot::Context
56
+
57
+ end
58
+
59
+ class Object
60
+ def capture(stream)
61
+ begin
62
+ stream = stream.to_s
63
+ eval "$#{stream} = StringIO.new"
64
+ yield
65
+ result = eval("$#{stream}").string
66
+ ensure
67
+ eval("$#{stream} = #{stream.upcase}")
68
+ end
69
+ result
70
+ end
71
+
72
+ end
@@ -0,0 +1,80 @@
1
+ require File.join(File.dirname(__FILE__),'teststrap')
2
+ require 'fakeweb'
3
+ FakeWeb.allow_net_connect = false
4
+
5
+
6
+ context "Updater" do
7
+ setup do
8
+ @bin = File.expand_path(File.join(File.dirname(__FILE__), '..', 'bin', 'tumbler'))
9
+ @target = '/tmp/test'
10
+ FileUtils.mkdir_p(@target)
11
+ capture(:stdout) { Tumbler::Cli.start(['rails',"-r=#{@target}"]) }
12
+ end
13
+ teardown do
14
+ FileUtils.rm_rf @target
15
+ $".delete "tumbler/gemspec.rb" # we need to delete this so each gemspec can be generated fresh
16
+ end
17
+
18
+ context "fetches the version number" do
19
+ setup do
20
+ FakeWeb.register_uri(:get, "http://rubygems.org/api/v1/gems/rails.json", :body => '{ "name": "rails", "info": "Rails is a framework for building web-application using CGI, FCGI, mod_ruby, or WEBrick on top of either MySQL, PostgreSQL, SQLite, DB2, SQL Server, or Oracle with eRuby- or Builder-based templates.", "version": "2.3.5", "version_downloads": 2451, "authors": "David Heinemeier Hansson", "downloads": 134451, "project_uri": "http://rubygems.org/gems/rails", "gem_uri": "http://rubygems.org/gems/rails-2.3.5.gem", "dependencies": { "runtime": [ { "name": "activesupport", "requirements": ">= 2.3.5" } ], "development": [ ] }}')
21
+ File.unlink("#{@target}/rails/lib/rails/version.rb")
22
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
23
+ File.read("#{@target}/rails/lib/rails/version.rb")
24
+ end
25
+ asserts_topic.matches %r{2\.3\.5}
26
+ end
27
+
28
+ context "generates a CHANGELOG" do
29
+ setup do
30
+ File.unlink("#{@target}/rails/CHANGELOG")
31
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
32
+ end
33
+ asserts("file exists") { File.exist?("#{@target}/rails/CHANGELOG") }
34
+ end
35
+
36
+ context "does not append anything to the Rakefile as it already has the tumbler tasks in it" do
37
+ setup do
38
+ @rakefile = File.read("#{@target}/rails/Rakefile")
39
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
40
+ end
41
+ asserts("same rakefile") { @rakefile == File.read("/tmp/test/rails/Rakefile") }
42
+ end
43
+
44
+ context "append the Tumbler tasks if they don't already exist" do
45
+ setup do
46
+ File.open("#{@target}/rails/Rakefile", 'w') {|f| f.puts '# Some other rake file'}
47
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
48
+ end
49
+ asserts("finds use_rake_tasks once") do
50
+ File.read("#{@target}/rails/Rakefile").scan(/require 'tumbler'\nTumbler\.use_rake_tasks/)
51
+ end.size 1
52
+ end
53
+
54
+ context "does not append anything to the gemspec if it already is using tumbler" do
55
+ setup do
56
+ @gemspec = File.read("#{@target}/rails/rails.gemspec")
57
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
58
+ end
59
+ asserts("doesn't change") { File.read("#{@target}/rails/rails.gemspec") == @gemspec }
60
+ end
61
+
62
+ context "append inject_dependencies if its doesn't exist" do
63
+ setup do
64
+ File.open("#{@target}/rails/Rakefile", 'w') {|f| f.puts '# Some other gemspec file'}
65
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
66
+ end
67
+ asserts("finds inject_dependencies once") do
68
+ File.read("#{@target}/rails/rails.gemspec").scan(/Tumbler::Gemspec.inject_dependencies/)
69
+ end.size 1
70
+ end
71
+
72
+ context "add a Tumbler config file if it doesn't exist" do
73
+ setup do
74
+ File.unlink("#{@target}/rails/Tumbler")
75
+ Tumbler::Updater.new("#{@target}/rails", :name => 'rails').update
76
+ end
77
+ asserts("adds Tumbler file") { File.exist?("#{@target}/rails/Tumbler") }
78
+ end
79
+
80
+ end
@@ -0,0 +1,31 @@
1
+ require File.join(File.dirname(__FILE__),'teststrap')
2
+
3
+ context 'Version' do
4
+ setup { @tumbler, @dir, @remote_dir = create_app('test', :version => '0.1.2') }
5
+ setup { Tumbler::Gem.any_instance.stubs(:push).once.returns(true) }
6
+ teardown { FileUtils.rm_rf @dir ; FileUtils.rm_rf @remote_dir }
7
+ asserts("right version") { @tumbler.version.to_s }.equals '0.1.2'
8
+
9
+ context "should bump the current version by minor" do
10
+ setup { @tumbler.bump_and_push(:minor) }
11
+ asserts("right version") { @tumbler.version.to_s }.equals '0.2.0'
12
+ asserts("has tags") { @tumbler.tags }.includes '0.2.0'
13
+ end
14
+
15
+ context "should bump the current version by tiny" do
16
+ setup { @tumbler.bump_and_push(:tiny) }
17
+ asserts("right version") { @tumbler.version.to_s }.equals '0.1.3'
18
+ end
19
+
20
+ context "should bump the current version by major" do
21
+ setup { @tumbler.bump_and_push(:major) }
22
+ asserts("right version") { @tumbler.version.to_s }.equals '1.0.0'
23
+ end
24
+
25
+ context "should not let you tag the same version twice" do
26
+ setup { @tumbler.bump_and_push(:major) }
27
+ asserts("right version") { @tumbler.version.to_s }.equals '1.0.0'
28
+ asserts("should fail") { @tumbler.tag_and_push(:major) }.raises ArgumentError
29
+ end
30
+
31
+ end
data/tumbler.gemspec CHANGED
@@ -10,7 +10,8 @@ Gem::Specification.new do |s|
10
10
  s.rubyforge_project = Tumbler::Gemspec.name
11
11
  s.authors = ["Joshua Hull"]
12
12
  s.date = Tumbler::Gemspec.date
13
- s.description = %q{Description}
13
+ s.description = "Let's make gem development fun and remove all the repetition! Tumbler provides support for common gem management tasks which helps you spend less time dealing with gem releases and more time focusing on your gem functionality!"
14
+ s.summary = "Common gem generation and management tasks"
14
15
  s.email = %q{joshbuddy@gmail.com}
15
16
  s.extra_rdoc_files = Tumbler::Gemspec.files('README.rdoc')
16
17
  s.files = Tumbler::Gemspec.files
@@ -18,20 +19,9 @@ Gem::Specification.new do |s|
18
19
  s.rdoc_options = ["--charset=UTF-8"]
19
20
  s.require_paths = ["lib"]
20
21
  s.rubygems_version = %q{1.3.7}
21
- s.summary = %q{This is awesome.}
22
22
  s.test_files = Tumbler::Gemspec.files(/^spec/)
23
23
  s.executables = Tumbler::Gemspec.bin_files
24
24
 
25
25
  # dependencies
26
26
  Tumbler::Gemspec.inject_dependencies(s)
27
-
28
- if s.respond_to? :specification_version then
29
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
30
- s.specification_version = 3
31
-
32
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
33
- else
34
- end
35
- else
36
- end
37
27
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tumbler
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 11
10
- version: 0.0.11
9
+ - 12
10
+ version: 0.0.12
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joshua Hull
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-18 00:00:00 -04:00
18
+ date: 2010-06-20 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -86,8 +86,8 @@ dependencies:
86
86
  - 0
87
87
  version: "0"
88
88
  requirement: *id005
89
- type: :development
90
- name: rake
89
+ type: :runtime
90
+ name: thor
91
91
  - !ruby/object:Gem::Dependency
92
92
  prerelease: false
93
93
  version_requirements: &id006 !ruby/object:Gem::Requirement
@@ -101,7 +101,7 @@ dependencies:
101
101
  version: "0"
102
102
  requirement: *id006
103
103
  type: :development
104
- name: rspec
104
+ name: rake
105
105
  - !ruby/object:Gem::Dependency
106
106
  prerelease: false
107
107
  version_requirements: &id007 !ruby/object:Gem::Requirement
@@ -115,7 +115,7 @@ dependencies:
115
115
  version: "0"
116
116
  requirement: *id007
117
117
  type: :development
118
- name: fakeweb
118
+ name: riot
119
119
  - !ruby/object:Gem::Dependency
120
120
  prerelease: false
121
121
  version_requirements: &id008 !ruby/object:Gem::Requirement
@@ -129,8 +129,36 @@ dependencies:
129
129
  version: "0"
130
130
  requirement: *id008
131
131
  type: :development
132
+ name: fakeweb
133
+ - !ruby/object:Gem::Dependency
134
+ prerelease: false
135
+ version_requirements: &id009 !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 3
141
+ segments:
142
+ - 0
143
+ version: "0"
144
+ requirement: *id009
145
+ type: :development
132
146
  name: mocha
133
- description: Description
147
+ - !ruby/object:Gem::Dependency
148
+ prerelease: false
149
+ version_requirements: &id010 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ hash: 3
155
+ segments:
156
+ - 0
157
+ version: "0"
158
+ requirement: *id010
159
+ type: :development
160
+ name: blockenspiel
161
+ description: Let's make gem development fun and remove all the repetition! Tumbler provides support for common gem management tasks which helps you spend less time dealing with gem releases and more time focusing on your gem functionality!
134
162
  email: joshbuddy@gmail.com
135
163
  executables:
136
164
  - tumbler
@@ -142,7 +170,6 @@ files:
142
170
  - .gitignore
143
171
  - CHANGELOG
144
172
  - Gemfile
145
- - Gemfile.lock
146
173
  - README.rdoc
147
174
  - Rakefile
148
175
  - Tumbler
@@ -151,6 +178,7 @@ files:
151
178
  - lib/template/Rakefile
152
179
  - lib/template/Tumbler.erb
153
180
  - lib/template/generic.gemspec.erb
181
+ - lib/template/generic.rb.erb
154
182
  - lib/template/version.rb.erb
155
183
  - lib/tumbler.rb
156
184
  - lib/tumbler/cli.rb
@@ -165,15 +193,14 @@ files:
165
193
  - lib/tumbler/runner.rb
166
194
  - lib/tumbler/updater.rb
167
195
  - lib/tumbler/version.rb
168
- - spec/bin_tumbler_spec.rb
169
- - spec/changelog_spec.rb
170
- - spec/gemspec_spec.rb
171
- - spec/generate_spec.rb
172
- - spec/spec.opts
173
- - spec/spec_helper.rb
174
- - spec/tasks_spec.rb
175
- - spec/updater_spec.rb
176
- - spec/version_spec.rb
196
+ - test/changelog_test.rb
197
+ - test/cli_test.rb
198
+ - test/gemspec_test.rb
199
+ - test/generate_test.rb
200
+ - test/tasks_test.rb
201
+ - test/teststrap.rb
202
+ - test/updater_test.rb
203
+ - test/version_test.rb
177
204
  - tumbler.gemspec
178
205
  has_rdoc: true
179
206
  homepage: http://github.com/joshbuddy/tumbler
@@ -208,14 +235,6 @@ rubyforge_project: tumbler
208
235
  rubygems_version: 1.3.7
209
236
  signing_key:
210
237
  specification_version: 3
211
- summary: This is awesome.
212
- test_files:
213
- - spec/bin_tumbler_spec.rb
214
- - spec/changelog_spec.rb
215
- - spec/gemspec_spec.rb
216
- - spec/generate_spec.rb
217
- - spec/spec.opts
218
- - spec/spec_helper.rb
219
- - spec/tasks_spec.rb
220
- - spec/updater_spec.rb
221
- - spec/version_spec.rb
238
+ summary: Common gem generation and management tasks
239
+ test_files: []
240
+