shoe 0.5.1 → 0.6.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 (53) hide show
  1. data/{doc/bundler.rdoc → BUNDLER.rdoc} +0 -0
  2. data/CHANGELOG.rdoc +15 -0
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +21 -3
  5. data/README.rdoc +22 -2
  6. data/TODO.rdoc +3 -3
  7. data/bin/shoe +16 -2
  8. data/data/shoe/templates/application.erb +23 -0
  9. data/data/shoe/templates/executable.erb +18 -0
  10. data/data/shoe/templates/extconf.erb +2 -0
  11. data/data/shoe/templates/extension.erb +9 -0
  12. data/data/shoe/templates/gemspec.erb +50 -0
  13. data/data/shoe/templates/gitignore.erb +4 -0
  14. data/data/shoe/templates/gitkeep.erb +0 -0
  15. data/data/shoe/templates/manpage.erb +30 -0
  16. data/data/shoe/templates/module.erb +31 -0
  17. data/data/shoe/templates/module_test.rb +7 -0
  18. data/data/shoe/templates/rakefile.erb +3 -0
  19. data/data/shoe/templates/readme.erb +3 -0
  20. data/data/shoe/templates/test_helper.erb +2 -0
  21. data/features/cucumber.feature +7 -8
  22. data/features/generator.feature +32 -0
  23. data/features/release.feature +8 -8
  24. data/features/step_definitions/shoe_steps.rb +0 -9
  25. data/features/support/env.rb +5 -9
  26. data/features/test.feature +4 -4
  27. data/lib/shoe.rb +20 -2
  28. data/lib/shoe/extensions.rb +10 -0
  29. data/lib/shoe/extensions/doc_manager.rb +11 -0
  30. data/lib/shoe/extensions/option_parser.rb +25 -0
  31. data/lib/shoe/extensions/pathname.rb +16 -0
  32. data/lib/shoe/extensions/source_index.rb +17 -0
  33. data/lib/shoe/extensions/specification.rb +19 -0
  34. data/lib/shoe/extensions/validator.rb +15 -0
  35. data/lib/shoe/generator.rb +122 -40
  36. data/lib/shoe/tasks.rb +2 -0
  37. data/lib/shoe/tasks/abstract.rb +3 -69
  38. data/lib/shoe/tasks/compile.rb +3 -1
  39. data/lib/shoe/tasks/cucumber.rb +13 -10
  40. data/lib/shoe/tasks/rdoc.rb +3 -22
  41. data/lib/shoe/tasks/release.rb +7 -12
  42. data/lib/shoe/tasks/ronn.rb +77 -0
  43. data/lib/shoe/tasks/test.rb +2 -26
  44. data/man/shoe.1 +64 -0
  45. data/man/shoe.1.ronn +63 -0
  46. data/shoe.gemspec +4 -1
  47. metadata +59 -15
  48. data/features/getting_started.feature +0 -29
  49. data/lib/shoe/templates/gemspec.erb +0 -41
  50. data/lib/shoe/templates/rakefile.erb +0 -3
  51. data/lib/shoe/templates/readme.erb +0 -3
  52. data/lib/shoe/templates/version.erb +0 -3
  53. data/lib/shoe/version.rb +0 -3
@@ -1,29 +0,0 @@
1
- Feature: Getting started
2
- In order to start using shoe
3
- As a developer
4
- I want a little help generating my Rakefile
5
-
6
- Scenario: Running shoe with no arguments in an empty directory
7
- Given I have created a directory called "my_project"
8
- And I have created a file called "my_project/Gemfile" containing:
9
- """
10
- source :rubygems
11
- gem 'shoe', :group => :development
12
- """
13
- When I run bundle exec shoe . inside "my_project"
14
- Then I should see a file "my_project/Rakefile"
15
- And I should see a file "my_project/README.rdoc"
16
- And I should see a file "my_project/lib/my_project/version.rb"
17
- And I should see a file "my_project/my_project.gemspec"
18
-
19
- Scenario: Running shoe with no arguments in a directory that already has a Rakefile
20
- Given I have created a directory called "my_project"
21
- And I have created a file called "my_project/Gemfile" containing:
22
- """
23
- source :rubygems
24
- gem 'shoe', :group => :development
25
- """
26
- And I have created a file called "my_project/Rakefile" containing "# RAKEFILE CONTENTS"
27
- When I run bundle exec shoe . inside "my_project"
28
- Then I should see "Rakefile exists. Not clobbering." on standard error
29
- And the contents of "my_project/Rakefile" should still be "# RAKEFILE CONTENTS"
@@ -1,41 +0,0 @@
1
- $:.unshift File.expand_path('../lib', __FILE__)
2
- require '<%= project_name %>/version'
3
-
4
- Gem::Specification.new do |spec|
5
- spec.name = '<%= project_name %>'
6
- spec.version = <%= project_module %>::VERSION
7
-
8
- spec.summary = ''
9
- spec.description = <<-END.gsub(/^ */, '')
10
- #{spec.summary}
11
-
12
- Further description here.
13
- END
14
-
15
- spec.author = '<%= `git config --get user.name`.chomp %>'
16
- spec.email = '<%= `git config --get user.email`.chomp %>'
17
- spec.homepage = 'http://github.com/<%= `git config --get github.user`.chomp %>/<%= project_name %>'
18
-
19
- # You may find these helpful:
20
- # spec.requirements = ['git']
21
- # spec.required_rubygems_version = ">= 1.3.6"
22
- # spec.add_runtime_dependency 'nokogiri'
23
- # spec.add_development_dependency 'cucumber'
24
- # spec.add_bundler_dependencies # though I'm not sure how to use this yet...
25
-
26
- def spec.git_files(glob=nil)
27
- `git ls-files -z --cached --other --exclude-standard #{glob}`.split("\0")
28
- end
29
-
30
- spec.files = spec.git_files
31
- spec.executables = spec.git_files('bin/*').map &File.method(:basename)
32
- spec.extensions = spec.git_files('ext/**/extconf.rb')
33
- spec.test_files = spec.git_files('test/{,**/}*_test.rb')
34
-
35
- spec.extra_rdoc_files = spec.git_files('{,**/}*.rdoc')
36
- spec.rdoc_options = %W(
37
- --main README.rdoc
38
- --title #{spec.full_name}
39
- --inline-source
40
- )
41
- end
@@ -1,3 +0,0 @@
1
- require 'shoe'
2
-
3
- Shoe::Tasks.define('<%= gemspec_path %>')
@@ -1,3 +0,0 @@
1
- = <%= project_module %>
2
-
3
- <%= project_module %> is one of my favorite things! Let me tell you about it:
@@ -1,3 +0,0 @@
1
- module <%= project_module %>
2
- VERSION = '<%= project_version %>'
3
- end
@@ -1,3 +0,0 @@
1
- module Shoe
2
- VERSION = '0.5.1'
3
- end