rubygems-tasks 0.1.0.pre1 → 0.1.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -19,12 +19,12 @@ to the project generator which you used to create the project.
19
19
  Project generators have _nothing_ to do with the Rake tasks used to build,
20
20
  install and release a Ruby project.
21
21
 
22
- Each project generator (Hoe, Jeweler, Bundler, etc) having their
23
- own set of Rake tasks introduces differing functionality between projects,
24
- and creates factions between developers. Ruby Developers should not be
25
- factionalized by their project generator or Rake tasks. Ruby Developers should
26
- have a common set of Rake tasks that they can use in any project.
27
- This is what rubygems-tasks seeks to accomplish.
22
+ Recently, many Ruby Developers began creating Ruby projects by hand,
23
+ building/releasing RubyGems using `gem build` / `gem push`. Sometimes this
24
+ resulted in RubyGems being released with uncommitted changes, or the developer
25
+ forgetting to tag the release. Ruby Developers should have access to
26
+ Project generator _agnostic_ and _unobtrusive_ Rake tasks, to _automate_
27
+ the release process. This is what rubygems-tasks seeks to provide.
28
28
 
29
29
  ## Features
30
30
 
data/gemspec.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: rubygems-tasks
2
- version: 0.1.0.pre1
2
+ version: 0.1.0.pre2
3
3
  summary: Rake tasks for managing and releasing Ruby projects.
4
4
  description:
5
5
  Simple Rake tasks for managing and releasing Ruby projects.
@@ -45,27 +45,48 @@ module Gem
45
45
  # Defines the `console` task.
46
46
  #
47
47
  def define
48
- @project.gemspecs.each do |name,gemspec|
48
+ @project.gemspecs.each_key do |name|
49
49
  namespace :console do
50
- task name do |t,args|
51
- arguments = [@command, *@options]
52
- arguments += gemspec.require_paths.map { |dir| "-I#{dir}" }
53
-
54
- if @project.bundler?
55
- if @command == DEFAULT_CONSOLE
56
- run 'bundle', 'console'
57
- else
58
- run 'bundle', 'exec', *arguments
59
- end
60
- else
61
- run *arguments
62
- end
63
- end
50
+ task(name) { console(name) }
64
51
  end
65
52
  end
66
53
 
67
54
  desc "Spawns an Interactive Ruby Console"
68
- task :console => "console:#{@project.gemspecs.keys.first}"
55
+ task :console => "console:#{@project.primary_gemspec_name}"
56
+ end
57
+
58
+ #
59
+ # Builds the complete arguments for the console command.
60
+ #
61
+ # @param [Symbol, String] name
62
+ # The name of the gemspec to load.
63
+ #
64
+ # @return [Array<String>]
65
+ # The arguments for the console command.
66
+ #
67
+ def console(name=@project.primary_gemspec_name)
68
+ unless (gemspec = @project.gemspecs[name.to_s])
69
+ raise(ArgumentError,"unknown gemspec name: #{name}")
70
+ end
71
+
72
+ arguments = [@command]
73
+
74
+ # add -I options for lib/ or ext/ directories
75
+ arguments.push(*gemspec.require_paths.map { |dir| "-I#{dir}" })
76
+
77
+ # push on additional options
78
+ arguments.push(*@options)
79
+
80
+ if @project.bundler?
81
+ # use `bundle console` unless were were using custom command/options
82
+ if (@command == DEFAULT_CONSOLE && @options.empty?)
83
+ arguments = ['bundle', 'console']
84
+ else
85
+ arguments.unshift('bundle', 'exec')
86
+ end
87
+ end
88
+
89
+ return run(*arguments)
69
90
  end
70
91
 
71
92
  end
@@ -31,7 +31,7 @@ module Gem
31
31
  task build => path do
32
32
  status "Installing #{File.basename(path)} ..."
33
33
 
34
- run 'gem', 'install', '-q', path
34
+ install(path)
35
35
  end
36
36
  end
37
37
  end
@@ -42,6 +42,19 @@ module Gem
42
42
  task :install_gem => :install # backwards compatibility with Hoe
43
43
  end
44
44
 
45
+ #
46
+ # Pushes the gem by running `gem install`.
47
+ #
48
+ # @param [String] path
49
+ # The path to the `.gem` file.
50
+ #
51
+ # @return [Boolean]
52
+ # Specifies whether `gem install` was successfull or not.
53
+ #
54
+ def install(path)
55
+ run 'gem', 'install', '-q', path
56
+ end
57
+
45
58
  end
46
59
  end
47
60
  end
@@ -54,6 +54,22 @@ module Gem
54
54
  #
55
55
  attr_reader :builds
56
56
 
57
+ #
58
+ # The name of the primary gemspec.
59
+ #
60
+ # @return [String]
61
+ # The gemspec name.
62
+ #
63
+ attr_reader :primary_gemspec_name
64
+
65
+ #
66
+ # The primary gemspec for the project.
67
+ #
68
+ # @return [Gem::Specification]
69
+ # The primary gemspec.
70
+ #
71
+ attr_reader :primary_gemspec
72
+
57
73
  #
58
74
  # Initializes the project.
59
75
  #
@@ -82,9 +98,43 @@ module Gem
82
98
  end
83
99
  end
84
100
 
101
+ @primary_gemspec_name, @primary_gemspec = if @gemspecs.has_key?(@name)
102
+ [@name, @gemspecs[@name]]
103
+ else
104
+ @gemspecs.first
105
+ end
106
+
85
107
  @bundler = File.file?(File.join(@root,'Gemfile'))
86
108
  end
87
109
 
110
+ #
111
+ # The primary build name for the project.
112
+ #
113
+ # @return [String]
114
+ # The primary build name.
115
+ #
116
+ # @api semipublic
117
+ #
118
+ def primary_build
119
+ if @builds.has_key?(@name)
120
+ @name
121
+ else
122
+ @builds.keys.first
123
+ end
124
+ end
125
+
126
+ #
127
+ # The primary gemspec for the project.
128
+ #
129
+ # @return [Gem::Specification]
130
+ # The primary gemspec.
131
+ #
132
+ # @api semipublic
133
+ #
134
+ def primary_gemspec
135
+ @gemspecs[primary_build]
136
+ end
137
+
88
138
  #
89
139
  # Maps project directories to projects.
90
140
  #
@@ -37,17 +37,13 @@ module Gem
37
37
  path = packages[:gem]
38
38
 
39
39
  task build => path do
40
- arguments = []
41
-
42
40
  if @host
43
- arguments << '--host' << @host
44
-
45
41
  status "Pushing #{File.basename(path)} to #{@host} ..."
46
42
  else
47
43
  status "Pushing #{File.basename(path)} ..."
48
44
  end
49
45
 
50
- run 'gem', 'push', path, *arguments
46
+ push(path)
51
47
  end
52
48
  end
53
49
  end
@@ -58,6 +54,22 @@ module Gem
58
54
  task :publish => :push
59
55
  end
60
56
 
57
+ #
58
+ # Pushes the gem by running `gem push`.
59
+ #
60
+ # @param [String] path
61
+ # The path to the `.gem` file.
62
+ #
63
+ # @return [Boolean]
64
+ # Specifies whether `gem push` was successfull or not.
65
+ #
66
+ def push(path)
67
+ arguments = ['gem', 'push', path]
68
+ arguments.push('--host', @host) if @host
69
+
70
+ return run(*arguments)
71
+ end
72
+
61
73
  end
62
74
  end
63
75
  end
@@ -54,7 +54,7 @@ module Gem
54
54
  #
55
55
  def status
56
56
  case @project.scm
57
- when :git then `git status --porcelain`
57
+ when :git then `git status --short`
58
58
  when :hg then `hg status`
59
59
  when :svn then `svn status`
60
60
  else ''
@@ -45,7 +45,7 @@ module Gem
45
45
  tag = if args.name
46
46
  args.name
47
47
  else
48
- version_tag(@project.gemspecs.values.first.version)
48
+ version_tag(@project.primary_gemspec.version)
49
49
  end
50
50
 
51
51
  status "Tagging #{tag} ..."
@@ -105,8 +105,8 @@ module Gem
105
105
 
106
106
  tag_dir = File.join(tag_dirs,name)
107
107
 
108
- mkdir_p tags_dir
109
- cp_r '.', tag_dir
108
+ FileUtils.mkdir_p tags_dir
109
+ FileUtils.cp_r '.', tag_dir
110
110
 
111
111
  return run('svn', 'add', tag_dir)
112
112
  else
@@ -9,6 +9,16 @@ module Gem
9
9
 
10
10
  include Printing
11
11
 
12
+ #
13
+ # Project metadata.
14
+ #
15
+ # @return [Project]
16
+ #
17
+ attr_reader :project
18
+
19
+ #
20
+ # Initializes the task.
21
+ #
12
22
  def initialize
13
23
  @project = Project.directories[Dir.pwd]
14
24
  end
@@ -121,26 +121,26 @@ module Gem
121
121
  @sign = OpenStruct.new
122
122
 
123
123
  if build_options
124
- @build.gem = Build::Gem.new if build_options.fetch(:gem,true)
125
- @build.tar = Build::Tar.new if build_options[:tar]
126
- @build.zip = Build::Zip.new if build_options[:zip]
124
+ @build.gem = (Build::Gem.new if build_options.fetch(:gem,true))
125
+ @build.tar = (Build::Tar.new if build_options[:tar])
126
+ @build.zip = (Build::Zip.new if build_options[:zip])
127
127
  end
128
128
 
129
129
  if scm_options
130
- @scm.status = SCM::Status.new if scm_options.fetch(:status,true)
131
- @scm.tag = SCM::Tag.new if scm_options.fetch(:tag,true)
132
- @scm.push = SCM::Push.new if scm_options.fetch(:push,true)
130
+ @scm.status = (SCM::Status.new if scm_options.fetch(:status,true))
131
+ @scm.tag = (SCM::Tag.new if scm_options.fetch(:tag,true))
132
+ @scm.push = (SCM::Push.new if scm_options.fetch(:push,true))
133
133
  end
134
134
 
135
135
  if sign_options
136
- @sign.checksum = Sign::Checksum.new if sign_options[:checksum]
137
- @sign.pgp = Sign::PGP.new if sign_options[:pgp]
136
+ @sign.checksum = (Sign::Checksum.new if sign_options[:checksum])
137
+ @sign.pgp = (Sign::PGP.new if sign_options[:pgp])
138
138
  end
139
139
 
140
- @console = Console.new if options.fetch(:console,true)
141
- @install = Install.new if options.fetch(:install,true)
142
- @push = Push.new if options.fetch(:push,true)
143
- @release = Release.new if options.fetch(:release,true)
140
+ @console = (Console.new if options.fetch(:console,true))
141
+ @install = (Install.new if options.fetch(:install,true))
142
+ @push = (Push.new if options.fetch(:push,true))
143
+ @release = (Release.new if options.fetch(:release,true))
144
144
 
145
145
  yield self if block_given?
146
146
  end
@@ -0,0 +1,68 @@
1
+ require 'spec_helper'
2
+ require 'rake_context'
3
+
4
+ require 'rubygems/tasks/console'
5
+
6
+ describe Gem::Tasks::Console do
7
+ describe "#console" do
8
+ include_context "rake"
9
+
10
+ let(:command) { 'ripl' }
11
+ let(:options) { %w[-Ivendor -rfoo] }
12
+
13
+ context "defaults" do
14
+ it "should run `irb`" do
15
+ subject.should_receive(:run).with('irb','-Ilib')
16
+
17
+ subject.console
18
+ end
19
+
20
+ context "when project.bundler? == true" do
21
+ it "should use `bundle console`" do
22
+ subject.project.stub!(:bundler?).and_return(true)
23
+ subject.should_receive(:run).with('bundle', 'console')
24
+
25
+ subject.console
26
+ end
27
+ end
28
+ end
29
+
30
+ context "with custom command" do
31
+ subject { described_class.new(:command => command) }
32
+
33
+ it "should run the custom console" do
34
+ subject.should_receive(:run).with(command, '-Ilib')
35
+
36
+ subject.console
37
+ end
38
+
39
+ context "when project.bundler? == true" do
40
+ it "should use `bundle exec`" do
41
+ subject.project.stub!(:bundler?).and_return(true)
42
+ subject.should_receive(:run).with('bundle', 'exec', command, '-Ilib')
43
+
44
+ subject.console
45
+ end
46
+ end
47
+ end
48
+
49
+ context "with custom options" do
50
+ subject { described_class.new(:options => options) }
51
+
52
+ it "should pass custom options to `irb`" do
53
+ subject.should_receive(:run).with('irb', '-Ilib', *options)
54
+
55
+ subject.console
56
+ end
57
+
58
+ context "when project.bundler? == true" do
59
+ it "should use `bundle exec ...`" do
60
+ subject.project.stub!(:bundler?).and_return(true)
61
+ subject.should_receive(:run).with('bundle', 'exec', 'irb', '-Ilib', *options)
62
+
63
+ subject.console
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+ require 'rake_context'
3
+
4
+ require 'rubygems/tasks/install'
5
+
6
+ describe Gem::Tasks::Install do
7
+ describe "#install" do
8
+ let(:path) { 'pkg/foo-1.2.3.gem' }
9
+
10
+ it "should use `gem install -q`" do
11
+ subject.should_receive(:run).with('gem', 'install', '-q', path)
12
+
13
+ subject.install(path)
14
+ end
15
+ end
16
+ end
data/spec/push_spec.rb ADDED
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ require 'rake_context'
3
+
4
+ require 'rubygems/tasks/push'
5
+
6
+ describe Gem::Tasks::Push do
7
+ describe "#push" do
8
+ include_context "rake"
9
+
10
+ let(:path) { 'pkg/foo-1.2.3.gem' }
11
+
12
+ context "defaults" do
13
+ it "should use `gem push`" do
14
+ subject.should_receive(:run).with('gem', 'push', path)
15
+
16
+ subject.push(path)
17
+ end
18
+ end
19
+
20
+ context "with custom :host" do
21
+ let(:host) { 'internal.company.com' }
22
+
23
+ subject { described_class.new(:host => host) }
24
+
25
+ it "should include the --host option" do
26
+ subject.should_receive(:run).with('gem', 'push', path, '--host', host)
27
+
28
+ subject.push(path)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,6 @@
1
+ require 'rake'
2
+
3
+ shared_context "rake" do
4
+ let(:rake) { Rake::Application.new }
5
+ before(:all) { Rake.application = rake }
6
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+ require 'rake_context'
3
+
4
+ require 'rubygems/tasks/scm/push'
5
+
6
+ describe Gem::Tasks::SCM::Push do
7
+ describe "#push!" do
8
+ context "git" do
9
+ it "should run `git push --tags`" do
10
+ subject.project.stub!(:scm).and_return(:git)
11
+ subject.should_receive(:run).with('git', 'push', '--tags')
12
+
13
+ subject.push!
14
+ end
15
+ end
16
+
17
+ context "hg" do
18
+ it "should run `hg push`" do
19
+ subject.project.stub!(:scm).and_return(:hg)
20
+ subject.should_receive(:run).with('hg', 'push')
21
+
22
+ subject.push!
23
+ end
24
+ end
25
+
26
+ context "otherwise" do
27
+ it "should return true" do
28
+ subject.project.stub!(:scm).and_return(:svn)
29
+
30
+ subject.push!.should == true
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,66 @@
1
+ require 'spec_helper'
2
+ require 'rake_context'
3
+
4
+ require 'rubygems/tasks/scm/tag'
5
+
6
+ describe Gem::Tasks::SCM::Tag do
7
+ let(:version) { '1.2.3' }
8
+
9
+ describe "#version_tag" do
10
+ context "defaults" do
11
+ include_context "rake"
12
+
13
+ it "should not have a prefix or suffix" do
14
+ subject.version_tag(version).should == version
15
+ end
16
+ end
17
+
18
+ context "with format String" do
19
+ include_context "rake"
20
+
21
+ let(:format) { 'v%s' }
22
+
23
+ subject { described_class.new(:format => format) }
24
+
25
+ it "should apply the format String to the version" do
26
+ subject.version_tag(version).should == "v#{version}"
27
+ end
28
+ end
29
+
30
+ context "with format Proc" do
31
+ let(:format) { proc { |ver| "REL_" + ver.tr('.','_') } }
32
+
33
+ subject { described_class.new(:format => format) }
34
+
35
+ it "should call the format Proc with the version" do
36
+ subject.version_tag(version).should == "REL_1_2_3"
37
+ end
38
+ end
39
+ end
40
+
41
+ describe "#tag!" do
42
+ let(:name) { 'v1.2.3' }
43
+
44
+ context "git" do
45
+ include_context "rake"
46
+
47
+ it "should run `git tag`" do
48
+ subject.project.stub!(:scm).and_return(:git)
49
+ subject.should_receive(:run).with('git', 'tag', name)
50
+
51
+ subject.tag!(name)
52
+ end
53
+ end
54
+
55
+ context "hg" do
56
+ include_context "rake"
57
+
58
+ it "should run `hg tag`" do
59
+ subject.project.stub!(:scm).and_return(:hg)
60
+ subject.should_receive(:run).with('hg', 'tag', name)
61
+
62
+ subject.tag!(name)
63
+ end
64
+ end
65
+ end
66
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,2 +1,9 @@
1
1
  gem 'rspec', '~> 2.4'
2
2
  require 'rspec'
3
+
4
+ RSpec.configure do |spec|
5
+ spec.before(:suite) do
6
+ # clear the $RUBYCONSOLE env variable
7
+ ENV['RUBYCONSOLE'] = nil
8
+ end
9
+ end
@@ -0,0 +1,127 @@
1
+ require 'spec_helper'
2
+ require 'rake_context'
3
+
4
+ require 'rubygems/tasks/tasks'
5
+
6
+ describe Gem::Tasks do
7
+ describe "#initialize" do
8
+ context "default options" do
9
+ include_context "rake"
10
+
11
+ its(:build) { should be_kind_of(OpenStruct) }
12
+ its('build.gem') { should be_kind_of(Gem::Tasks::Build::Gem) }
13
+ its('build.tar') { should be_nil }
14
+ its('build.zip') { should be_nil }
15
+
16
+ its(:scm) { should be_kind_of(OpenStruct) }
17
+ its('scm.status') { should be_kind_of(Gem::Tasks::SCM::Status) }
18
+ its('scm.push') { should be_kind_of(Gem::Tasks::SCM::Push) }
19
+ its('scm.tag') { should be_kind_of(Gem::Tasks::SCM::Tag) }
20
+
21
+ its(:sign) { should be_kind_of(OpenStruct) }
22
+ its('sign.checksum') { should be_nil }
23
+ its('sign.pgp') { should be_nil }
24
+
25
+ its(:console) { should be_kind_of(Gem::Tasks::Console) }
26
+ its(:install) { should be_kind_of(Gem::Tasks::Install) }
27
+ its(:push) { should be_kind_of(Gem::Tasks::Push) }
28
+ its(:release) { should be_kind_of(Gem::Tasks::Release) }
29
+ end
30
+
31
+ context ":build => {:gem => false}" do
32
+ include_context "rake"
33
+
34
+ subject { described_class.new(:build => {:gem => false}) }
35
+
36
+ its('build.gem') { should be_nil }
37
+ end
38
+
39
+ context ":build => {:tar => true}" do
40
+ include_context "rake"
41
+
42
+ subject { described_class.new(:build => {:tar => true}) }
43
+
44
+ its('build.tar') { should be_kind_of(Gem::Tasks::Build::Tar) }
45
+ end
46
+
47
+ context ":build => {:zip => true}" do
48
+ include_context "rake"
49
+
50
+ subject { described_class.new(:build => {:zip => true}) }
51
+
52
+ its('build.zip') { should be_kind_of(Gem::Tasks::Build::Zip) }
53
+ end
54
+
55
+ context ":scm => {:status => false}" do
56
+ include_context "rake"
57
+
58
+ subject { described_class.new(:scm => {:status => false}) }
59
+
60
+ its('scm.status') { should be_nil }
61
+ end
62
+
63
+ context ":scm => {:push => false}" do
64
+ include_context "rake"
65
+
66
+ subject { described_class.new(:scm => {:push => false}) }
67
+
68
+ its('scm.push') { should be_nil }
69
+ end
70
+
71
+ context ":scm => {:tag => false}" do
72
+ include_context "rake"
73
+
74
+ subject { described_class.new(:scm => {:tag => false}) }
75
+
76
+ its('scm.tag') { should be_nil }
77
+ end
78
+
79
+ context ":sign => {:checksum => true}" do
80
+ include_context "rake"
81
+
82
+ subject { described_class.new(:sign => {:checksum => true}) }
83
+
84
+ its('sign.checksum') { should be_kind_of(Gem::Tasks::Sign::Checksum) }
85
+ end
86
+
87
+ context ":sign => {:pgp => true}" do
88
+ include_context "rake"
89
+
90
+ subject { described_class.new(:sign => {:pgp => true}) }
91
+
92
+ its('sign.pgp') { should be_kind_of(Gem::Tasks::Sign::PGP) }
93
+ end
94
+
95
+ context ":console => false" do
96
+ include_context "rake"
97
+
98
+ subject { described_class.new(:console => false) }
99
+
100
+ its(:console) { should be_nil }
101
+ end
102
+
103
+ context ":install => false" do
104
+ include_context "rake"
105
+
106
+ subject { described_class.new(:install => false) }
107
+
108
+ its(:install) { should be_nil }
109
+ end
110
+
111
+ context ":push => false" do
112
+ include_context "rake"
113
+
114
+ subject { described_class.new(:push => false) }
115
+
116
+ its(:push) { should be_nil }
117
+ end
118
+
119
+ context ":release => false" do
120
+ include_context "rake"
121
+
122
+ subject { described_class.new(:release => false) }
123
+
124
+ its(:release) { should be_nil }
125
+ end
126
+ end
127
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre1
4
+ version: 0.1.0.pre2
5
5
  prerelease: 6
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: 2012-04-19 00:00:00.000000000 Z
12
+ date: 2012-04-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &18780640 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '2.4'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *18780640
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.4'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: yard
27
- requirement: &18778180 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: '0.7'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *18778180
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.7'
36
46
  description: Simple Rake tasks for managing and releasing Ruby projects.
37
47
  email: postmodern.mod3@gmail.com
38
48
  executables: []
@@ -71,7 +81,14 @@ files:
71
81
  - lib/rubygems/tasks/task.rb
72
82
  - lib/rubygems/tasks/tasks.rb
73
83
  - rubygems-tasks.gemspec
84
+ - spec/console_spec.rb
85
+ - spec/install_spec.rb
86
+ - spec/push_spec.rb
87
+ - spec/rake_context.rb
88
+ - spec/scm/push_spec.rb
89
+ - spec/scm/tag_spec.rb
74
90
  - spec/spec_helper.rb
91
+ - spec/tasks_spec.rb
75
92
  homepage: https://github.com/postmodern/rubygems-tasks
76
93
  licenses: []
77
94
  post_install_message:
@@ -92,8 +109,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
109
  version: '0'
93
110
  requirements: []
94
111
  rubyforge_project:
95
- rubygems_version: 1.8.15
112
+ rubygems_version: 1.8.23
96
113
  signing_key:
97
114
  specification_version: 3
98
115
  summary: Rake tasks for managing and releasing Ruby projects.
99
- test_files: []
116
+ test_files:
117
+ - spec/console_spec.rb
118
+ - spec/install_spec.rb
119
+ - spec/push_spec.rb
120
+ - spec/scm/push_spec.rb
121
+ - spec/scm/tag_spec.rb
122
+ - spec/tasks_spec.rb