dima-jeweler 0.9.2

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.
Files changed (67) hide show
  1. data/ChangeLog.markdown +58 -0
  2. data/LICENSE +20 -0
  3. data/README.markdown +103 -0
  4. data/Rakefile +61 -0
  5. data/TODO +11 -0
  6. data/VERSION.yml +4 -0
  7. data/bin/jeweler +8 -0
  8. data/lib/jeweler.rb +161 -0
  9. data/lib/jeweler/commands.rb +11 -0
  10. data/lib/jeweler/commands/build_gem.rb +22 -0
  11. data/lib/jeweler/commands/install_gem.rb +19 -0
  12. data/lib/jeweler/commands/release.rb +46 -0
  13. data/lib/jeweler/commands/release_to_rubyforge.rb +28 -0
  14. data/lib/jeweler/commands/validate_gemspec.rb +21 -0
  15. data/lib/jeweler/commands/version/base.rb +30 -0
  16. data/lib/jeweler/commands/version/bump_major.rb +13 -0
  17. data/lib/jeweler/commands/version/bump_minor.rb +12 -0
  18. data/lib/jeweler/commands/version/bump_patch.rb +14 -0
  19. data/lib/jeweler/commands/version/write.rb +12 -0
  20. data/lib/jeweler/commands/write_gemspec.rb +26 -0
  21. data/lib/jeweler/errors.rb +8 -0
  22. data/lib/jeweler/gemspec_helper.rb +51 -0
  23. data/lib/jeweler/generator.rb +345 -0
  24. data/lib/jeweler/generator/application.rb +45 -0
  25. data/lib/jeweler/generator/options.rb +64 -0
  26. data/lib/jeweler/tasks.rb +102 -0
  27. data/lib/jeweler/templates/.gitignore +5 -0
  28. data/lib/jeweler/templates/LICENSE +20 -0
  29. data/lib/jeweler/templates/README.rdoc +7 -0
  30. data/lib/jeweler/templates/Rakefile +116 -0
  31. data/lib/jeweler/templates/bacon/flunking.rb +7 -0
  32. data/lib/jeweler/templates/bacon/helper.rb +8 -0
  33. data/lib/jeweler/templates/features/default.feature +9 -0
  34. data/lib/jeweler/templates/features/support/env.rb +11 -0
  35. data/lib/jeweler/templates/micronaut/flunking.rb +7 -0
  36. data/lib/jeweler/templates/micronaut/helper.rb +17 -0
  37. data/lib/jeweler/templates/minitest/flunking.rb +7 -0
  38. data/lib/jeweler/templates/minitest/helper.rb +11 -0
  39. data/lib/jeweler/templates/rspec/flunking.rb +7 -0
  40. data/lib/jeweler/templates/rspec/helper.rb +9 -0
  41. data/lib/jeweler/templates/shoulda/flunking.rb +7 -0
  42. data/lib/jeweler/templates/shoulda/helper.rb +10 -0
  43. data/lib/jeweler/templates/testunit/flunking.rb +7 -0
  44. data/lib/jeweler/templates/testunit/helper.rb +9 -0
  45. data/lib/jeweler/version_helper.rb +83 -0
  46. data/test/fixtures/bar/VERSION.yml +4 -0
  47. data/test/geminstaller.yml +12 -0
  48. data/test/generators/initialization_test.rb +146 -0
  49. data/test/jeweler/commands/test_build_gem.rb +53 -0
  50. data/test/jeweler/commands/test_install_gem.rb +0 -0
  51. data/test/jeweler/commands/test_release.rb +150 -0
  52. data/test/jeweler/commands/test_release_to_rubyforge.rb +141 -0
  53. data/test/jeweler/commands/test_write_gemspec.rb +58 -0
  54. data/test/jeweler/commands/version/test_bump_major.rb +21 -0
  55. data/test/jeweler/commands/version/test_bump_minor.rb +19 -0
  56. data/test/jeweler/commands/version/test_bump_patch.rb +20 -0
  57. data/test/jeweler/commands/version/test_write.rb +23 -0
  58. data/test/shoulda_macros/jeweler_macros.rb +35 -0
  59. data/test/test_application.rb +109 -0
  60. data/test/test_gemspec_helper.rb +36 -0
  61. data/test/test_generator.rb +179 -0
  62. data/test/test_helper.rb +51 -0
  63. data/test/test_jeweler.rb +136 -0
  64. data/test/test_options.rb +90 -0
  65. data/test/test_tasks.rb +40 -0
  66. data/test/test_version_helper.rb +115 -0
  67. metadata +152 -0
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+
3
+ require 'rake'
4
+ class TestTasks < Test::Unit::TestCase
5
+ include Rake
6
+
7
+ context 'instantiating Jeweler::Tasks' do
8
+ setup do
9
+ Task.clear
10
+
11
+ @jt = Jeweler::Tasks.new do |s|
12
+ end
13
+ end
14
+
15
+ should 'assign @gemspec' do
16
+ assert_not_nil @jt.gemspec
17
+ end
18
+
19
+ should 'assign @jeweler' do
20
+ assert_not_nil @jt.jeweler
21
+ end
22
+
23
+ should 'define tasks' do
24
+ assert Task.task_defined?(:build)
25
+ assert Task.task_defined?(:install)
26
+ assert Task.task_defined?(:gemspec)
27
+ assert Task.task_defined?(:build)
28
+ assert Task.task_defined?(:install)
29
+ assert Task.task_defined?(:'gemspec:validate')
30
+ assert Task.task_defined?(:'gemspec:generate')
31
+ assert Task.task_defined?(:version)
32
+ assert Task.task_defined?(:'version:write')
33
+ assert Task.task_defined?(:'version:bump:major')
34
+ assert Task.task_defined?(:'version:bump:minor')
35
+ assert Task.task_defined?(:'version:bump:patch')
36
+ assert Task.task_defined?(:'release')
37
+ assert Task.task_defined?(:'rubyforge:release:gem')
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,115 @@
1
+ require 'test_helper'
2
+
3
+ class TestVersionHelper < Test::Unit::TestCase
4
+
5
+ VERSION_TMP_DIR = File.dirname(__FILE__) + '/version_tmp'
6
+
7
+ def self.should_have_version(major, minor, patch)
8
+ should "have major version #{major}" do
9
+ assert_equal major, @version_helper.major
10
+ end
11
+
12
+ should "have minor version #{minor}" do
13
+ assert_equal minor, @version_helper.minor
14
+ end
15
+
16
+ should "have patch version #{patch}" do
17
+ assert_equal patch, @version_helper.patch
18
+ end
19
+
20
+ version_s = "#{major}.#{minor}.#{patch}"
21
+ should "render string as #{version_s.inspect}" do
22
+ assert_equal version_s, @version_helper.to_s
23
+ end
24
+
25
+ version_hash = {:major => major, :minor => minor, :patch => patch}
26
+ should "render hash as #{version_hash.inspect}" do
27
+ assert_equal version_hash, @version_helper.to_hash
28
+ end
29
+
30
+ end
31
+
32
+ context "VERSION.yml with 3.5.4" do
33
+ setup do
34
+ FileUtils.rm_rf VERSION_TMP_DIR
35
+ FileUtils.mkdir_p VERSION_TMP_DIR
36
+
37
+ build_version_yml VERSION_TMP_DIR, 3, 5, 4
38
+
39
+ @version_helper = Jeweler::VersionHelper.new VERSION_TMP_DIR
40
+ end
41
+
42
+ should_have_version 3, 5, 4
43
+
44
+ context "bumping major version" do
45
+ setup { @version_helper.bump_major }
46
+ should_have_version 4, 0, 0
47
+ end
48
+
49
+ context "bumping the minor version" do
50
+ setup { @version_helper.bump_minor }
51
+ should_have_version 3, 6, 0
52
+ end
53
+
54
+ context "bumping the patch version" do
55
+ setup { @version_helper.bump_patch }
56
+ should_have_version 3, 5, 5
57
+ end
58
+ end
59
+
60
+ context "Non-existant VERSION.yml" do
61
+ setup do
62
+ FileUtils.rm_rf VERSION_TMP_DIR
63
+ FileUtils.mkdir_p VERSION_TMP_DIR
64
+ end
65
+
66
+ should "not raise error if the VERSION.yml doesn't exist" do
67
+ assert_nothing_raised Jeweler::VersionYmlError do
68
+ Jeweler::VersionHelper.new(VERSION_TMP_DIR)
69
+ end
70
+ end
71
+
72
+ context "setting an initial version" do
73
+ setup do
74
+ @version_helper = Jeweler::VersionHelper.new(VERSION_TMP_DIR)
75
+ @version_helper.update_to 0, 0, 1
76
+ end
77
+
78
+ should_have_version 0, 0, 1
79
+ should "not create VERSION.yml" do
80
+ assert ! File.exists?(File.join(VERSION_TMP_DIR, 'VERSION.yml'))
81
+ end
82
+
83
+ context "outputting" do
84
+ setup do
85
+ @version_helper.write
86
+ end
87
+
88
+ should "create VERSION.yml" do
89
+ assert File.exists?(File.join(VERSION_TMP_DIR, 'VERSION.yml'))
90
+ end
91
+
92
+ context "re-reading VERSION.yml" do
93
+ setup do
94
+ @version_helper = Jeweler::VersionHelper.new(VERSION_TMP_DIR)
95
+ end
96
+
97
+ should_have_version 0, 0, 1
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+ def build_version_yml(base_dir, major, minor, patch)
104
+ version_yaml_path = File.join(base_dir, 'VERSION.yml')
105
+
106
+ File.open(version_yaml_path, 'w+') do |f|
107
+ version_hash = {
108
+ 'major' => major.to_i,
109
+ 'minor' => minor.to_i,
110
+ 'patch' => patch.to_i
111
+ }
112
+ YAML.dump(version_hash, f)
113
+ end
114
+ end
115
+ end
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dima-jeweler
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.2
5
+ platform: ruby
6
+ authors:
7
+ - Josh Nichols
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-07 00:00:00 -08:00
13
+ default_executable: jeweler
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: schacon-git
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ description: Simple and opinionated helper for creating Rubygem projects on GitHub
26
+ email: josh@technicalpickles.com
27
+ executables:
28
+ - jeweler
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README.markdown
33
+ - ChangeLog.markdown
34
+ - LICENSE
35
+ files:
36
+ - ChangeLog.markdown
37
+ - LICENSE
38
+ - Rakefile
39
+ - README.markdown
40
+ - TODO
41
+ - VERSION.yml
42
+ - bin/jeweler
43
+ - lib/jeweler
44
+ - lib/jeweler/commands
45
+ - lib/jeweler/commands/build_gem.rb
46
+ - lib/jeweler/commands/install_gem.rb
47
+ - lib/jeweler/commands/release.rb
48
+ - lib/jeweler/commands/release_to_rubyforge.rb
49
+ - lib/jeweler/commands/validate_gemspec.rb
50
+ - lib/jeweler/commands/version
51
+ - lib/jeweler/commands/version/base.rb
52
+ - lib/jeweler/commands/version/bump_major.rb
53
+ - lib/jeweler/commands/version/bump_minor.rb
54
+ - lib/jeweler/commands/version/bump_patch.rb
55
+ - lib/jeweler/commands/version/write.rb
56
+ - lib/jeweler/commands/write_gemspec.rb
57
+ - lib/jeweler/commands.rb
58
+ - lib/jeweler/errors.rb
59
+ - lib/jeweler/gemspec_helper.rb
60
+ - lib/jeweler/generator
61
+ - lib/jeweler/generator/application.rb
62
+ - lib/jeweler/generator/options.rb
63
+ - lib/jeweler/generator.rb
64
+ - lib/jeweler/tasks.rb
65
+ - lib/jeweler/templates
66
+ - lib/jeweler/templates/bacon
67
+ - lib/jeweler/templates/bacon/flunking.rb
68
+ - lib/jeweler/templates/bacon/helper.rb
69
+ - lib/jeweler/templates/features
70
+ - lib/jeweler/templates/features/default.feature
71
+ - lib/jeweler/templates/features/support
72
+ - lib/jeweler/templates/features/support/env.rb
73
+ - lib/jeweler/templates/LICENSE
74
+ - lib/jeweler/templates/micronaut
75
+ - lib/jeweler/templates/micronaut/flunking.rb
76
+ - lib/jeweler/templates/micronaut/helper.rb
77
+ - lib/jeweler/templates/minitest
78
+ - lib/jeweler/templates/minitest/flunking.rb
79
+ - lib/jeweler/templates/minitest/helper.rb
80
+ - lib/jeweler/templates/Rakefile
81
+ - lib/jeweler/templates/README.rdoc
82
+ - lib/jeweler/templates/rspec
83
+ - lib/jeweler/templates/rspec/flunking.rb
84
+ - lib/jeweler/templates/rspec/helper.rb
85
+ - lib/jeweler/templates/shoulda
86
+ - lib/jeweler/templates/shoulda/flunking.rb
87
+ - lib/jeweler/templates/shoulda/helper.rb
88
+ - lib/jeweler/templates/testunit
89
+ - lib/jeweler/templates/testunit/flunking.rb
90
+ - lib/jeweler/templates/testunit/helper.rb
91
+ - lib/jeweler/version_helper.rb
92
+ - lib/jeweler.rb
93
+ - test/fixtures
94
+ - test/fixtures/bar
95
+ - test/fixtures/bar/VERSION.yml
96
+ - test/geminstaller.yml
97
+ - test/generators
98
+ - test/generators/initialization_test.rb
99
+ - test/jeweler
100
+ - test/jeweler/commands
101
+ - test/jeweler/commands/test_build_gem.rb
102
+ - test/jeweler/commands/test_install_gem.rb
103
+ - test/jeweler/commands/test_release.rb
104
+ - test/jeweler/commands/test_release_to_rubyforge.rb
105
+ - test/jeweler/commands/test_write_gemspec.rb
106
+ - test/jeweler/commands/version
107
+ - test/jeweler/commands/version/test_bump_major.rb
108
+ - test/jeweler/commands/version/test_bump_minor.rb
109
+ - test/jeweler/commands/version/test_bump_patch.rb
110
+ - test/jeweler/commands/version/test_write.rb
111
+ - test/shoulda_macros
112
+ - test/shoulda_macros/jeweler_macros.rb
113
+ - test/test_application.rb
114
+ - test/test_gemspec_helper.rb
115
+ - test/test_generator.rb
116
+ - test/test_helper.rb
117
+ - test/test_jeweler.rb
118
+ - test/test_options.rb
119
+ - test/test_tasks.rb
120
+ - test/test_version_helper.rb
121
+ - test/version_tmp
122
+ - test/version_tmp/VERSION.yml
123
+ - lib/jeweler/templates/.gitignore
124
+ has_rdoc: true
125
+ homepage: http://github.com/technicalpickles/jeweler
126
+ post_install_message:
127
+ rdoc_options:
128
+ - --inline-source
129
+ - --charset=UTF-8
130
+ require_paths:
131
+ - lib
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: "0"
137
+ version:
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: "0"
143
+ version:
144
+ requirements: []
145
+
146
+ rubyforge_project:
147
+ rubygems_version: 1.2.0
148
+ signing_key:
149
+ specification_version: 2
150
+ summary: Simple and opinionated helper for creating Rubygem projects on GitHub
151
+ test_files: []
152
+