bueller 0.0.1

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 (109) hide show
  1. data/ChangeLog.markdown +141 -0
  2. data/LICENSE +20 -0
  3. data/README.markdown +182 -0
  4. data/bin/bueller +5 -0
  5. data/lib/bueller/commands/build_gem.rb +50 -0
  6. data/lib/bueller/commands/git_tag_release.rb +63 -0
  7. data/lib/bueller/commands/install_gem.rb +36 -0
  8. data/lib/bueller/commands/release_to_github.rb +41 -0
  9. data/lib/bueller/commands/release_to_rubygems.rb +26 -0
  10. data/lib/bueller/commands/version/base.rb +36 -0
  11. data/lib/bueller/commands/version/bump_major.rb +11 -0
  12. data/lib/bueller/commands/version/bump_minor.rb +12 -0
  13. data/lib/bueller/commands/version/bump_patch.rb +14 -0
  14. data/lib/bueller/commands/version/write.rb +21 -0
  15. data/lib/bueller/commands/write_gemspec.rb +29 -0
  16. data/lib/bueller/commands.rb +18 -0
  17. data/lib/bueller/errors.rb +8 -0
  18. data/lib/bueller/gemspec_helper.rb +83 -0
  19. data/lib/bueller/generator/application.rb +51 -0
  20. data/lib/bueller/generator/bacon_mixin.rb +43 -0
  21. data/lib/bueller/generator/github_mixin.rb +29 -0
  22. data/lib/bueller/generator/micronaut_mixin.rb +41 -0
  23. data/lib/bueller/generator/minitest_mixin.rb +42 -0
  24. data/lib/bueller/generator/options.rb +154 -0
  25. data/lib/bueller/generator/rdoc_mixin.rb +9 -0
  26. data/lib/bueller/generator/riot_mixin.rb +42 -0
  27. data/lib/bueller/generator/rspec_mixin.rb +50 -0
  28. data/lib/bueller/generator/shindo_mixin.rb +44 -0
  29. data/lib/bueller/generator/shoulda_mixin.rb +42 -0
  30. data/lib/bueller/generator/testspec_mixin.rb +42 -0
  31. data/lib/bueller/generator/testunit_mixin.rb +39 -0
  32. data/lib/bueller/generator/yard_mixin.rb +14 -0
  33. data/lib/bueller/generator.rb +291 -0
  34. data/lib/bueller/rubyforge_tasks.rb +88 -0
  35. data/lib/bueller/tasks.rb +133 -0
  36. data/lib/bueller/templates/.document +11 -0
  37. data/lib/bueller/templates/.gitignore +40 -0
  38. data/lib/bueller/templates/Gemfile +1 -0
  39. data/lib/bueller/templates/LICENSE +20 -0
  40. data/lib/bueller/templates/README.rdoc +17 -0
  41. data/lib/bueller/templates/Rakefile +20 -0
  42. data/lib/bueller/templates/bacon/flunking.rb +7 -0
  43. data/lib/bueller/templates/bacon/helper.rb +8 -0
  44. data/lib/bueller/templates/bueller_tasks.erb +10 -0
  45. data/lib/bueller/templates/features/default.feature +9 -0
  46. data/lib/bueller/templates/features/support/env.rb +16 -0
  47. data/lib/bueller/templates/gemspec +27 -0
  48. data/lib/bueller/templates/micronaut/flunking.rb +7 -0
  49. data/lib/bueller/templates/micronaut/helper.rb +17 -0
  50. data/lib/bueller/templates/minitest/flunking.rb +7 -0
  51. data/lib/bueller/templates/minitest/helper.rb +11 -0
  52. data/lib/bueller/templates/other_tasks.erb +84 -0
  53. data/lib/bueller/templates/riot/flunking.rb +11 -0
  54. data/lib/bueller/templates/riot/helper.rb +3 -0
  55. data/lib/bueller/templates/rspec/.rspec +1 -0
  56. data/lib/bueller/templates/rspec/flunking.rb +7 -0
  57. data/lib/bueller/templates/rspec/helper.rb +19 -0
  58. data/lib/bueller/templates/shindo/flunking.rb +8 -0
  59. data/lib/bueller/templates/shindo/helper.rb +5 -0
  60. data/lib/bueller/templates/shoulda/flunking.rb +7 -0
  61. data/lib/bueller/templates/shoulda/helper.rb +10 -0
  62. data/lib/bueller/templates/testspec/flunking.rb +7 -0
  63. data/lib/bueller/templates/testspec/helper.rb +7 -0
  64. data/lib/bueller/templates/testunit/flunking.rb +7 -0
  65. data/lib/bueller/templates/testunit/helper.rb +9 -0
  66. data/lib/bueller/version_helper.rb +59 -0
  67. data/lib/bueller.rb +139 -0
  68. data/spec/bueller/commands/build_gem_spec.rb +38 -0
  69. data/spec/bueller/commands/git_tag_release_spec.rb +79 -0
  70. data/spec/bueller/commands/install_gem_spec.rb +11 -0
  71. data/spec/bueller/commands/release_to_github_spec.rb +54 -0
  72. data/spec/bueller/commands/release_to_rubygems_spec.rb +15 -0
  73. data/spec/bueller/commands/version/bump_major_spec.rb +12 -0
  74. data/spec/bueller/commands/version/bump_minor_spec.rb +12 -0
  75. data/spec/bueller/commands/version/bump_patch_spec.rb +12 -0
  76. data/spec/bueller/commands/write_gemspec_spec.rb +32 -0
  77. data/spec/bueller/gemspec_helper_spec.rb +55 -0
  78. data/spec/bueller/generator/application_spec.rb +67 -0
  79. data/spec/bueller/generator/options_spec.rb +206 -0
  80. data/spec/bueller/generator_mixins_spec.rb +23 -0
  81. data/spec/bueller/generator_spec.rb +274 -0
  82. data/spec/bueller/tasks_spec.rb +29 -0
  83. data/spec/bueller/version_helper_spec.rb +57 -0
  84. data/spec/bueller_spec.rb +94 -0
  85. data/spec/fixtures/bar/bar.gemspec +41 -0
  86. data/spec/fixtures/bar/bin/foo_the_ultimate_bin +1 -0
  87. data/spec/fixtures/bar/hey_include_me_in_gemspec +0 -0
  88. data/spec/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -0
  89. data/spec/fixtures/existing-project/LICENSE +20 -0
  90. data/spec/fixtures/existing-project/README.rdoc +7 -0
  91. data/spec/fixtures/existing-project/Rakefile +69 -0
  92. data/spec/fixtures/existing-project/existing-project.gemspec +20 -0
  93. data/spec/fixtures/existing-project/lib/existing_project_with_version.rb +0 -0
  94. data/spec/fixtures/existing-project/test/existing_project_with_version_test.rb +7 -0
  95. data/spec/fixtures/existing-project/test/test_helper.rb +10 -0
  96. data/spec/fixtures/existing-project-with-version-constant/LICENSE +20 -0
  97. data/spec/fixtures/existing-project-with-version-constant/README.rdoc +7 -0
  98. data/spec/fixtures/existing-project-with-version-constant/Rakefile +69 -0
  99. data/spec/fixtures/existing-project-with-version-constant/existing-project-with-version.gemspec +19 -0
  100. data/spec/fixtures/existing-project-with-version-constant/lib/existing_project_with_version.rb +0 -0
  101. data/spec/fixtures/existing-project-with-version-constant/test/existing_project_with_version_test.rb +7 -0
  102. data/spec/fixtures/existing-project-with-version-constant/test/test_helper.rb +10 -0
  103. data/spec/spec_helper.rb +11 -0
  104. data/spec/support/application.rb +28 -0
  105. data/spec/support/file_system.rb +24 -0
  106. data/spec/support/gemspec.rb +28 -0
  107. data/spec/support/git.rb +19 -0
  108. data/spec/support/have_version.rb +18 -0
  109. metadata +381 -0
@@ -0,0 +1,133 @@
1
+ require 'rake/tasklib'
2
+
3
+ class Rake::Application
4
+ attr_accessor :bueller_tasks
5
+
6
+ # The bueller instance that has be instantiated in the current Rakefile.
7
+ #
8
+ # This is usually useful if you want to get at info like version from other files.
9
+ def bueller
10
+ bueller_tasks.bueller
11
+ end
12
+ end
13
+
14
+ class Bueller
15
+ # Rake tasks for managing your gem.
16
+ #
17
+ # Here's a basic example of using it:
18
+ #
19
+ # Bueller::Tasks.new
20
+ class Tasks < ::Rake::TaskLib
21
+ attr_accessor :bueller
22
+
23
+ def initialize
24
+ Rake.application.bueller_tasks = self
25
+ define
26
+ end
27
+
28
+ def bueller
29
+ @bueller ||= Bueller.new
30
+ end
31
+
32
+ private
33
+
34
+ def define
35
+ task :gemspec_required do
36
+ unless File.exist?(bueller.gemspec_helper.path)
37
+ abort "Expected #{bueller.gemspec_helper.path} to exist. See 'rake gemspec:write' to create it"
38
+ end
39
+ end
40
+
41
+ desc "Build gem"
42
+ task :build do
43
+ bueller.build_gem
44
+ end
45
+
46
+ desc "Install gem"
47
+ task :install => [:build] do
48
+ bueller.install_gem
49
+ end
50
+
51
+ namespace :gemspec do
52
+ desc 'Validates the gemspec'
53
+ task :validate => :gemspec_required do
54
+ if bueller.gemspec_helper.valid?
55
+ puts "Gemspec is valid"
56
+ true
57
+ else
58
+ puts "Gemspec is not valid"
59
+ false
60
+ end
61
+ end
62
+ end
63
+
64
+ desc "Displays the current version"
65
+ task :version do
66
+ $stdout.puts "Current version: #{bueller.version}"
67
+ end
68
+
69
+ namespace :version do
70
+ desc "Writes out an explicit version. Respects the following environment variables, or defaults to 0: MAJOR, MINOR, PATCH. Also recognizes BUILD, which defaults to nil"
71
+ task :write do
72
+ major, minor, patch, build = ENV['MAJOR'].to_i, ENV['MINOR'].to_i, ENV['PATCH'].to_i, (ENV['BUILD'] || nil )
73
+ bueller.write_version(major, minor, patch, build)
74
+ $stdout.puts "Updated version: #{bueller.version}"
75
+ end
76
+
77
+ namespace :bump do
78
+ desc "Bump the gemspec by a major version."
79
+ task :major => :version do
80
+ bueller.bump_major_version
81
+ bueller.write_gemspec
82
+ $stdout.puts "Updated version: #{bueller.version}"
83
+ end
84
+
85
+ desc "Bump the gemspec by a minor version."
86
+ task :minor => :version do
87
+ bueller.bump_minor_version
88
+ bueller.write_gemspec
89
+ $stdout.puts "Updated version: #{bueller.version}"
90
+ end
91
+
92
+ desc "Bump the gemspec by a patch version."
93
+ task :patch => :version do
94
+ bueller.bump_patch_version
95
+ bueller.write_gemspec
96
+ $stdout.puts "Updated version: #{bueller.version}"
97
+ end
98
+ end
99
+ end
100
+
101
+ desc "Release gem"
102
+ task :release do
103
+ end
104
+
105
+ namespace :github do
106
+ desc "Release Gem to GitHub"
107
+ task :release do
108
+ bueller.release_gem_to_github
109
+ end
110
+ end
111
+
112
+ task :release => 'github:release'
113
+
114
+ namespace :git do
115
+ desc "Tag a release in Git"
116
+ task :release do
117
+ bueller.release_to_git
118
+ end
119
+ end
120
+
121
+ task :release => 'git:release'
122
+
123
+ namespace :rubygems do
124
+ desc "Release gem to Rubygems"
125
+ task :release => [:gemspec, :build] do
126
+ bueller.release_gem_to_rubygems
127
+ end
128
+ end
129
+
130
+ task :release => 'rubygems:release'
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,11 @@
1
+ # .document is used by rdoc and yard to know how to generate documentation
2
+ # for example, it can be used to control how rdoc gets built when you do `gem install foo`
3
+
4
+ README.rdoc
5
+ lib/**/*.rb
6
+ bin/*
7
+
8
+ # Files below this - are treated as 'extra files', and aren't parsed for ruby code
9
+ -
10
+ features/**/*.feature
11
+ LICENSE
@@ -0,0 +1,40 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # jeweler generated
12
+ pkg
13
+ Gemfile.lock
14
+
15
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
16
+ #
17
+ # * Create a file at ~/.gitignore
18
+ # * Include files you want ignored
19
+ # * Run: git config --global core.excludesfile ~/.gitignore
20
+ #
21
+ # After doing this, these files will be ignored in all your git projects,
22
+ # saving you from having to 'pollute' every project you touch with them
23
+ #
24
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
25
+ #
26
+ # For MacOS:
27
+ #
28
+ #.DS_Store
29
+ #
30
+ # For TextMate
31
+ #*.tmproj
32
+ #tmtags
33
+ #
34
+ # For emacs:
35
+ #*~
36
+ #\#*
37
+ #.\#*
38
+ #
39
+ # For vim:
40
+ #*.swp
@@ -0,0 +1 @@
1
+ gemspec :path => '.'
@@ -0,0 +1,20 @@
1
+ Copyright (c) <%= Time.now.year %> <%= 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,17 @@
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 bump version in a commit by itself I can ignore when I pull)
13
+ * Send me a pull request. Bonus points for topic branches.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) <%= Time.now.year %> <%= user_name %>. See LICENSE for details.
@@ -0,0 +1,20 @@
1
+ require 'rubygems'
2
+
3
+ begin
4
+ require 'bundler'
5
+ rescue LoadError
6
+ $stderr.puts "You must install bundler - run `gem install bundler`"
7
+ end
8
+
9
+ begin
10
+ Bundler.setup
11
+ rescue Bundler::BundlerError => e
12
+ $stderr.puts e.message
13
+ $stderr.puts "Run `bundle install` to install missing gems"
14
+ exit e.status_code
15
+ end
16
+ require 'rake'
17
+
18
+ <%= render_template 'bueller_tasks.erb' %>
19
+
20
+ <%= render_template 'other_tasks.erb' %>
@@ -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,10 @@
1
+ require 'bueller'
2
+ Bueller::Tasks.new
3
+ <% if use_cucumber? %>
4
+ Bueller::GemcutterTasks.new
5
+ <% end %>
6
+ <% if setup_rubyforge? %>
7
+ Bueller::RubyforgeTasks.new do |rubyforge|
8
+ rubyforge.doc_task = "<%= doc_task %>"
9
+ end
10
+ <% end %>
@@ -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,16 @@
1
+ require 'bundler'
2
+ begin
3
+ Bundler.setup
4
+ rescue Bundler::BundlerError => e
5
+ $stderr.puts e.message
6
+ $stderr.puts "Run `bundle install` to install missing gems"
7
+ exit e.status_code
8
+ end
9
+
10
+ require '<%= require_name %>'
11
+
12
+ require '<%= feature_support_require %>'
13
+ <% if feature_support_extend %>
14
+
15
+ World(<%= feature_support_extend %>)
16
+ <% end %>
@@ -0,0 +1,27 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = '<%= project_name %>'
3
+ s.version = "0.0.0"
4
+ s.date = '<%= Time.now.strftime('%Y-%m-%d') %>'
5
+ s.authors = ['<%= user_name %>']
6
+ s.email = '<%= user_email %>'
7
+ s.homepage = 'http://github.com/<%= github_username %>/<%= project_name %>'
8
+ s.summary = %Q{<%= summary %>}
9
+ s.description = %Q{<%= description %>}
10
+ s.extra_rdoc_files = [
11
+ 'LICENSE',
12
+ 'README.rdoc',
13
+ ]
14
+
15
+ s.required_rubygems_version = Gem::Requirement.new('>= 1.3.7')
16
+ s.rubygems_version = '1.3.7'
17
+ s.specification_version = 3
18
+
19
+ s.require_paths = ['lib']
20
+ s.files = Dir.glob('lib/**/*.rb')
21
+ s.test_files = Dir.glob('<%= test_pattern %>')
22
+
23
+ <% development_dependencies.each do |dependency| %>
24
+ s.add_development_dependency '<%= dependency %>'
25
+ <% end %>
26
+ end
27
+
@@ -0,0 +1,7 @@
1
+ require 'example_helper'
2
+
3
+ describe "<%= constant_name %>" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ require 'rubygems'
2
+ require 'micronaut'
3
+
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+
7
+ require '<%= require_name %>'
8
+
9
+ def not_in_editor?
10
+ !(ENV.has_key?('TM_MODE') || ENV.has_key?('EMACS') || ENV.has_key?('VIM'))
11
+ end
12
+
13
+ Micronaut.configure do |c|
14
+ c.color_enabled = not_in_editor?
15
+ c.filter_run :focused => true
16
+ end
17
+
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class Test<%= constant_name %> < MiniTest::Unit::TestCase
4
+ def test_something_for_real
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+ require 'minitest/unit'
3
+
4
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ require '<%= require_name %>'
7
+
8
+ class MiniTest::Unit::TestCase
9
+ end
10
+
11
+ MiniTest::Unit.autorun
@@ -0,0 +1,84 @@
1
+ <% case testing_framework %>
2
+ <% when :rspec %>
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:<%= test_task %>) do |<%= test_task %>|
5
+ <%= test_task %>.rspec_opts = '-I<%= test_dir %>'
6
+ end
7
+ <% when :micronaut %>
8
+ require 'micronaut/rake_task'
9
+ Micronaut::RakeTask.new(:<%= test_task %>) do |<%= test_task %>|
10
+ <%= test_task %>.pattern = '<%= test_pattern %>'
11
+ <%= test_task %>.ruby_opts << '-Ilib -I<%= test_dir %>'
12
+ end
13
+ <% when :shindo %>
14
+ require 'shindo/rake'
15
+ Shindo::Rake.new
16
+ <% else %>
17
+ require 'rake/testtask'
18
+ Rake::TestTask.new(:<%= test_task %>) do |<%= test_task %>|
19
+ <%= test_task %>.libs << 'lib' << '<%= test_dir %>'
20
+ <%= test_task %>.pattern = '<%= test_pattern %>'
21
+ <%= test_task %>.verbose = true
22
+ end
23
+ <% end %>
24
+
25
+ <% case testing_framework %>
26
+ <% when :rspec %>
27
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
28
+ spec.rspec_opts = '-I<%= test_dir %>'
29
+ spec.rcov = true
30
+ end
31
+ <% when :micronaut %>
32
+ Micronaut::RakeTask.new(:rcov) do |examples|
33
+ examples.pattern = '<%= test_pattern %>'
34
+ examples.rcov_opts = '-Ilib -I<%= test_dir %>'
35
+ examples.rcov = true
36
+ end
37
+ <% else %>
38
+ require 'rcov/rcovtask'
39
+ Rcov::RcovTask.new do |<%= test_task %>|
40
+ <%= test_task %>.libs << '<%= test_dir %>'
41
+ <%= test_task %>.pattern = '<%= test_pattern %>'
42
+ <%= test_task %>.verbose = true
43
+ end
44
+ <% end %>
45
+
46
+ <% if use_cucumber? %>
47
+ require 'cucumber/rake/task'
48
+ Cucumber::Rake::Task.new(:features)
49
+ <% end %>
50
+
51
+ <% if use_reek? %>
52
+ require 'reek/adapters/rake_task'
53
+ Reek::RakeTask.new do |t|
54
+ t.fail_on_error = true
55
+ t.verbose = false
56
+ t.source_files = 'lib/**/*.rb'
57
+ end
58
+ <% end %>
59
+
60
+ <% if use_roodi? %>
61
+ require 'roodi'
62
+ require 'roodi_task'
63
+ RoodiTask.new do |t|
64
+ t.verbose = false
65
+ end
66
+ <% end %>
67
+
68
+ task :default => :<%= default_task %>
69
+
70
+ <% case documentation_framework %>
71
+ <% when :rdoc %>
72
+ require 'rake/rdoctask'
73
+ Rake::RDocTask.new do |rdoc|
74
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
75
+
76
+ rdoc.rdoc_dir = 'rdoc'
77
+ rdoc.title = "<%= project_name %> #{version}"
78
+ rdoc.rdoc_files.include('README*')
79
+ rdoc.rdoc_files.include('lib/**/*.rb')
80
+ end
81
+ <% when :yard %>
82
+ require 'yard'
83
+ YARD::Rake::YardocTask.new
84
+ <% end %>