gohanlonllc-jeweler 0.11.1.20090513153819
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/.gitignore +7 -0
- data/ChangeLog.markdown +83 -0
- data/LICENSE +20 -0
- data/README.markdown +170 -0
- data/ROADMAP +12 -0
- data/Rakefile +106 -0
- data/VERSION.yml +5 -0
- data/bin/jeweler +8 -0
- data/features/generator/cucumber.feature +83 -0
- data/features/generator/directory_layout.feature +76 -0
- data/features/generator/dotdocument.feature +14 -0
- data/features/generator/env_options.feature +9 -0
- data/features/generator/git.feature +94 -0
- data/features/generator/license.feature +11 -0
- data/features/generator/rakefile.feature +110 -0
- data/features/generator/readme.feature +12 -0
- data/features/generator/test.feature +41 -0
- data/features/generator/test_helper.feature +49 -0
- data/features/placeholder.feature +5 -0
- data/features/step_definitions/debug_steps.rb +6 -0
- data/features/step_definitions/filesystem_steps.rb +65 -0
- data/features/step_definitions/generator_steps.rb +251 -0
- data/features/step_definitions/task_steps.rb +6 -0
- data/features/support/env.rb +19 -0
- data/features/tasks/build_gem.feature +9 -0
- data/features/tasks/version.feature +24 -0
- data/features/tasks/version_bumping.feature +33 -0
- data/jeweler.gemspec +205 -0
- data/lib/jeweler/commands/build_gem.rb +31 -0
- data/lib/jeweler/commands/install_gem.rb +26 -0
- data/lib/jeweler/commands/release.rb +83 -0
- data/lib/jeweler/commands/release_to_rubyforge.rb +51 -0
- data/lib/jeweler/commands/setup_rubyforge.rb +38 -0
- data/lib/jeweler/commands/validate_gemspec.rb +30 -0
- data/lib/jeweler/commands/version/base.rb +41 -0
- data/lib/jeweler/commands/version/bump_major.rb +13 -0
- data/lib/jeweler/commands/version/bump_minor.rb +12 -0
- data/lib/jeweler/commands/version/bump_patch.rb +14 -0
- data/lib/jeweler/commands/version/bump_timestamp.rb +14 -0
- data/lib/jeweler/commands/version/write.rb +12 -0
- data/lib/jeweler/commands/write_gemspec.rb +39 -0
- data/lib/jeweler/commands.rb +13 -0
- data/lib/jeweler/errors.rb +20 -0
- data/lib/jeweler/gemspec_helper.rb +76 -0
- data/lib/jeweler/generator/application.rb +54 -0
- data/lib/jeweler/generator/bacon_mixin.rb +39 -0
- data/lib/jeweler/generator/micronaut_mixin.rb +38 -0
- data/lib/jeweler/generator/minitest_mixin.rb +39 -0
- data/lib/jeweler/generator/options.rb +77 -0
- data/lib/jeweler/generator/rspec_mixin.rb +39 -0
- data/lib/jeweler/generator/shoulda_mixin.rb +39 -0
- data/lib/jeweler/generator/testunit_mixin.rb +39 -0
- data/lib/jeweler/generator.rb +284 -0
- data/lib/jeweler/rubyforge_tasks.rb +46 -0
- data/lib/jeweler/specification.rb +65 -0
- data/lib/jeweler/tasks.rb +131 -0
- data/lib/jeweler/templates/.document +5 -0
- data/lib/jeweler/templates/.gitignore +5 -0
- data/lib/jeweler/templates/LICENSE +20 -0
- data/lib/jeweler/templates/README.rdoc +7 -0
- data/lib/jeweler/templates/Rakefile +102 -0
- data/lib/jeweler/templates/bacon/flunking.rb +7 -0
- data/lib/jeweler/templates/bacon/helper.rb +8 -0
- data/lib/jeweler/templates/features/default.feature +9 -0
- data/lib/jeweler/templates/features/support/env.rb +8 -0
- data/lib/jeweler/templates/micronaut/flunking.rb +7 -0
- data/lib/jeweler/templates/micronaut/helper.rb +17 -0
- data/lib/jeweler/templates/minitest/flunking.rb +7 -0
- data/lib/jeweler/templates/minitest/helper.rb +11 -0
- data/lib/jeweler/templates/rspec/flunking.rb +7 -0
- data/lib/jeweler/templates/rspec/helper.rb +9 -0
- data/lib/jeweler/templates/shoulda/flunking.rb +7 -0
- data/lib/jeweler/templates/shoulda/helper.rb +10 -0
- data/lib/jeweler/templates/testunit/flunking.rb +7 -0
- data/lib/jeweler/templates/testunit/helper.rb +9 -0
- data/lib/jeweler/version_helper.rb +140 -0
- data/lib/jeweler.rb +155 -0
- data/test/fixtures/bar/VERSION.yml +4 -0
- data/test/fixtures/bar/bin/foo_the_ultimate_bin +1 -0
- data/test/fixtures/bar/hey_include_me_in_gemspec +0 -0
- data/test/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -0
- data/test/fixtures/existing-project-with-version-plaintext/.document +5 -0
- data/test/fixtures/existing-project-with-version-plaintext/.gitignore +5 -0
- data/test/fixtures/existing-project-with-version-plaintext/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version-plaintext/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version-plaintext/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version-plaintext/VERSION +1 -0
- data/test/fixtures/existing-project-with-version-plaintext/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version-plaintext/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version-plaintext/test/test_helper.rb +10 -0
- data/test/fixtures/existing-project-with-version-yaml/.document +5 -0
- data/test/fixtures/existing-project-with-version-yaml/.gitignore +5 -0
- data/test/fixtures/existing-project-with-version-yaml/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version-yaml/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version-yaml/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version-yaml/VERSION.yml +4 -0
- data/test/fixtures/existing-project-with-version-yaml/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version-yaml/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version-yaml/test/test_helper.rb +10 -0
- data/test/geminstaller.yml +12 -0
- data/test/jeweler/commands/test_build_gem.rb +72 -0
- data/test/jeweler/commands/test_install_gem.rb +21 -0
- data/test/jeweler/commands/test_release.rb +405 -0
- data/test/jeweler/commands/test_release_to_rubyforge.rb +157 -0
- data/test/jeweler/commands/test_setup_rubyforge.rb +88 -0
- data/test/jeweler/commands/test_validate_gemspec.rb +27 -0
- data/test/jeweler/commands/test_write_gemspec.rb +92 -0
- data/test/jeweler/commands/version/test_base.rb +32 -0
- data/test/jeweler/commands/version/test_bump_major.rb +22 -0
- data/test/jeweler/commands/version/test_bump_minor.rb +19 -0
- data/test/jeweler/commands/version/test_bump_patch.rb +20 -0
- data/test/jeweler/commands/version/test_write.rb +23 -0
- data/test/shoulda_macros/jeweler_macros.rb +35 -0
- data/test/test_application.rb +139 -0
- data/test/test_gemspec_helper.rb +40 -0
- data/test/test_generator.rb +154 -0
- data/test/test_generator_initialization.rb +113 -0
- data/test/test_generator_mixins.rb +18 -0
- data/test/test_helper.rb +133 -0
- data/test/test_jeweler.rb +174 -0
- data/test/test_options.rb +116 -0
- data/test/test_specification.rb +61 -0
- data/test/test_tasks.rb +51 -0
- data/test/test_version_helper.rb +153 -0
- metadata +229 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
class Jeweler
|
2
|
+
module Commands
|
3
|
+
class WriteGemspec
|
4
|
+
attr_accessor :base_dir, :gemspec, :version, :output, :gemspec_helper, :version_helper
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
self.output = $stdout
|
8
|
+
end
|
9
|
+
|
10
|
+
def run
|
11
|
+
version_helper.refresh
|
12
|
+
gemspec_helper.spec.version = version_helper.to_s
|
13
|
+
gemspec_helper.spec.date = Time.now
|
14
|
+
|
15
|
+
gemspec_helper.write
|
16
|
+
|
17
|
+
output.puts "Generated: #{gemspec_helper.path}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def gemspec_helper
|
21
|
+
@gemspec_helper ||= GemSpecHelper.new(self.gemspec, self.base_dir)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.build_for(jeweler)
|
25
|
+
command = new
|
26
|
+
|
27
|
+
command.base_dir = jeweler.base_dir
|
28
|
+
command.gemspec = jeweler.gemspec
|
29
|
+
command.version = jeweler.version
|
30
|
+
command.output = jeweler.output
|
31
|
+
command.gemspec_helper = jeweler.gemspec_helper
|
32
|
+
command.version_helper = jeweler.version_helper
|
33
|
+
|
34
|
+
command
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'jeweler/commands/build_gem'
|
2
|
+
require 'jeweler/commands/install_gem'
|
3
|
+
require 'jeweler/commands/release'
|
4
|
+
require 'jeweler/commands/release_to_rubyforge'
|
5
|
+
require 'jeweler/commands/setup_rubyforge'
|
6
|
+
require 'jeweler/commands/validate_gemspec'
|
7
|
+
require 'jeweler/commands/write_gemspec'
|
8
|
+
require 'jeweler/commands/version/base'
|
9
|
+
require 'jeweler/commands/version/bump_major'
|
10
|
+
require 'jeweler/commands/version/bump_minor'
|
11
|
+
require 'jeweler/commands/version/bump_patch'
|
12
|
+
require 'jeweler/commands/version/bump_timestamp'
|
13
|
+
require 'jeweler/commands/version/write'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class Jeweler
|
2
|
+
# Gemspec related error
|
3
|
+
class GemspecError < StandardError
|
4
|
+
end
|
5
|
+
|
6
|
+
class VersionYmlError < StandardError
|
7
|
+
end
|
8
|
+
|
9
|
+
# Occurs when interacting with RubyForge, and an expected project isn't available on RubyForge.
|
10
|
+
class MissingRubyForgePackageError < StandardError
|
11
|
+
end
|
12
|
+
|
13
|
+
# Occurs when interacting with RubyForge, and 'rubyforge_project' isn't set on the Gem::Specification
|
14
|
+
class NoRubyForgeProjectInGemspecError < StandardError
|
15
|
+
end
|
16
|
+
|
17
|
+
# Occurs when interacting with RubyForge, and the 'rubyforge_project' isn't setup in ~/.rubyforge/autoconfig.yml or it doesn't exist on RubyForge
|
18
|
+
class RubyForgeProjectNotConfiguredError < StandardError
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
class Jeweler
|
2
|
+
|
3
|
+
class GemSpecHelper
|
4
|
+
|
5
|
+
attr_accessor :spec, :base_dir
|
6
|
+
|
7
|
+
def initialize(spec, base_dir = nil)
|
8
|
+
self.spec = spec
|
9
|
+
self.base_dir = base_dir || ''
|
10
|
+
|
11
|
+
yield spec if block_given?
|
12
|
+
end
|
13
|
+
|
14
|
+
def valid?
|
15
|
+
begin
|
16
|
+
parse
|
17
|
+
true
|
18
|
+
rescue
|
19
|
+
false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def write
|
24
|
+
normalize_files(:files)
|
25
|
+
normalize_files(:files)
|
26
|
+
normalize_files(:extra_rdoc_files)
|
27
|
+
|
28
|
+
File.open(path, 'w') do |f|
|
29
|
+
gemspec_ruby = @spec.to_ruby
|
30
|
+
gemspec_ruby = prettyify_array(gemspec_ruby, :files)
|
31
|
+
gemspec_ruby = prettyify_array(gemspec_ruby, :test_files)
|
32
|
+
gemspec_ruby = prettyify_array(gemspec_ruby, :extra_rdoc_files)
|
33
|
+
f.write gemspec_ruby
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def path
|
38
|
+
denormalized_path = File.join(@base_dir, "#{@spec.name}.gemspec")
|
39
|
+
absolute_path = File.expand_path(denormalized_path)
|
40
|
+
absolute_path.gsub(Dir.getwd + File::SEPARATOR, '')
|
41
|
+
end
|
42
|
+
|
43
|
+
def parse
|
44
|
+
data = File.read(path)
|
45
|
+
parsed_gemspec = nil
|
46
|
+
Thread.new { parsed_gemspec = eval("$SAFE = 3\n#{data}", binding, path) }.join
|
47
|
+
parsed_gemspec
|
48
|
+
end
|
49
|
+
|
50
|
+
def normalize_files(array_name)
|
51
|
+
array = @spec.send(array_name)
|
52
|
+
# only keep files, no directories, and sort
|
53
|
+
array = array.select do |path|
|
54
|
+
File.file? File.join(@base_dir, path)
|
55
|
+
end.sort
|
56
|
+
|
57
|
+
@spec.send("#{array_name}=", array)
|
58
|
+
end
|
59
|
+
|
60
|
+
def prettyify_array(gemspec_ruby, array_name)
|
61
|
+
gemspec_ruby.gsub(/s\.#{array_name.to_s} = \[.+?\]/) do |match|
|
62
|
+
leadin, files = match[0..-2].split("[")
|
63
|
+
leadin + "[\n #{files.split(",").join(",\n ")}\n ]"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def gem_path
|
68
|
+
File.join(@base_dir, 'pkg', parse.file_name)
|
69
|
+
end
|
70
|
+
|
71
|
+
def update_version(version)
|
72
|
+
@spec.version = version.to_s
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
class Application
|
4
|
+
class << self
|
5
|
+
def run!(*arguments)
|
6
|
+
env_opts = if ENV['JEWELER_OPTS']
|
7
|
+
Jeweler::Generator::Options.new(ENV['JEWELER_OPTS'].split(' '))
|
8
|
+
end
|
9
|
+
options = Jeweler::Generator::Options.new(arguments)
|
10
|
+
options = options.merge(env_opts) if env_opts
|
11
|
+
|
12
|
+
if options[:invalid_argument]
|
13
|
+
$stderr.puts options[:invalid_argument]
|
14
|
+
options[:show_help] = true
|
15
|
+
end
|
16
|
+
|
17
|
+
if options[:show_help]
|
18
|
+
$stderr.puts options.opts
|
19
|
+
return 1
|
20
|
+
end
|
21
|
+
|
22
|
+
unless arguments.size == 1
|
23
|
+
$stderr.puts options.opts
|
24
|
+
return 1
|
25
|
+
end
|
26
|
+
|
27
|
+
project_name = arguments.first
|
28
|
+
|
29
|
+
begin
|
30
|
+
generator = Jeweler::Generator.new(project_name, options)
|
31
|
+
generator.run
|
32
|
+
return 0
|
33
|
+
rescue Jeweler::NoGitUserName
|
34
|
+
$stderr.puts %Q{No user.name found in ~/.gitconfig. Please tell git about yourself (see http://github.com/guides/tell-git-your-user-name-and-email-address for details). For example: git config --global user.name "mad voo"}
|
35
|
+
return 1
|
36
|
+
rescue Jeweler::NoGitUserEmail
|
37
|
+
$stderr.puts %Q{No user.email found in ~/.gitconfig. Please tell git about yourself (see http://github.com/guides/tell-git-your-user-name-and-email-address for details). For example: git config --global user.email mad.vooo@gmail.com}
|
38
|
+
return 1
|
39
|
+
rescue Jeweler::NoGitHubUser
|
40
|
+
$stderr.puts %Q{No github.user found in ~/.gitconfig. Please tell git about your GitHub account (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.user defunkt}
|
41
|
+
return 1
|
42
|
+
rescue Jeweler::NoGitHubToken
|
43
|
+
$stderr.puts %Q{No github.token found in ~/.gitconfig. Please tell git about your GitHub account (see http://github.com/blog/180-local-github-config for details). For example: git config --global github.token 6ef8395fecf207165f1a82178ae1b984}
|
44
|
+
return 1
|
45
|
+
rescue Jeweler::FileInTheWay
|
46
|
+
$stderr.puts "The directory #{project_name} already exists. Maybe move it out of the way before continuing?"
|
47
|
+
return 1
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
module BaconMixin
|
4
|
+
|
5
|
+
def default_task
|
6
|
+
'spec'
|
7
|
+
end
|
8
|
+
|
9
|
+
def feature_support_require
|
10
|
+
'test/unit/assertions'
|
11
|
+
end
|
12
|
+
|
13
|
+
def feature_support_extend
|
14
|
+
'Test::Unit::Assertions' # NOTE can't use bacon inside of cucumber actually
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_dir
|
18
|
+
'spec'
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_task
|
22
|
+
'spec'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pattern
|
26
|
+
'spec/**/*_spec.rb'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_filename
|
30
|
+
"#{require_name}_spec.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_helper_filename
|
34
|
+
"spec_helper.rb"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
module MicronautMixin
|
4
|
+
|
5
|
+
def default_task
|
6
|
+
'examples'
|
7
|
+
end
|
8
|
+
|
9
|
+
def feature_support_require
|
10
|
+
'micronaut/expectations'
|
11
|
+
end
|
12
|
+
|
13
|
+
def feature_support_extend
|
14
|
+
'Micronaut::Matchers'
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_dir
|
18
|
+
'examples'
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_task
|
22
|
+
'examples'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pattern
|
26
|
+
'examples/**/*_example.rb'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_filename
|
30
|
+
"#{require_name}_example.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_helper_filename
|
34
|
+
"example_helper.rb"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
module MinitestMixin
|
4
|
+
|
5
|
+
def default_task
|
6
|
+
'test'
|
7
|
+
end
|
8
|
+
|
9
|
+
def feature_support_require
|
10
|
+
'mini/test'
|
11
|
+
end
|
12
|
+
|
13
|
+
def feature_support_extend
|
14
|
+
'Mini::Test::Assertions'
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_dir
|
18
|
+
'test'
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_task
|
22
|
+
'test'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pattern
|
26
|
+
'test/**/*_test.rb'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_filename
|
30
|
+
"#{require_name}_test.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_helper_filename
|
34
|
+
"test_helper.rb"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
class Options < Hash
|
4
|
+
attr_reader :opts, :orig_args
|
5
|
+
|
6
|
+
def initialize(args)
|
7
|
+
super()
|
8
|
+
|
9
|
+
@orig_args = args.clone
|
10
|
+
self[:testing_framework] = :shoulda
|
11
|
+
|
12
|
+
@opts = OptionParser.new do |o|
|
13
|
+
o.banner = "Usage: #{File.basename($0)} [options] reponame\ne.g. #{File.basename($0)} the-perfect-gem"
|
14
|
+
|
15
|
+
o.on('--bacon', 'generate bacon specifications') do
|
16
|
+
self[:testing_framework] = :bacon
|
17
|
+
end
|
18
|
+
|
19
|
+
o.on('--shoulda', 'generate shoulda tests') do
|
20
|
+
self[:testing_framework] = :shoulda
|
21
|
+
end
|
22
|
+
|
23
|
+
o.on('--testunit', 'generate test/unit tests') do
|
24
|
+
self[:testing_framework] = :testunit
|
25
|
+
end
|
26
|
+
|
27
|
+
o.on('--minitest', 'generate minitest tests') do
|
28
|
+
self[:testing_framework] = :minitest
|
29
|
+
end
|
30
|
+
|
31
|
+
o.on('--rspec', 'generate rspec code examples') do
|
32
|
+
self[:testing_framework] = :rspec
|
33
|
+
end
|
34
|
+
|
35
|
+
o.on('--micronaut', 'generate micronaut examples') do
|
36
|
+
self[:testing_framework] = :micronaut
|
37
|
+
end
|
38
|
+
|
39
|
+
o.on('--cucumber', 'generate cucumber stories in addition to the other tests') do
|
40
|
+
self[:use_cucumber] = true
|
41
|
+
end
|
42
|
+
|
43
|
+
o.on('--create-repo', 'create the repository on GitHub') do
|
44
|
+
self[:create_repo] = true
|
45
|
+
end
|
46
|
+
|
47
|
+
o.on('--rubyforge', 'setup project for rubyforge') do
|
48
|
+
self[:rubyforge] = true
|
49
|
+
end
|
50
|
+
|
51
|
+
o.on('--summary [SUMMARY]', 'specify the summary of the project') do |summary|
|
52
|
+
self[:summary] = summary
|
53
|
+
end
|
54
|
+
|
55
|
+
o.on('--directory [DIRECTORY]', 'specify the directory to generate into') do |directory|
|
56
|
+
self[:directory] = directory
|
57
|
+
end
|
58
|
+
|
59
|
+
o.on_tail('-h', '--help', 'display this help and exit') do
|
60
|
+
self[:show_help] = true
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
begin
|
65
|
+
@opts.parse!(args)
|
66
|
+
rescue OptionParser::InvalidOption => e
|
67
|
+
self[:invalid_argument] = e.message
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def merge(other)
|
72
|
+
self.class.new(@orig_args + other.orig_args)
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
module RspecMixin
|
4
|
+
|
5
|
+
def default_task
|
6
|
+
'spec'
|
7
|
+
end
|
8
|
+
|
9
|
+
def feature_support_require
|
10
|
+
'spec/expectations'
|
11
|
+
end
|
12
|
+
|
13
|
+
def feature_support_extend
|
14
|
+
nil # Cucumber is smart enough extend Spec::Expectations on its own
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_dir
|
18
|
+
'spec'
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_task
|
22
|
+
'spec'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pattern
|
26
|
+
'spec/**/*_spec.rb'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_filename
|
30
|
+
"#{require_name}_spec.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_helper_filename
|
34
|
+
"spec_helper.rb"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
module ShouldaMixin
|
4
|
+
|
5
|
+
def default_task
|
6
|
+
'test'
|
7
|
+
end
|
8
|
+
|
9
|
+
def feature_support_require
|
10
|
+
'test/unit/assertions'
|
11
|
+
end
|
12
|
+
|
13
|
+
def feature_support_extend
|
14
|
+
'Test::Unit::Assertions'
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_dir
|
18
|
+
'test'
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_task
|
22
|
+
'test'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pattern
|
26
|
+
'test/**/*_test.rb'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_filename
|
30
|
+
"#{require_name}_test.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_helper_filename
|
34
|
+
"test_helper.rb"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Jeweler
|
2
|
+
class Generator
|
3
|
+
module TestunitMixin
|
4
|
+
|
5
|
+
def default_task
|
6
|
+
'test'
|
7
|
+
end
|
8
|
+
|
9
|
+
def feature_support_require
|
10
|
+
'test/unit/assertions'
|
11
|
+
end
|
12
|
+
|
13
|
+
def feature_support_extend
|
14
|
+
'Test::Unit::Assertions'
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_dir
|
18
|
+
'test'
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_task
|
22
|
+
'test'
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pattern
|
26
|
+
'test/**/*_test.rb'
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_filename
|
30
|
+
"#{require_name}_test.rb"
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_helper_filename
|
34
|
+
"test_helper.rb"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|