mcornick-jeweler 1.2.0

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 (130) hide show
  1. data/.gitignore +9 -0
  2. data/ChangeLog.markdown +111 -0
  3. data/LICENSE +20 -0
  4. data/README.markdown +185 -0
  5. data/ROADMAP +12 -0
  6. data/Rakefile +103 -0
  7. data/VERSION.yml +4 -0
  8. data/bin/jeweler +8 -0
  9. data/features/generator/cucumber.feature +83 -0
  10. data/features/generator/directory_layout.feature +76 -0
  11. data/features/generator/dotdocument.feature +14 -0
  12. data/features/generator/env_options.feature +9 -0
  13. data/features/generator/git.feature +94 -0
  14. data/features/generator/license.feature +11 -0
  15. data/features/generator/rakefile.feature +151 -0
  16. data/features/generator/readme.feature +12 -0
  17. data/features/generator/test.feature +41 -0
  18. data/features/generator/test_helper.feature +49 -0
  19. data/features/placeholder.feature +5 -0
  20. data/features/step_definitions/debug_steps.rb +6 -0
  21. data/features/step_definitions/filesystem_steps.rb +68 -0
  22. data/features/step_definitions/generator_steps.rb +284 -0
  23. data/features/step_definitions/task_steps.rb +6 -0
  24. data/features/support/env.rb +29 -0
  25. data/features/tasks/build_gem.feature +9 -0
  26. data/features/tasks/version.feature +24 -0
  27. data/features/tasks/version_bumping.feature +33 -0
  28. data/jeweler.gemspec +225 -0
  29. data/lib/jeweler.rb +153 -0
  30. data/lib/jeweler/commands.rb +14 -0
  31. data/lib/jeweler/commands/build_gem.rb +31 -0
  32. data/lib/jeweler/commands/check_dependencies.rb +52 -0
  33. data/lib/jeweler/commands/install_gem.rb +40 -0
  34. data/lib/jeweler/commands/release.rb +86 -0
  35. data/lib/jeweler/commands/release_to_rubyforge.rb +51 -0
  36. data/lib/jeweler/commands/setup_rubyforge.rb +57 -0
  37. data/lib/jeweler/commands/validate_gemspec.rb +30 -0
  38. data/lib/jeweler/commands/version/base.rb +41 -0
  39. data/lib/jeweler/commands/version/bump_major.rb +13 -0
  40. data/lib/jeweler/commands/version/bump_minor.rb +12 -0
  41. data/lib/jeweler/commands/version/bump_patch.rb +14 -0
  42. data/lib/jeweler/commands/version/write.rb +12 -0
  43. data/lib/jeweler/commands/write_gemspec.rb +39 -0
  44. data/lib/jeweler/errors.rb +20 -0
  45. data/lib/jeweler/gemspec_helper.rb +79 -0
  46. data/lib/jeweler/generator.rb +306 -0
  47. data/lib/jeweler/generator/application.rb +54 -0
  48. data/lib/jeweler/generator/bacon_mixin.rb +43 -0
  49. data/lib/jeweler/generator/micronaut_mixin.rb +41 -0
  50. data/lib/jeweler/generator/minitest_mixin.rb +42 -0
  51. data/lib/jeweler/generator/options.rb +102 -0
  52. data/lib/jeweler/generator/rdoc_mixin.rb +9 -0
  53. data/lib/jeweler/generator/rspec_mixin.rb +42 -0
  54. data/lib/jeweler/generator/shoulda_mixin.rb +42 -0
  55. data/lib/jeweler/generator/testunit_mixin.rb +39 -0
  56. data/lib/jeweler/generator/yard_mixin.rb +14 -0
  57. data/lib/jeweler/rubyforge_tasks.rb +98 -0
  58. data/lib/jeweler/specification.rb +66 -0
  59. data/lib/jeweler/tasks.rb +135 -0
  60. data/lib/jeweler/templates/.document +5 -0
  61. data/lib/jeweler/templates/.gitignore +5 -0
  62. data/lib/jeweler/templates/LICENSE +20 -0
  63. data/lib/jeweler/templates/README.rdoc +18 -0
  64. data/lib/jeweler/templates/Rakefile +153 -0
  65. data/lib/jeweler/templates/bacon/flunking.rb +7 -0
  66. data/lib/jeweler/templates/bacon/helper.rb +8 -0
  67. data/lib/jeweler/templates/features/default.feature +9 -0
  68. data/lib/jeweler/templates/features/support/env.rb +8 -0
  69. data/lib/jeweler/templates/micronaut/flunking.rb +7 -0
  70. data/lib/jeweler/templates/micronaut/helper.rb +17 -0
  71. data/lib/jeweler/templates/minitest/flunking.rb +7 -0
  72. data/lib/jeweler/templates/minitest/helper.rb +11 -0
  73. data/lib/jeweler/templates/rspec/flunking.rb +7 -0
  74. data/lib/jeweler/templates/rspec/helper.rb +10 -0
  75. data/lib/jeweler/templates/shoulda/flunking.rb +7 -0
  76. data/lib/jeweler/templates/shoulda/helper.rb +10 -0
  77. data/lib/jeweler/templates/testunit/flunking.rb +7 -0
  78. data/lib/jeweler/templates/testunit/helper.rb +9 -0
  79. data/lib/jeweler/version_helper.rb +128 -0
  80. data/test/fixtures/bar/VERSION.yml +4 -0
  81. data/test/fixtures/bar/bin/foo_the_ultimate_bin +1 -0
  82. data/test/fixtures/bar/hey_include_me_in_gemspec +0 -0
  83. data/test/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -0
  84. data/test/fixtures/existing-project-with-version-plaintext/.document +5 -0
  85. data/test/fixtures/existing-project-with-version-plaintext/.gitignore +5 -0
  86. data/test/fixtures/existing-project-with-version-plaintext/LICENSE +20 -0
  87. data/test/fixtures/existing-project-with-version-plaintext/README.rdoc +7 -0
  88. data/test/fixtures/existing-project-with-version-plaintext/Rakefile +82 -0
  89. data/test/fixtures/existing-project-with-version-plaintext/VERSION +1 -0
  90. data/test/fixtures/existing-project-with-version-plaintext/existing-project-with-version.gemspec +29 -0
  91. data/test/fixtures/existing-project-with-version-plaintext/lib/existing_project_with_version.rb +0 -0
  92. data/test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb +7 -0
  93. data/test/fixtures/existing-project-with-version-plaintext/test/test_helper.rb +10 -0
  94. data/test/fixtures/existing-project-with-version-yaml/.document +5 -0
  95. data/test/fixtures/existing-project-with-version-yaml/.gitignore +5 -0
  96. data/test/fixtures/existing-project-with-version-yaml/LICENSE +20 -0
  97. data/test/fixtures/existing-project-with-version-yaml/README.rdoc +7 -0
  98. data/test/fixtures/existing-project-with-version-yaml/Rakefile +82 -0
  99. data/test/fixtures/existing-project-with-version-yaml/VERSION.yml +4 -0
  100. data/test/fixtures/existing-project-with-version-yaml/bin/foo_the_ultimate_bin +0 -0
  101. data/test/fixtures/existing-project-with-version-yaml/existing-project-with-version.gemspec +29 -0
  102. data/test/fixtures/existing-project-with-version-yaml/lib/existing_project_with_version.rb +0 -0
  103. data/test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb +7 -0
  104. data/test/fixtures/existing-project-with-version-yaml/test/test_helper.rb +10 -0
  105. data/test/geminstaller.yml +12 -0
  106. data/test/jeweler/commands/test_build_gem.rb +72 -0
  107. data/test/jeweler/commands/test_install_gem.rb +74 -0
  108. data/test/jeweler/commands/test_release.rb +362 -0
  109. data/test/jeweler/commands/test_release_to_rubyforge.rb +157 -0
  110. data/test/jeweler/commands/test_setup_rubyforge.rb +182 -0
  111. data/test/jeweler/commands/test_validate_gemspec.rb +27 -0
  112. data/test/jeweler/commands/test_write_gemspec.rb +92 -0
  113. data/test/jeweler/commands/version/test_base.rb +32 -0
  114. data/test/jeweler/commands/version/test_bump_major.rb +22 -0
  115. data/test/jeweler/commands/version/test_bump_minor.rb +19 -0
  116. data/test/jeweler/commands/version/test_bump_patch.rb +20 -0
  117. data/test/jeweler/commands/version/test_write.rb +23 -0
  118. data/test/shoulda_macros/jeweler_macros.rb +35 -0
  119. data/test/test_application.rb +139 -0
  120. data/test/test_gemspec_helper.rb +40 -0
  121. data/test/test_generator.rb +166 -0
  122. data/test/test_generator_initialization.rb +156 -0
  123. data/test/test_generator_mixins.rb +18 -0
  124. data/test/test_helper.rb +159 -0
  125. data/test/test_jeweler.rb +174 -0
  126. data/test/test_options.rb +149 -0
  127. data/test/test_specification.rb +61 -0
  128. data/test/test_tasks.rb +35 -0
  129. data/test/test_version_helper.rb +153 -0
  130. metadata +283 -0
@@ -0,0 +1,66 @@
1
+ require 'rubygems/specification'
2
+
3
+ class Jeweler
4
+ # Extend a Gem::Specification instance with this module to give it Jeweler
5
+ # super-cow powers.
6
+ module Specification
7
+
8
+ def self.filelist_attribute(name)
9
+ code = %{
10
+ def #{name}
11
+ @#{name} ||= FileList[]
12
+ end
13
+ def #{name}=(value)
14
+ @#{name} = FileList[value]
15
+ end
16
+ }
17
+
18
+ module_eval code, __FILE__, __LINE__ - 9
19
+ end
20
+
21
+ filelist_attribute :files
22
+ filelist_attribute :test_files
23
+ filelist_attribute :extra_rdoc_files
24
+
25
+
26
+ # Assigns the Jeweler defaults to the Gem::Specification
27
+ def set_jeweler_defaults(base_dir)
28
+ Dir.chdir(base_dir) do
29
+ if blank?(files) && File.directory?(File.join(base_dir, '.git'))
30
+ repo = Git.open(base_dir)
31
+ self.files = repo.ls_files.keys - repo.lib.ignored_files
32
+ end
33
+
34
+ if blank?(test_files) && File.directory?(File.join(base_dir, '.git'))
35
+ repo = Git.open(base_dir)
36
+ self.test_files = FileList['{spec,test,examples}/**/*.rb'] - repo.lib.ignored_files
37
+ end
38
+
39
+ if blank?(executables)
40
+ self.executables = Dir["bin/*"].map { |f| File.basename(f) }
41
+ end
42
+
43
+ self.has_rdoc = true
44
+ rdoc_options << '--charset=UTF-8'
45
+
46
+ if blank?(extra_rdoc_files)
47
+ self.extra_rdoc_files = FileList["README*", "ChangeLog*", "LICENSE*"]
48
+ end
49
+ end
50
+ end
51
+
52
+ # Used by Specification#to_ruby to generate a ruby-respresentation of a Gem::Specification
53
+ def ruby_code(obj)
54
+ case obj
55
+ when Rake::FileList then obj.to_a.inspect
56
+ else super
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ def blank?(value)
63
+ value.nil? || value.empty?
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,135 @@
1
+ require 'rake'
2
+ require 'rake/tasklib'
3
+
4
+ class Rake::Application
5
+ attr_accessor :jeweler
6
+ end
7
+
8
+ class Jeweler
9
+ # Rake tasks for managing your gem.
10
+ #
11
+ # Here's a basic example of using it:
12
+ #
13
+ # Jeweler::Tasks.new do |gem|
14
+ # gem.name = "jeweler"
15
+ # gem.summary = "Simple and opinionated helper for creating Rubygem projects on GitHub"
16
+ # gem.email = "josh@technicalpickles.com"
17
+ # gem.homepage = "http://github.com/technicalpickles/jeweler"
18
+ # gem.description = "Simple and opinionated helper for creating Rubygem projects on GitHub"
19
+ # gem.authors = ["Josh Nichols"]
20
+ # end
21
+ #
22
+ # The block variable gem is actually a Gem::Specification, so you can do anything you would normally do with a Gem::Specification. For more details, see the official gemspec reference: http://docs.rubygems.org/read/chapter/20
23
+ #
24
+ # Jeweler fills in a few reasonable defaults for you:
25
+ #
26
+ # [gem.files] a Rake::FileList of anything that is in git and not gitignored. You can include/exclude this default set, or override it entirely
27
+ # [gem.test_files] Similar to gem.files, except it's only things under the spec, test, or examples directory.
28
+ # [gem.extra_rdoc_files] a Rake::FileList including files like README*, ChangeLog*, and LICENSE*
29
+ # [gem.executables] uses anything found in the bin/ directory. You can override this.
30
+ #
31
+ class Tasks < ::Rake::TaskLib
32
+ attr_accessor :gemspec, :jeweler
33
+
34
+ def initialize(gemspec = nil, &block)
35
+ @gemspec = gemspec || Gem::Specification.new
36
+ @jeweler = Jeweler.new(@gemspec)
37
+ yield @gemspec if block_given?
38
+
39
+ Rake.application.jeweler = @jeweler
40
+ define
41
+ end
42
+
43
+ private
44
+ def define
45
+ task :version_required do
46
+ unless jeweler.version_exists?
47
+ abort "Expected VERSION or VERSION.yml to exist. See version:write to create an initial one."
48
+ end
49
+ end
50
+
51
+ desc "Build gem"
52
+ task :build do
53
+ jeweler.build_gem
54
+ end
55
+
56
+ desc "Install gem using sudo"
57
+ task :install => :build do
58
+ jeweler.install_gem
59
+ end
60
+
61
+ desc "Generate and validates gemspec"
62
+ task :gemspec => ['gemspec:generate', 'gemspec:validate']
63
+
64
+ namespace :gemspec do
65
+ desc "Validates the gemspec"
66
+ task :validate => :version_required do
67
+ jeweler.validate_gemspec
68
+ end
69
+
70
+ desc "Generates the gemspec, using version from VERSION"
71
+ task :generate => :version_required do
72
+ jeweler.write_gemspec
73
+ end
74
+ end
75
+
76
+ desc "Displays the current version"
77
+ task :version => :version_required do
78
+ $stdout.puts "Current version: #{jeweler.version}"
79
+ end
80
+
81
+ namespace :version do
82
+ desc "Writes out an explicit version. Respects the following environment variables, or defaults to 0: MAJOR, MINOR, PATCH"
83
+ task :write do
84
+ major, minor, patch = ENV['MAJOR'].to_i, ENV['MINOR'].to_i, ENV['PATCH'].to_i
85
+ jeweler.write_version(major, minor, patch, :announce => false, :commit => false)
86
+ $stdout.puts "Updated version: #{jeweler.version}"
87
+ end
88
+
89
+ namespace :bump do
90
+ desc "Bump the gemspec by a major version."
91
+ task :major => [:version_required, :version] do
92
+ jeweler.bump_major_version
93
+ $stdout.puts "Updated version: #{jeweler.version}"
94
+ end
95
+
96
+ desc "Bump the gemspec by a minor version."
97
+ task :minor => [:version_required, :version] do
98
+ jeweler.bump_minor_version
99
+ $stdout.puts "Updated version: #{jeweler.version}"
100
+ end
101
+
102
+ desc "Bump the gemspec by a patch version."
103
+ task :patch => [:version_required, :version] do
104
+ jeweler.bump_patch_version
105
+ $stdout.puts "Updated version: #{jeweler.version}"
106
+ end
107
+ end
108
+ end
109
+
110
+ desc "Release the current version. Includes updating the gemspec, pushing, and tagging the release"
111
+ task :release do
112
+ jeweler.release
113
+ end
114
+
115
+ desc "Check that runtime and development dependencies are installed"
116
+ task :check_dependencies do
117
+ jeweler.check_dependencies
118
+ end
119
+
120
+ namespace :check_dependencies do
121
+ desc "Check that runtime dependencies are installed"
122
+ task :runtime do
123
+ jeweler.check_dependencies(:runtime)
124
+ end
125
+
126
+ desc"Check that development dependencies are installed"
127
+ task :development do
128
+ jeweler.check_dependencies(:development)
129
+ end
130
+
131
+ end
132
+
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 <%= user_name %>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,18 @@
1
+ = <%= project_name %>
2
+
3
+ Description goes here.
4
+
5
+ == Note on Patches/Pull Requests
6
+
7
+ * Fork the project.
8
+ * Make your feature addition or bug fix.
9
+ * Add tests for it. This is important so I don't break it in a
10
+ future version unintentionally.
11
+ * Commit, do not mess with rakefile, version, or history.
12
+ (if you want to have your own version, that is fine but
13
+ bump version in a commit by itself I can ignore when I pull)
14
+ * Send me a pull request. Bonus points for topic branches.
15
+
16
+ == Copyright
17
+
18
+ Copyright (c) <%= Time.now.year %> <%= user_name %>. See LICENSE for details.
@@ -0,0 +1,153 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "<%= project_name %>"
8
+ gem.summary = %Q{<%= summary %>}
9
+ gem.description = %Q{<%= description %>}
10
+ gem.email = "<%= user_email %>"
11
+ gem.homepage = "<%= project_homepage %>"
12
+ gem.authors = ["<%= user_name %>"]
13
+ <% if should_setup_rubyforge %>
14
+ gem.rubyforge_project = "<%= project_name %>"
15
+ <% end %>
16
+ <% development_dependencies.each do |dependency| %>
17
+ gem.add_development_dependency "<%= dependency %>"
18
+ <% end %>
19
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
20
+ end
21
+ <% if should_setup_gemcutter %>
22
+ Jeweler::GemcutterTasks.new
23
+ <% end %>
24
+ <% if should_setup_rubyforge %>
25
+ Jeweler::RubyforgeTasks.new do |rubyforge|
26
+ rubyforge.doc_task = "<%= doc_task %>"
27
+ end
28
+ <% end %>
29
+ rescue LoadError
30
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
31
+ end
32
+
33
+ <% case testing_framework %>
34
+ <% when :rspec %>
35
+ require 'spec/rake/spectask'
36
+ Spec::Rake::SpecTask.new(:<%= test_task %>) do |<%= test_task %>|
37
+ <%= test_task %>.libs << 'lib' << '<%= test_dir %>'
38
+ <%= test_task %>.spec_files = FileList['<%= test_pattern %>']
39
+ end
40
+ <% when :micronaut %>
41
+ require 'micronaut/rake_task'
42
+ Micronaut::RakeTask.new(<%= test_task %>) do |<%= test_task %>|
43
+ <%= test_task %>.pattern = '<%= test_pattern %>'
44
+ <%= test_task %>.ruby_opts << '-Ilib -I<%= test_dir %>'
45
+ end
46
+ <% else %>
47
+ require 'rake/testtask'
48
+ Rake::TestTask.new(:<%= test_task %>) do |<%= test_task %>|
49
+ <%= test_task %>.libs << 'lib' << '<%= test_dir %>'
50
+ <%= test_task %>.pattern = '<%= test_pattern %>'
51
+ <%= test_task %>.verbose = true
52
+ end
53
+ <% end %>
54
+
55
+ <% case testing_framework %>
56
+ <% when :rspec %>
57
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
58
+ spec.libs << 'lib' << 'spec'
59
+ spec.pattern = '<%= test_pattern %>'
60
+ spec.rcov = true
61
+ end
62
+ <% when :micronaut %>
63
+ Micronaut::RakeTask.new(:rcov) do |examples|
64
+ examples.pattern = '<%= test_pattern %>'
65
+ examples.rcov_opts = '-Ilib -I<%= test_dir %>'
66
+ examples.rcov = true
67
+ end
68
+ <% else %>
69
+ begin
70
+ require 'rcov/rcovtask'
71
+ Rcov::RcovTask.new do |<%= test_task %>|
72
+ <%= test_task %>.libs << '<%= test_dir %>'
73
+ <%= test_task %>.pattern = '<%= test_pattern %>'
74
+ <%= test_task %>.verbose = true
75
+ end
76
+ rescue LoadError
77
+ task :rcov do
78
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
79
+ end
80
+ end
81
+ <% end %>
82
+
83
+ task :<%= test_task %> => :check_dependencies
84
+
85
+ <% if should_use_cucumber %>
86
+ begin
87
+ require 'cucumber/rake/task'
88
+ Cucumber::Rake::Task.new(:features)
89
+
90
+ task :features => :check_dependencies
91
+ rescue LoadError
92
+ task :features do
93
+ abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
94
+ end
95
+ end
96
+ <% end %>
97
+
98
+ <% if should_use_reek %>
99
+ begin
100
+ require 'reek/rake_task'
101
+ Reek::RakeTask.new do |t|
102
+ t.fail_on_error = true
103
+ t.verbose = false
104
+ t.source_files = 'lib/**/*.rb'
105
+ end
106
+ rescue LoadError
107
+ task :reek do
108
+ abort "Reek is not available. In order to run reek, you must: sudo gem install reek"
109
+ end
110
+ end
111
+ <% end %>
112
+
113
+ <% if should_use_roodi %>
114
+ begin
115
+ require 'roodi'
116
+ require 'roodi_task'
117
+ RoodiTask.new do |t|
118
+ t.verbose = false
119
+ end
120
+ rescue LoadError
121
+ task :roodi do
122
+ abort "Roodi is not available. In order to run roodi, you must: sudo gem install roodi"
123
+ end
124
+ end
125
+ <% end %>
126
+
127
+ task :default => :<%= default_task %>
128
+
129
+ <% case documentation_framework %>
130
+ <% when :rdoc %>
131
+ require 'rake/rdoctask'
132
+ Rake::RDocTask.new do |rdoc|
133
+ if File.exist?('VERSION')
134
+ version = File.read('VERSION')
135
+ else
136
+ version = ""
137
+ end
138
+
139
+ rdoc.rdoc_dir = 'rdoc'
140
+ rdoc.title = "<%= project_name %> #{version}"
141
+ rdoc.rdoc_files.include('README*')
142
+ rdoc.rdoc_files.include('lib/**/*.rb')
143
+ end
144
+ <% when :yard %>
145
+ begin
146
+ require 'yard'
147
+ YARD::Rake::YardocTask.new
148
+ rescue LoadError
149
+ task :yardoc do
150
+ abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
151
+ end
152
+ end
153
+ <% end %>
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe "<%= constant_name %>" do
4
+ it "fails" do
5
+ should.flunk "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'bacon'
3
+
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ require '<%= require_name %>'
7
+
8
+ Bacon.summary_on_exit
@@ -0,0 +1,9 @@
1
+ Feature: something something
2
+ In order to something something
3
+ A user something something
4
+ something something something
5
+
6
+ Scenario: something something
7
+ Given inspiration
8
+ When I create a sweet new gem
9
+ Then everyone should see how awesome I am
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')
2
+ require '<%= require_name %>'
3
+
4
+ require '<%= feature_support_require %>'
5
+ <% if feature_support_extend %>
6
+
7
+ World(<%= feature_support_extend %>)
8
+ <% end %>