gem-release 0.0.17 → 0.0.19

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.
@@ -57,5 +57,16 @@ module GemRelease
57
57
  name ||= Dir['*.gemspec'].first
58
58
  name || raise("No gemspec found or given.")
59
59
  end
60
+
61
+ def in_gemspec_dirs
62
+ gemspec_dirs.each do |dir|
63
+ @version = nil # UGH.
64
+ Dir.chdir(dir) { yield }
65
+ end
66
+ end
67
+
68
+ def gemspec_dirs
69
+ Dir.glob('**/*.gemspec').map { |spec| File.dirname(spec) }
70
+ end
60
71
  end
61
72
  end
@@ -26,11 +26,11 @@ module GemRelease
26
26
  File.open(filename, 'w+') { |f| f.write(render) }
27
27
  end
28
28
 
29
- protected
29
+ def filename
30
+ template
31
+ end
30
32
 
31
- def filename
32
- template
33
- end
33
+ protected
34
34
 
35
35
  def render
36
36
  ERB.new(read_template, nil, "%").result(binding)
@@ -0,0 +1 @@
1
+ # <%= gem_name %>
@@ -0,0 +1,10 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'lib'
6
+ t.pattern = 'test/**/*_test.rb'
7
+ t.verbose = false
8
+ end
9
+
10
+ task :default => :test
@@ -1,5 +1,5 @@
1
1
  module GemRelease
2
- VERSION = '0.0.17'
2
+ VERSION = '0.0.19'
3
3
 
4
4
  class Version < Template
5
5
  attr_reader :version
@@ -37,63 +37,25 @@ class Gem::Commands::BootstrapCommand < Gem::Command
37
37
 
38
38
  def write_scaffold
39
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
40
+
41
+ create_file Template.new('README.md')
42
+ create_file Template.new('LICENSE', :year => Time.now.year, :author => user_name, :email => user_email)
43
+ create_file Template.new('Gemfile')
44
+ create_file Template.new('Rakefile')
45
+ create_file Template.new('test/test_helper.rb')
46
+ create_file Version.new(options)
47
47
  end
48
48
 
49
49
  def create_lib
50
50
  `mkdir -p lib test`
51
51
  end
52
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
67
- end
68
-
69
- def create_version
70
- version = Version.new(options)
71
- if File.exists?("#{version.filename}")
72
- say "Skipping #{version.filename}: already exists" unless quiet?
53
+ def create_file(template)
54
+ if File.exists?(template.filename)
55
+ say "Skipping #{template.filename}: already exists" unless quiet?
73
56
  else
74
- say "Creating #{version.filename}" unless quiet?
75
- version.write
76
- end
77
- end
78
-
79
- def create_rakefile
80
- if File.exists?('Rakefile')
81
- say "Skipping Rakefile: already exists" unless quiet?
82
- else
83
- say "Creating Rakefile" unless quiet?
84
- rakefile = <<RAKEFILE
85
- require 'rake'
86
- require 'rake/testtask'
87
-
88
- Rake::TestTask.new do |t|
89
- t.libs << 'lib'
90
- t.pattern = 'test/**/*_test.rb'
91
- t.verbose = false
92
- end
93
-
94
- task :default => :test
95
- RAKEFILE
96
- File.open('Rakefile', 'w').write(rakefile)
57
+ say "Creating #{template.filename}" unless quiet?
58
+ template.write
97
59
  end
98
60
  end
99
61
 
@@ -29,8 +29,11 @@ class Gem::Commands::BumpCommand < Gem::Command
29
29
  end
30
30
 
31
31
  def execute
32
- in_spec_dirs { bump }
32
+ in_gemspec_dirs do
33
+ bump
34
+ end
33
35
 
36
+ @version = nil # UGH
34
37
  commit if options[:commit]
35
38
  push if options[:push] || options[:tag]
36
39
  release if options[:release]
@@ -39,21 +42,18 @@ class Gem::Commands::BumpCommand < Gem::Command
39
42
 
40
43
  protected
41
44
 
42
- def in_spec_dirs
43
- spec_dirs.each do |dir|
44
- @version = nil
45
- Dir.chdir(dir) { yield }
46
- end
47
- end
48
-
49
45
  def bump
50
- say "Bumping #{gem_name} from #{version.old_number} to version #{version.new_number}" unless quiet?
51
- version.bump!
46
+ if File.exist?(version.filename)
47
+ say "Bumping #{gem_name} from #{version.old_number} to version #{version.new_number}" unless quiet?
48
+ version.bump!
49
+ `git add #{version.filename}` if options[:commit]
50
+ else
51
+ say "Ignoring #{gem_name}. Version file #{version.filename} not found" unless quiet?
52
+ end
52
53
  end
53
54
 
54
55
  def commit
55
56
  say "Creating commit" unless quiet?
56
- `git add #{version.filename}`
57
57
  `git commit -m "Bump to #{version.new_number}"`
58
58
  end
59
59
 
@@ -73,8 +73,4 @@ class Gem::Commands::BumpCommand < Gem::Command
73
73
  def version
74
74
  @version ||= VersionFile.new(:target => options[:version])
75
75
  end
76
-
77
- def spec_dirs
78
- Dir.glob('**/*.gemspec').map { |spec| File.dirname(spec) }
79
- end
80
76
  end
@@ -24,9 +24,12 @@ class Gem::Commands::ReleaseCommand < Gem::Command
24
24
  end
25
25
 
26
26
  def execute
27
- build
28
- push
29
- remove
27
+ in_gemspec_dirs do
28
+ build
29
+ push
30
+ remove
31
+ end
32
+
30
33
  tag if options[:tag]
31
34
  say "All is good, thanks buddy.\n"
32
35
  end
metadata CHANGED
@@ -1,64 +1,46 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gem-release
3
- version: !ruby/object:Gem::Version
4
- hash: 61
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.19
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 17
10
- version: 0.0.17
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Sven Fuchs
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-07-29 00:00:00 +02:00
12
+ date: 2011-07-29 00:00:00.000000000 +02:00
19
13
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: test_declarative
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2167590280 !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 27
30
- segments:
31
- - 0
32
- - 0
33
- - 2
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
34
22
  version: 0.0.2
35
23
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: mocha
39
24
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2167590280
26
+ - !ruby/object:Gem::Dependency
27
+ name: mocha
28
+ requirement: &2167589760 !ruby/object:Gem::Requirement
41
29
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 43
46
- segments:
47
- - 0
48
- - 9
49
- - 8
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
50
33
  version: 0.9.8
51
34
  type: :development
52
- version_requirements: *id002
53
- description: Release your ruby gems with ease. (What a bold statement for such a tiny plugin ...)
35
+ prerelease: false
36
+ version_requirements: *2167589760
37
+ description: Release your ruby gems with ease. (What a bold statement for such a tiny
38
+ plugin ...)
54
39
  email: svenfuchs@artweb-design.de
55
40
  executables: []
56
-
57
41
  extensions: []
58
-
59
42
  extra_rdoc_files: []
60
-
61
- files:
43
+ files:
62
44
  - lib/core_ext/kernel/silence.rb
63
45
  - lib/core_ext/string/camelize.rb
64
46
  - lib/gem_release.rb
@@ -69,6 +51,8 @@ files:
69
51
  - lib/gem_release/template.rb
70
52
  - lib/gem_release/templates/Gemfile
71
53
  - lib/gem_release/templates/LICENSE
54
+ - lib/gem_release/templates/README.md
55
+ - lib/gem_release/templates/Rakefile
72
56
  - lib/gem_release/templates/gemspec
73
57
  - lib/gem_release/templates/test/test_helper.rb
74
58
  - lib/gem_release/templates/version.rb
@@ -83,38 +67,26 @@ files:
83
67
  has_rdoc: true
84
68
  homepage: http://github.com/svenfuchs/gem-release
85
69
  licenses: []
86
-
87
70
  post_install_message:
88
71
  rdoc_options: []
89
-
90
- require_paths:
72
+ require_paths:
91
73
  - lib
92
- required_ruby_version: !ruby/object:Gem::Requirement
74
+ required_ruby_version: !ruby/object:Gem::Requirement
93
75
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- hash: 3
98
- segments:
99
- - 0
100
- version: "0"
101
- required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
81
  none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 23
107
- segments:
108
- - 1
109
- - 3
110
- - 6
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
111
85
  version: 1.3.6
112
86
  requirements: []
113
-
114
- rubyforge_project: "[none]"
87
+ rubyforge_project: ! '[none]'
115
88
  rubygems_version: 1.6.2
116
89
  signing_key:
117
90
  specification_version: 3
118
91
  summary: Release your ruby gems with ease
119
92
  test_files: []
120
-