gem-release 0.0.16 → 0.0.17
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/lib/gem_release/command_options.rb +2 -3
- data/lib/gem_release/gemspec.rb +6 -9
- data/lib/gem_release/helpers.rb +13 -11
- data/lib/gem_release/license.rb +18 -0
- data/lib/gem_release/template.rb +24 -10
- data/lib/gem_release/templates/Gemfile +3 -0
- data/lib/gem_release/templates/LICENSE +21 -0
- data/lib/gem_release/templates/{gemspec.erb → gemspec} +1 -1
- data/lib/gem_release/templates/test/test_helper.rb +2 -0
- data/lib/gem_release/templates/{version.erb → version.rb} +0 -0
- data/lib/gem_release/version.rb +2 -6
- data/lib/gem_release/version_file.rb +10 -5
- data/lib/rubygems/commands/bootstrap_command.rb +46 -15
- data/lib/rubygems/commands/bump_command.rb +30 -8
- data/lib/rubygems/commands/gemspec_command.rb +9 -5
- data/lib/rubygems/commands/release_command.rb +11 -5
- data/lib/rubygems/commands/tag_command.rb +10 -4
- metadata +12 -8
@@ -6,10 +6,9 @@ module GemRelease
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def option(key, short, description)
|
9
|
-
|
10
|
-
default = options[key]
|
9
|
+
default = self.class::DEFAULTS[key]
|
11
10
|
|
12
|
-
if String
|
11
|
+
if default.is_a?(String)
|
13
12
|
long = "--#{key} #{key.to_s.upcase}"
|
14
13
|
args = [short, long, String, "#{description} (defaults to #{default})"]
|
15
14
|
else
|
data/lib/gem_release/gemspec.rb
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
module GemRelease
|
2
2
|
class Gemspec < Template
|
3
|
-
attr_reader :
|
3
|
+
attr_reader :author, :email, :homepage, :summary, :description, :strategy
|
4
4
|
|
5
5
|
def initialize(options = {})
|
6
|
-
super
|
6
|
+
super('gemspec', options)
|
7
7
|
|
8
|
-
@
|
8
|
+
@author ||= user_name
|
9
9
|
@email ||= user_email
|
10
|
-
@homepage ||= "
|
10
|
+
@homepage ||= "https://github.com/#{github_user}/#{name}" || "[your github name]"
|
11
11
|
|
12
12
|
@summary ||= '[summary]'
|
13
13
|
@description ||= '[description]'
|
14
|
+
|
14
15
|
@strategy = options[:strategy]
|
15
16
|
end
|
16
17
|
|
17
18
|
def files
|
18
|
-
case
|
19
|
+
case strategy
|
19
20
|
when 'git'
|
20
21
|
'`git ls-files app lib`.split("\n")'
|
21
22
|
else
|
@@ -30,9 +31,5 @@ module GemRelease
|
|
30
31
|
def filename
|
31
32
|
"#{name}.gemspec"
|
32
33
|
end
|
33
|
-
|
34
|
-
def template_name
|
35
|
-
'gemspec.erb'
|
36
|
-
end
|
37
34
|
end
|
38
35
|
end
|
data/lib/gem_release/helpers.rb
CHANGED
@@ -2,6 +2,10 @@ require 'core_ext/string/camelize'
|
|
2
2
|
|
3
3
|
module GemRelease
|
4
4
|
module Helpers
|
5
|
+
def quiet?
|
6
|
+
options[:quiet]
|
7
|
+
end
|
8
|
+
|
5
9
|
def user_name
|
6
10
|
`git config --get user.name`.strip
|
7
11
|
end
|
@@ -11,15 +15,15 @@ module GemRelease
|
|
11
15
|
end
|
12
16
|
|
13
17
|
def github_user
|
14
|
-
|
18
|
+
`git config --get github.user`.strip
|
15
19
|
end
|
16
20
|
|
17
21
|
def github_token
|
18
|
-
|
22
|
+
`git config --get github.token`.strip
|
19
23
|
end
|
20
24
|
|
21
25
|
def gem_name
|
22
|
-
|
26
|
+
gemspec ? gemspec.name : gem_name_from_directory
|
23
27
|
end
|
24
28
|
|
25
29
|
def gem_name_from_directory
|
@@ -27,11 +31,11 @@ module GemRelease
|
|
27
31
|
end
|
28
32
|
|
29
33
|
def gem_module_path
|
30
|
-
|
34
|
+
gem_name.gsub('-', '_')
|
31
35
|
end
|
32
36
|
|
33
37
|
def gem_module_name
|
34
|
-
|
38
|
+
gem_module_path.camelize
|
35
39
|
end
|
36
40
|
|
37
41
|
def gem_filename
|
@@ -43,17 +47,15 @@ module GemRelease
|
|
43
47
|
end
|
44
48
|
|
45
49
|
def gemspec
|
46
|
-
|
50
|
+
Gem::Specification.load(gemspec_filename)
|
47
51
|
rescue LoadError, RuntimeError
|
48
52
|
nil
|
49
53
|
end
|
50
54
|
|
51
55
|
def gemspec_filename
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
name || raise("No gemspec found or given.")
|
56
|
-
end
|
56
|
+
name = Array(options[:args]).first rescue nil
|
57
|
+
name ||= Dir['*.gemspec'].first
|
58
|
+
name || raise("No gemspec found or given.")
|
57
59
|
end
|
58
60
|
end
|
59
61
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module GemRelease
|
2
|
+
class License < Template
|
3
|
+
attr_reader :author, :email, :year
|
4
|
+
|
5
|
+
def initialize(options = {})
|
6
|
+
super
|
7
|
+
|
8
|
+
@author ||= user_name
|
9
|
+
@email ||= user_email
|
10
|
+
@year ||= Time.now.year
|
11
|
+
end
|
12
|
+
|
13
|
+
def template_name
|
14
|
+
'gemspec.erb'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
data/lib/gem_release/template.rb
CHANGED
@@ -6,11 +6,15 @@ module GemRelease
|
|
6
6
|
class Template
|
7
7
|
include GemRelease::Helpers
|
8
8
|
|
9
|
-
attr_reader :name, :module_name, :module_path
|
9
|
+
attr_reader :template, :name, :module_name, :module_path
|
10
10
|
|
11
|
-
def initialize(options = {})
|
12
|
-
@
|
13
|
-
|
11
|
+
def initialize(template, options = {})
|
12
|
+
@template = template
|
13
|
+
|
14
|
+
options.each do |key, value|
|
15
|
+
instance_variable_set(:"@#{key}", value)
|
16
|
+
meta_class.send(:attr_reader, key)
|
17
|
+
end
|
14
18
|
|
15
19
|
@name ||= gem_name_from_directory
|
16
20
|
@module_path ||= name.gsub('-', '_')
|
@@ -22,12 +26,22 @@ module GemRelease
|
|
22
26
|
File.open(filename, 'w+') { |f| f.write(render) }
|
23
27
|
end
|
24
28
|
|
25
|
-
|
26
|
-
ERB.new(template, nil, "%").result(binding)
|
27
|
-
end
|
29
|
+
protected
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
31
|
+
def filename
|
32
|
+
template
|
33
|
+
end
|
34
|
+
|
35
|
+
def render
|
36
|
+
ERB.new(read_template, nil, "%").result(binding)
|
37
|
+
end
|
38
|
+
|
39
|
+
def read_template
|
40
|
+
File.new(File.expand_path("../templates/#{template}", __FILE__)).read
|
41
|
+
end
|
42
|
+
|
43
|
+
def meta_class
|
44
|
+
class << self; self; end
|
45
|
+
end
|
32
46
|
end
|
33
47
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT LICENSE
|
2
|
+
|
3
|
+
Copyright (c) <% year %> <%= author %> <<%= email %>>
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -6,7 +6,7 @@ require '<%= module_path %>/version'
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = <%= name.inspect %>
|
8
8
|
s.version = <%= module_name %>::VERSION
|
9
|
-
s.authors = <%=
|
9
|
+
s.authors = [<%= author.inspect %>]
|
10
10
|
s.email = <%= email.inspect %>
|
11
11
|
s.homepage = <%= homepage.inspect %>
|
12
12
|
s.summary = <%= summary.inspect %>
|
File without changes
|
data/lib/gem_release/version.rb
CHANGED
@@ -1,20 +1,16 @@
|
|
1
1
|
module GemRelease
|
2
|
-
VERSION = '0.0.
|
2
|
+
VERSION = '0.0.17'
|
3
3
|
|
4
4
|
class Version < Template
|
5
5
|
attr_reader :version
|
6
6
|
|
7
7
|
def initialize(options = {})
|
8
|
-
super
|
8
|
+
super('version.rb', options)
|
9
9
|
@version ||= '0.0.1'
|
10
10
|
end
|
11
11
|
|
12
12
|
def filename
|
13
13
|
"lib/#{module_path}/version.rb"
|
14
14
|
end
|
15
|
-
|
16
|
-
def template_name
|
17
|
-
'version.erb'
|
18
|
-
end
|
19
15
|
end if defined?(Template)
|
20
16
|
end
|
@@ -15,11 +15,7 @@ module GemRelease
|
|
15
15
|
|
16
16
|
def bump!
|
17
17
|
File.open(filename, 'w+') { |f| f.write(bumped_content) }
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
def force_load!
|
22
|
-
silence { load(filename) }
|
18
|
+
require_version
|
23
19
|
end
|
24
20
|
|
25
21
|
def new_number
|
@@ -38,6 +34,15 @@ module GemRelease
|
|
38
34
|
|
39
35
|
protected
|
40
36
|
|
37
|
+
def require_version
|
38
|
+
$: << 'lib' unless $:.include?('lib')
|
39
|
+
require "#{gem_module_path}/version"
|
40
|
+
end
|
41
|
+
|
42
|
+
def force_load!
|
43
|
+
silence { load(filename) }
|
44
|
+
end
|
45
|
+
|
41
46
|
def major(major, minor, patch)
|
42
47
|
"#{major.to_i + 1}.0.0"
|
43
48
|
end
|
@@ -5,51 +5,82 @@ class Gem::Commands::BootstrapCommand < Gem::Command
|
|
5
5
|
include GemRelease, Gem::Commands
|
6
6
|
include Helpers, CommandOptions
|
7
7
|
|
8
|
-
|
8
|
+
DEFAULTS = {
|
9
|
+
:gemspec => true,
|
10
|
+
:strategy => 'git',
|
11
|
+
:scaffold => false,
|
12
|
+
:github => false,
|
13
|
+
:quiet => false
|
14
|
+
}
|
9
15
|
|
10
16
|
attr_reader :arguments, :usage
|
11
17
|
|
12
|
-
def initialize
|
13
|
-
super 'bootstrap', 'Bootstrap a new gem source repository',
|
18
|
+
def initialize(options = {})
|
19
|
+
super 'bootstrap', 'Bootstrap a new gem source repository', DEFAULTS.merge(options)
|
14
20
|
|
15
21
|
option :gemspec, '-g', 'Generate a .gemspec'
|
16
22
|
option :strategy, '-f', 'Strategy for collecting files [glob|git] in .gemspec'
|
17
23
|
option :scaffold, '-s', 'Scaffold lib/[gem_name]/version.rb README test/'
|
18
24
|
option :github, '-h', 'Bootstrap a git repo, create on github and push'
|
25
|
+
option :quiet, '-q', 'Do not output status messages'
|
19
26
|
end
|
20
27
|
|
21
28
|
def execute
|
22
|
-
write_gemspec if options[:gemspec]
|
23
29
|
write_scaffold if options[:scaffold]
|
30
|
+
write_gemspec if options[:gemspec]
|
24
31
|
create_repo if options[:github]
|
25
32
|
end
|
26
33
|
|
27
34
|
def write_gemspec
|
28
|
-
GemspecCommand.new.invoke
|
35
|
+
GemspecCommand.new(:quiet => quiet?).invoke
|
29
36
|
end
|
30
37
|
|
31
38
|
def write_scaffold
|
32
|
-
say 'scaffolding
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
39
|
+
say 'scaffolding ...' unless quiet?
|
40
|
+
create_lib
|
41
|
+
create_readme
|
42
|
+
create_license
|
43
|
+
create_gemfile
|
44
|
+
create_test_helper
|
45
|
+
create_version
|
46
|
+
create_rakefile
|
47
|
+
end
|
48
|
+
|
49
|
+
def create_lib
|
50
|
+
`mkdir -p lib test`
|
51
|
+
end
|
52
|
+
|
53
|
+
def create_readme
|
54
|
+
`echo "# #{gem_name}" > README.md`
|
55
|
+
end
|
56
|
+
|
57
|
+
def create_license
|
58
|
+
Template.new('LICENSE', :year => Time.now.year, :author => user_name, :email => user_email).write
|
59
|
+
end
|
60
|
+
|
61
|
+
def create_gemfile
|
62
|
+
Template.new('Gemfile').write
|
63
|
+
end
|
64
|
+
|
65
|
+
def create_test_helper
|
66
|
+
Template.new('test/test_helper.rb').write
|
37
67
|
end
|
38
68
|
|
39
|
-
def
|
69
|
+
def create_version
|
40
70
|
version = Version.new(options)
|
41
71
|
if File.exists?("#{version.filename}")
|
42
|
-
say "Skipping #{version.filename}: already exists"
|
72
|
+
say "Skipping #{version.filename}: already exists" unless quiet?
|
43
73
|
else
|
44
|
-
say "Creating #{version.filename}"
|
74
|
+
say "Creating #{version.filename}" unless quiet?
|
45
75
|
version.write
|
46
76
|
end
|
47
77
|
end
|
48
78
|
|
49
|
-
def
|
79
|
+
def create_rakefile
|
50
80
|
if File.exists?('Rakefile')
|
51
|
-
say "Skipping Rakefile: already exists"
|
81
|
+
say "Skipping Rakefile: already exists" unless quiet?
|
52
82
|
else
|
83
|
+
say "Creating Rakefile" unless quiet?
|
53
84
|
rakefile = <<RAKEFILE
|
54
85
|
require 'rake'
|
55
86
|
require 'rake/testtask'
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'gem_release'
|
1
2
|
require 'rubygems/commands/tag_command'
|
2
3
|
require 'rubygems/commands/release_command'
|
3
4
|
|
@@ -7,20 +8,30 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
7
8
|
|
8
9
|
attr_reader :arguments, :usage
|
9
10
|
|
10
|
-
|
11
|
+
DEFAULTS = {
|
12
|
+
:version => 'patch',
|
13
|
+
:push => false,
|
14
|
+
:tag => false,
|
15
|
+
:release => false,
|
16
|
+
:commit => true,
|
17
|
+
:quiet => false
|
18
|
+
}
|
11
19
|
|
12
|
-
def initialize
|
13
|
-
super 'bump', 'Bump the gem version',
|
20
|
+
def initialize(options = {})
|
21
|
+
super 'bump', 'Bump the gem version', DEFAULTS.merge(options)
|
14
22
|
|
15
23
|
option :version, '-v', 'Target version: next [major|minor|patch] or a given version number [x.x.x]'
|
24
|
+
option :commit, '-c', 'Perform a commit after incrementing gem version'
|
16
25
|
option :push, '-p', 'Push to origin'
|
17
26
|
option :tag, '-t', 'Create a git tag and push --tags to origin'
|
18
27
|
option :release, '-r', 'Build gem from a gemspec and push to rubygems.org'
|
28
|
+
option :quiet, '-q', 'Do not output status messages'
|
19
29
|
end
|
20
30
|
|
21
31
|
def execute
|
22
|
-
bump
|
23
|
-
|
32
|
+
in_spec_dirs { bump }
|
33
|
+
|
34
|
+
commit if options[:commit]
|
24
35
|
push if options[:push] || options[:tag]
|
25
36
|
release if options[:release]
|
26
37
|
tag if options[:tag]
|
@@ -28,19 +39,26 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
28
39
|
|
29
40
|
protected
|
30
41
|
|
42
|
+
def in_spec_dirs
|
43
|
+
spec_dirs.each do |dir|
|
44
|
+
@version = nil
|
45
|
+
Dir.chdir(dir) { yield }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
31
49
|
def bump
|
32
|
-
say "Bumping from #{version.old_number} to version #{version.new_number}"
|
50
|
+
say "Bumping #{gem_name} from #{version.old_number} to version #{version.new_number}" unless quiet?
|
33
51
|
version.bump!
|
34
52
|
end
|
35
53
|
|
36
54
|
def commit
|
37
|
-
say "Creating commit"
|
55
|
+
say "Creating commit" unless quiet?
|
38
56
|
`git add #{version.filename}`
|
39
57
|
`git commit -m "Bump to #{version.new_number}"`
|
40
58
|
end
|
41
59
|
|
42
60
|
def push
|
43
|
-
say "Pushing to origin"
|
61
|
+
say "Pushing to origin" unless quiet?
|
44
62
|
`git push`
|
45
63
|
end
|
46
64
|
|
@@ -55,4 +73,8 @@ class Gem::Commands::BumpCommand < Gem::Command
|
|
55
73
|
def version
|
56
74
|
@version ||= VersionFile.new(:target => options[:version])
|
57
75
|
end
|
76
|
+
|
77
|
+
def spec_dirs
|
78
|
+
Dir.glob('**/*.gemspec').map { |spec| File.dirname(spec) }
|
79
|
+
end
|
58
80
|
end
|
@@ -2,22 +2,26 @@ class Gem::Commands::GemspecCommand < Gem::Command
|
|
2
2
|
include GemRelease
|
3
3
|
include Helpers, CommandOptions
|
4
4
|
|
5
|
-
|
5
|
+
DEFAULTS = {
|
6
|
+
:strategy => 'git',
|
7
|
+
:quiet => false
|
8
|
+
}
|
6
9
|
|
7
10
|
attr_reader :arguments, :usage
|
8
11
|
|
9
|
-
def initialize
|
10
|
-
super 'bootstrap', 'Bootstrap a new gem source repository',
|
12
|
+
def initialize(options = {})
|
13
|
+
super 'bootstrap', 'Bootstrap a new gem source repository', DEFAULTS.merge(options)
|
11
14
|
|
12
15
|
option :strategy, '-f', 'Strategy for collecting files [glob|git] in .gemspec'
|
16
|
+
option :quiet, '-q', 'Do not output status messages'
|
13
17
|
end
|
14
18
|
|
15
19
|
def execute
|
16
20
|
gemspec = Gemspec.new(options)
|
17
21
|
if gemspec.exists?
|
18
|
-
say "Skipping #{gemspec.filename}: already exists"
|
22
|
+
say "Skipping #{gemspec.filename}: already exists" unless quiet?
|
19
23
|
else
|
20
|
-
say "Creating #{gemspec.filename}"
|
24
|
+
say "Creating #{gemspec.filename}" unless quiet?
|
21
25
|
gemspec.write
|
22
26
|
end
|
23
27
|
end
|
@@ -6,13 +6,19 @@ class Gem::Commands::ReleaseCommand < Gem::Command
|
|
6
6
|
include GemRelease, Gem::Commands
|
7
7
|
include Helpers, CommandOptions
|
8
8
|
|
9
|
-
|
9
|
+
DEFAULTS = {
|
10
|
+
:tag => false,
|
11
|
+
:quiet => false
|
12
|
+
}
|
10
13
|
|
11
14
|
attr_reader :arguments, :usage
|
12
15
|
|
13
|
-
def initialize
|
14
|
-
super 'release', 'Build gem from a gemspec and push to rubygems.org'
|
15
|
-
|
16
|
+
def initialize(options = {})
|
17
|
+
super 'release', 'Build gem from a gemspec and push to rubygems.org', DEFAULTS.merge(options)
|
18
|
+
|
19
|
+
option :tag, '-t', 'Create a git tag and push --tags to origin'
|
20
|
+
option :quiet, '-q', 'Do not output status messages'
|
21
|
+
|
16
22
|
@arguments = "gemspec - optional gemspec file name, will use the first *.gemspec if not specified"
|
17
23
|
@usage = "#{program_name} [gemspec]"
|
18
24
|
end
|
@@ -36,8 +42,8 @@ class Gem::Commands::ReleaseCommand < Gem::Command
|
|
36
42
|
end
|
37
43
|
|
38
44
|
def remove
|
45
|
+
say "Deleting left over gem file #{gem_filename}" unless quiet?
|
39
46
|
`rm #{gem_filename}`
|
40
|
-
say "Deleting left over gem file #{gem_filename}"
|
41
47
|
end
|
42
48
|
|
43
49
|
def tag
|
@@ -2,10 +2,16 @@ class Gem::Commands::TagCommand < Gem::Command
|
|
2
2
|
include GemRelease
|
3
3
|
include Helpers, CommandOptions
|
4
4
|
|
5
|
+
DEFAULTS = {
|
6
|
+
:quiet => false
|
7
|
+
}
|
8
|
+
|
5
9
|
attr_reader :arguments, :usage
|
6
10
|
|
7
|
-
def initialize
|
8
|
-
super 'tag', 'Create a git tag and push --tags to origin'
|
11
|
+
def initialize(options = {})
|
12
|
+
super 'tag', 'Create a git tag and push --tags to origin', DEFAULTS.merge(options)
|
13
|
+
|
14
|
+
option :quiet, '-q', 'Do not output status messages'
|
9
15
|
end
|
10
16
|
|
11
17
|
def execute
|
@@ -16,12 +22,12 @@ class Gem::Commands::TagCommand < Gem::Command
|
|
16
22
|
protected
|
17
23
|
|
18
24
|
def tag
|
19
|
-
say "Creating git tag #{tag_name}"
|
25
|
+
say "Creating git tag #{tag_name}" unless quiet?
|
20
26
|
`git tag -am 'tag #{tag_name}' #{tag_name}`
|
21
27
|
end
|
22
28
|
|
23
29
|
def push
|
24
|
-
say "Pushing --tags to origin git repository"
|
30
|
+
say "Pushing --tags to origin git repository" unless quiet?
|
25
31
|
`git push --tags origin`
|
26
32
|
end
|
27
33
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gem-release
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 61
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 17
|
10
|
+
version: 0.0.17
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sven Fuchs
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-07-29 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -65,9 +65,13 @@ files:
|
|
65
65
|
- lib/gem_release/command_options.rb
|
66
66
|
- lib/gem_release/gemspec.rb
|
67
67
|
- lib/gem_release/helpers.rb
|
68
|
+
- lib/gem_release/license.rb
|
68
69
|
- lib/gem_release/template.rb
|
69
|
-
- lib/gem_release/templates/
|
70
|
-
- lib/gem_release/templates/
|
70
|
+
- lib/gem_release/templates/Gemfile
|
71
|
+
- lib/gem_release/templates/LICENSE
|
72
|
+
- lib/gem_release/templates/gemspec
|
73
|
+
- lib/gem_release/templates/test/test_helper.rb
|
74
|
+
- lib/gem_release/templates/version.rb
|
71
75
|
- lib/gem_release/version.rb
|
72
76
|
- lib/gem_release/version_file.rb
|
73
77
|
- lib/rubygems/commands/bootstrap_command.rb
|
@@ -108,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
112
|
requirements: []
|
109
113
|
|
110
114
|
rubyforge_project: "[none]"
|
111
|
-
rubygems_version: 1.
|
115
|
+
rubygems_version: 1.6.2
|
112
116
|
signing_key:
|
113
117
|
specification_version: 3
|
114
118
|
summary: Release your ruby gems with ease
|