newgem 0.28.0 → 0.29.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.
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.29.0 2008-10-18 NOT RELEASED
2
+
3
+ * execute generator uses a lib/appname/cli.rb file
4
+ * basic feature descriptions for newgem and executable generators
5
+
1
6
  == 0.28.0 2008-10-17
2
7
 
3
8
  * Cucumber support: install_cucumber generator, and features generator for cucumber scope
data/Manifest.txt CHANGED
@@ -39,6 +39,12 @@ cucumber_generators/feature/USAGE
39
39
  cucumber_generators/feature/feature_generator.rb
40
40
  cucumber_generators/feature/templates/feature.erb
41
41
  cucumber_generators/feature/templates/steps.erb
42
+ features/cli.feature
43
+ features/executable_generator.feature
44
+ features/expected_outputs/newgem.out
45
+ features/steps/cli.rb
46
+ features/steps/env.rb
47
+ features/steps/executable_generator.rb
42
48
  lib/newgem.rb
43
49
  lib/newgem/quick_template.rb
44
50
  lib/newgem/rubyforge.rb
@@ -64,7 +70,9 @@ newgem_theme_generators/plain_theme/templates/website/stylesheets/screen.css
64
70
  newgem_theme_generators/plain_theme/templates/website/template.html.erb
65
71
  rubygems_generators/executable/USAGE
66
72
  rubygems_generators/executable/executable_generator.rb
67
- rubygems_generators/executable/templates/app.rb
73
+ rubygems_generators/executable/templates/bin/app.rb.erb
74
+ rubygems_generators/executable/templates/lib/app/cli.rb.erb
75
+ rubygems_generators/executable/templates/test/test_cli.rb.erb
68
76
  rubygems_generators/extconf/USAGE
69
77
  rubygems_generators/extconf/extconf_generator.rb
70
78
  rubygems_generators/extconf/templates/README.txt
@@ -75,7 +83,6 @@ rubygems_generators/extconf/templates/tasks/extconf.rake
75
83
  rubygems_generators/extconf/templates/tasks/extconf_name.rake
76
84
  rubygems_generators/extconf/templates/test/test.rb.erb
77
85
  rubygems_generators/install_cucumber/install_cucumber_generator.rb
78
- rubygems_generators/install_cucumber/templates/cucumber
79
86
  rubygems_generators/install_cucumber/templates/cucumber.rake
80
87
  rubygems_generators/install_cucumber/templates/env.rb
81
88
  rubygems_generators/install_jruby/USAGE
@@ -103,6 +110,7 @@ script/txt2html.rb
103
110
  script/txt2js
104
111
  setup.rb
105
112
  tasks/bundles.rake
113
+ tasks/cucumber.rake
106
114
  tasks/deployment.rake
107
115
  tasks/environment.rake
108
116
  tasks/generator_report.rake
data/config/hoe.rb CHANGED
@@ -31,7 +31,7 @@ end
31
31
  REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil
32
32
  # REV = YAML.load(`svn info`)['Revision']
33
33
  VERS = Newgem::VERSION::STRING + (REV ? ".#{REV}" : "")
34
- CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']
34
+ CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', 'tmp']
35
35
 
36
36
  # Generate all the Rake tasks
37
37
  # Run 'rake -T' to see list of generated tasks (from gem root directory)
@@ -5,9 +5,9 @@ class FeatureGenerator < RubiGen::Base
5
5
  super
6
6
  usage if args.empty?
7
7
  @name = args.shift
8
- @plural_name = @name.pluralize
9
- @singular_name = @name.singularize
10
- @class_name = @name.classify
8
+ @plural_name = @name.pluralize.underscore
9
+ @singular_name = @name.singularize.underscore
10
+ @class_name = @name.singularize.classify
11
11
  end
12
12
 
13
13
  def manifest
@@ -0,0 +1,28 @@
1
+ Feature: Can run create RubyGem scaffolds
2
+
3
+ As a developer of RubyGems
4
+ I want to create RubyGem scaffolds
5
+ So that I can rapidly produce specs and code for encapsulated applications and libraries
6
+
7
+ Scenario: Run newgem without any arguments
8
+ Given a safe folder
9
+ When newgem is executed for project 'my_project' with no options
10
+ Then folder 'my_project' is created
11
+ And file 'my_project/Rakefile' is created
12
+ And output matches 'newgem.out'
13
+ And invokes generator 'install_test_unit'
14
+ And invokes generator 'install_website'
15
+ And invokes generator 'install_rubigen_scripts'
16
+
17
+ Scenario: Run newgem to include rspec
18
+ Given a safe folder
19
+ When newgem is executed for project 'my_rspec_project' with options '-T rspec'
20
+ Then folder 'my_rspec_project' is created
21
+ And invokes generator 'install_rspec'
22
+
23
+ Scenario: Run newgem to disable website
24
+ Given a safe folder
25
+ When newgem is executed for project 'my_project' with options '-W'
26
+ Then folder 'my_project' is created
27
+ And does not invoke generator 'install_website'
28
+
@@ -0,0 +1,33 @@
1
+ Feature: Generate an executable/CLI scaffold
2
+
3
+ As a RubyGem developer
4
+ I want a scaffold for executable/CLI scripts
5
+ So that I know the structure for constructing CLIs and can create them quickly
6
+
7
+ Scenario: Run executable generator with name of executable
8
+ Given an existing newgem scaffold [called 'my_project']
9
+ When 'executable' generator is invoked with arguments 'my_app'
10
+ Then folder 'my_project/bin/my_app' is created
11
+ And file 'my_project/bin/my_app' is created
12
+ And file 'my_project/lib/my_app/cli.rb' is created
13
+ And file 'my_project/test/test_my_app_cli.rb' is created
14
+
15
+ Scenario: Run CLI app from executable generator to show help
16
+ Given an existing newgem scaffold [called 'my_project']
17
+ Given 'executable' generator is invoked with arguments 'my_app'
18
+ When run executable 'my_project/bin/my_app' with arguments '-h'
19
+ Then help options '-h' and '--help' are displayed
20
+ Then help options '-p' and '--path' are displayed
21
+
22
+ Scenario: Run CLI app from executable generator should not fail
23
+ Given an existing newgem scaffold [called 'my_project']
24
+ Given 'executable' generator is invoked with arguments 'my_app'
25
+ When run executable 'my_project/bin/my_app' with arguments ''
26
+ Then output matches /lib\/my_app\/cli.rb/
27
+
28
+ Scenario: Run unit tests after executable generator should all pass
29
+ Given an existing newgem scaffold [called 'my_project']
30
+ Given 'executable' generator is invoked with arguments 'my_app'
31
+ When run unit tests for test file 'test/test_my_app_cli.rb'
32
+ Then all 1 tests pass
33
+
@@ -0,0 +1,50 @@
1
+ create
2
+ create config
3
+ create doc
4
+ create lib
5
+ create script
6
+ create tasks
7
+ create lib/my_project
8
+ create History.txt
9
+ create Rakefile
10
+ create README.rdoc
11
+ create PostInstall.txt
12
+ create setup.rb
13
+ create lib/my_project.rb
14
+ create lib/my_project/version.rb
15
+ create config/hoe.rb
16
+ create config/requirements.rb
17
+ create tasks/deployment.rake
18
+ create tasks/environment.rake
19
+ create tasks/website.rake
20
+ dependency install_test_unit
21
+ create test
22
+ create test/test_helper.rb
23
+ create test/test_my_project.rb
24
+ dependency install_website
25
+ create website/javascripts
26
+ create website/stylesheets
27
+ exists script
28
+ exists tasks
29
+ create website/index.txt
30
+ create website/index.html
31
+ create script/txt2html
32
+ force tasks/website.rake
33
+ dependency plain_theme
34
+ exists website/javascripts
35
+ exists website/stylesheets
36
+ create website/template.html.erb
37
+ create website/stylesheets/screen.css
38
+ create website/javascripts/rounded_corners_lite.inc.js
39
+ dependency install_rubigen_scripts
40
+ exists script
41
+ create script/generate
42
+ create script/destroy
43
+ create script/console
44
+ create Manifest.txt
45
+ readme readme
46
+ Important
47
+ =========
48
+
49
+ * Open config/hoe.rb
50
+ * Update missing details (gem description, dependent gems, etc.)
@@ -0,0 +1,104 @@
1
+ Given %r{^a safe folder$} do
2
+ $tmp_root = File.dirname(__FILE__) + "/../../tmp"
3
+ FileUtils.rm_rf $tmp_root
4
+ FileUtils.mkdir_p $tmp_root
5
+ end
6
+
7
+ Given %r{^an existing newgem scaffold \[called '(.*)'\]$} do |project_name|
8
+ # TODO this is a combo of "a safe folder" and "newgem is executed ..." steps; refactor
9
+ $tmp_root = File.dirname(__FILE__) + "/../../tmp"
10
+ FileUtils.rm_rf $tmp_root
11
+ FileUtils.mkdir_p $tmp_root
12
+ newgem = File.expand_path(File.dirname(__FILE__) + "/../../bin/newgem")
13
+ FileUtils.chdir $tmp_root do
14
+ newgem_stdout = "newgem.out"
15
+ system "ruby #{newgem} #{project_name} > #{newgem_stdout}"
16
+ end
17
+ @project_name = project_name
18
+ end
19
+
20
+ When %r{^newgem is executed for project '(.*)' with no options$} do |project_name|
21
+ newgem = File.expand_path(File.dirname(__FILE__) + "/../../bin/newgem")
22
+ FileUtils.chdir $tmp_root do
23
+ @newgem_stdout = "newgem.out"
24
+ system "ruby #{newgem} #{project_name} > #{@newgem_stdout}"
25
+ end
26
+ end
27
+
28
+ When %r{^newgem is executed for project '(.*)' with options '(.*)'$} do |project_name, arguments|
29
+ newgem = File.expand_path(File.dirname(__FILE__) + "/../../bin/newgem")
30
+ FileUtils.chdir $tmp_root do
31
+ @newgem_stdout = "newgem.out"
32
+ system "ruby #{newgem} #{arguments} #{project_name} > #{@newgem_stdout}"
33
+ end
34
+ end
35
+
36
+ When %r{^'(.*)' generator is invoked with arguments '(.*)'$} do |generator, arguments|
37
+ FileUtils.chdir(File.join($tmp_root, @project_name)) do
38
+ if Object.const_defined?("APP_ROOT")
39
+ APP_ROOT.replace(FileUtils.pwd)
40
+ else
41
+ APP_ROOT = FileUtils.pwd
42
+ end
43
+ run_generator(generator, arguments.split(' '), SOURCES)
44
+ end
45
+ end
46
+
47
+ When /^run executable '(.*)' with arguments '(.*)'$/ do |executable, arguments|
48
+ FileUtils.chdir($tmp_root) do
49
+ @stdout = "#{File.basename(executable)}.out"
50
+ system "ruby #{executable} #{arguments} > #{@stdout}"
51
+ end
52
+ end
53
+
54
+ When /^run unit tests for test file '(.*)'$/ do |test_file|
55
+ @test_stdout = File.expand_path(File.join($tmp_root, "tests.out"))
56
+ FileUtils.chdir(File.join($tmp_root, @project_name)) do
57
+ system "ruby #{test_file} > #{@test_stdout}"
58
+ end
59
+ end
60
+
61
+ Then %r{^folder '(.*)' is created$} do |folder|
62
+ FileUtils.chdir $tmp_root do
63
+ File.exists?(folder).should be_true
64
+ end
65
+ end
66
+
67
+ Then %r{^file '(.*)' is created$} do |file|
68
+ FileUtils.chdir $tmp_root do
69
+ File.exists?(file).should be_true
70
+ end
71
+ end
72
+
73
+ Then %r{^output matches '(.*)'$} do |file|
74
+ expected_output = File.read(File.join(File.dirname(__FILE__) + "/../expected_outputs", file))
75
+ actual_output = File.read(File.dirname(__FILE__) + "/../../tmp/#{@newgem_stdout}")
76
+ actual_output.should == expected_output
77
+ end
78
+
79
+ Then %r{^invokes generator '(.*)'$} do |generator|
80
+ actual_output = File.read(File.dirname(__FILE__) + "/../../tmp/#{@newgem_stdout}")
81
+ actual_output.should match(/dependency\s+#{generator}/)
82
+ end
83
+
84
+ Then %r{^does not invoke generator '(.*)'$} do |generator|
85
+ actual_output = File.read(File.dirname(__FILE__) + "/../../tmp/#{@newgem_stdout}")
86
+ actual_output.should_not match(/dependency\s+#{generator}/)
87
+ end
88
+
89
+ Then /^help options '(.*)' and '(.*)' are displayed$/ do |opt1, opt2|
90
+ actual_output = File.read(File.dirname(__FILE__) + "/../../tmp/#{@stdout}")
91
+ actual_output.should match(/#{opt1}/)
92
+ actual_output.should match(/#{opt2}/)
93
+ end
94
+
95
+ Then /^output matches \/(.*)\/$/ do |regex|
96
+ actual_output = File.read(File.dirname(__FILE__) + "/../../tmp/#{@stdout}")
97
+ actual_output.should match(/#{regex}/)
98
+ end
99
+
100
+ Then /^all (\d+) tests pass$/ do |expected_test_count|
101
+ expected = %r{^#{expected_test_count} tests, \d+ assertions, 0 failures, 0 errors}
102
+ actual_output = File.read(@test_stdout)
103
+ actual_output.should match(expected)
104
+ end
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + "/../../lib/newgem"
2
+
3
+ require 'cucumber'
4
+
5
+ require "fileutils"
6
+ require "spec"
7
+
8
+ # Following lines from original Rails cucumber generator.
9
+ # Not sure how to translate/reuse etc yet.
10
+ #
11
+ # # Sets up the Rails environment for Cucumber
12
+ # ENV["RAILS_ENV"] = "test"
13
+ # require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
14
+ # require 'cucumber/rails/world'
15
+ # Cucumber::Rails.use_transactional_fixtures
16
+ #
17
+ # # Comment out the next line if you're not using RSpec's matchers (should / should_not) in your steps.
18
+ # require 'cucumber/rails/rspec'
19
+
20
+ # code from test/test_generator_helper.rb
21
+ TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
22
+
23
+ begin
24
+ require 'rubigen'
25
+ rescue LoadError
26
+ require 'rubygems'
27
+ require 'rubigen'
28
+ end
29
+ require 'rubigen/helpers/generator_test_helper'
30
+ include RubiGen::GeneratorTestHelper
31
+
32
+ SOURCES = Dir[File.dirname(__FILE__) + "/../../*_generators"].map do |f|
33
+ RubiGen::PathSource.new(:test, File.expand_path(f))
34
+ end
File without changes
@@ -1,7 +1,7 @@
1
1
  module Newgem
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 28
4
+ MINOR = 29
5
5
  TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
@@ -5,12 +5,14 @@ class ExecutableGenerator < RubiGen::Base
5
5
  default_options :shebang => DEFAULT_SHEBANG,
6
6
  :author => nil
7
7
 
8
- attr_reader :bin_name, :author
8
+ attr_reader :bin_name, :module_name, :project_name, :author
9
9
 
10
10
  def initialize(runtime_args, runtime_options = {})
11
11
  super
12
12
  usage if args.empty?
13
13
  @bin_name = args.shift
14
+ @module_name = @bin_name.classify
15
+ @project_name = File.basename(File.expand_path(destination_root))
14
16
  extract_options
15
17
  end
16
18
 
@@ -23,9 +25,13 @@ class ExecutableGenerator < RubiGen::Base
23
25
  record do |m|
24
26
  # Ensure bin folder exists
25
27
  m.directory "bin"
28
+ m.directory "lib/#{bin_name}"
29
+ m.directory "test"
26
30
 
27
31
  # App stub
28
- m.template "app.rb", "bin/#{bin_name}"
32
+ m.template "bin/app.rb.erb", "bin/#{bin_name}"
33
+ m.template "lib/app/cli.rb.erb", "lib/#{bin_name}/cli.rb"
34
+ m.template "test/test_cli.rb.erb", "test/test_#{bin_name}_cli.rb"
29
35
  end
30
36
  end
31
37
 
@@ -50,4 +56,4 @@ EOS
50
56
  def extract_options
51
57
  @author = options[:author]
52
58
  end
53
- end
59
+ end
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Created <%= "by #{author} " if author %>on <%= (now = Time.now).year %>-<%= now.month %>-<%= now.day %>.
4
+ # Copyright (c) <%= now.year %>. All rights reserved.
5
+
6
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/<%= project_name %>")
7
+
8
+ require "<%= bin_name %>/cli"
9
+
10
+ <%= module_name %>::CLI.execute
@@ -0,0 +1,42 @@
1
+ require 'optparse'
2
+
3
+ module <%= module_name %>
4
+ class CLI
5
+ def self.execute
6
+
7
+ # NOTE: the option -p/--path= is given as an example, and should be replaced in your application.
8
+
9
+ options = {
10
+ :path => '~'
11
+ }
12
+ mandatory_options = %w( )
13
+
14
+ parser = OptionParser.new do |opts|
15
+ opts.banner = <<-BANNER.gsub(/^ /,'')
16
+ This application is wonderful because...
17
+
18
+ Usage: #{File.basename($0)} [options]
19
+
20
+ Options are:
21
+ BANNER
22
+ opts.separator ""
23
+ opts.on("-p", "--path=PATH", String,
24
+ "This is a sample message.",
25
+ "For multiple lines, add more strings.",
26
+ "Default: ~") { |arg| OPTIONS[:path] = arg }
27
+ opts.on("-h", "--help",
28
+ "Show this help message.") { puts opts; exit }
29
+ opts.parse!(ARGV)
30
+
31
+ if mandatory_options && mandatory_options.find { |option| options[option.to_sym].nil? }
32
+ puts opts; exit
33
+ end
34
+ end
35
+
36
+ path = options[:path]
37
+
38
+ # do stuff
39
+ puts "To update this executable, look in lib/<%= bin_name %>/cli.rb"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,8 @@
1
+ require File.join(File.dirname(__FILE__), "test_helper.rb")
2
+ require '<%= bin_name %>/cli'
3
+
4
+ class Test<%= module_name %>Cli < Test::Unit::TestCase
5
+ def test_execute
6
+ # <%= module_name %>::CLI.execute
7
+ end
8
+ end
@@ -9,7 +9,7 @@ class InstallCucumberGenerator < RubiGen::Base
9
9
 
10
10
  def initialize(runtime_args, runtime_options = {})
11
11
  super
12
- @project_name = File.basename(destination_root)
12
+ @project_name = File.basename(File.expand_path(destination_root))
13
13
  end
14
14
 
15
15
  def manifest
@@ -21,9 +21,6 @@ class InstallCucumberGenerator < RubiGen::Base
21
21
 
22
22
  m.directory 'tasks'
23
23
  m.file 'cucumber.rake', 'tasks/cucumber.rake'
24
-
25
- m.directory 'script'
26
- m.file 'cucumber', 'script/cucumber', script_options
27
24
  end
28
25
  end
29
26
 
@@ -0,0 +1,6 @@
1
+ gem 'cucumber'
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new(:features) do |t|
5
+ t.cucumber_opts = "--format pretty"
6
+ end
@@ -12,14 +12,15 @@ class TestExecutableGenerator < Test::Unit::TestCase
12
12
  end
13
13
 
14
14
  def test_generator_without_options
15
- name = "name"
15
+ name = "binname"
16
16
  run_generator('executable', [name], sources)
17
17
  assert_generated_file("bin/#{name}")
18
+ assert_generated_file("lib/#{name}/cli.rb")
19
+ assert_generated_file("test/test_#{name}_cli.rb")
18
20
  end
19
21
 
20
22
  def sources
21
- [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
22
- ]
23
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__), "..", generator_path))]
23
24
  end
24
25
 
25
26
  def generator_path
@@ -33,8 +33,6 @@ class TestInstallCucumberGenerator < Test::Unit::TestCase
33
33
  end
34
34
  assert_directory_exists("tasks")
35
35
  assert_generated_file("tasks/cucumber.rake")
36
- assert_directory_exists("script")
37
- assert_generated_file("script/cucumber")
38
36
  end
39
37
 
40
38
  private
data/website/index.html CHANGED
@@ -39,7 +39,7 @@
39
39
 
40
40
  <div id="version"> <!-- class="clickable" onclick='document.location = "http://rubyforge.org/projects/newgem"; return true' -->
41
41
  <p>Get Version</p>
42
- <a href="http://rubyforge.org/projects/newgem" class="numbers">0.28.0</a>
42
+ <a href="http://rubyforge.org/projects/newgem" class="numbers">0.29.0</a>
43
43
  <p>Featured in</p>
44
44
  <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FBeginning-Ruby-Novice-Professional-Experts%2Fdp%2F1590597664%2F&tag=drnic-20&linkCode=ur2&camp=1789&creative=9325" class="book"><img src="images/beginning-ruby.jpg" /></a>
45
45
  </div>
@@ -39,7 +39,7 @@
39
39
 
40
40
  <div id="version"> <!-- class="clickable" onclick='document.location = "http://rubyforge.org/projects/newgem"; return true' -->
41
41
  <p>Get Version</p>
42
- <a href="http://rubyforge.org/projects/newgem" class="numbers">0.28.0</a>
42
+ <a href="http://rubyforge.org/projects/newgem" class="numbers">0.29.0</a>
43
43
  <p>Featured in</p>
44
44
  <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FBeginning-Ruby-Novice-Professional-Experts%2Fdp%2F1590597664%2F&tag=drnic-20&linkCode=ur2&camp=1789&creative=9325" class="book"><img src="images/beginning-ruby.jpg" /></a>
45
45
  </div>
@@ -1,3 +1,3 @@
1
1
  // Announcement JS file
2
- var version = "0.28.0";
2
+ var version = "0.29.0";
3
3
  MagicAnnouncement.show('compositekeys', version);
data/website/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // Version JS file
2
- var version = "0.28.0";
2
+ var version = "0.29.0";
3
3
 
4
4
  document.write(" - " + version);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newgem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dr Nic Williams
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-17 00:00:00 -02:00
12
+ date: 2008-10-19 00:00:00 -02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -125,6 +125,12 @@ files:
125
125
  - cucumber_generators/feature/feature_generator.rb
126
126
  - cucumber_generators/feature/templates/feature.erb
127
127
  - cucumber_generators/feature/templates/steps.erb
128
+ - features/cli.feature
129
+ - features/executable_generator.feature
130
+ - features/expected_outputs/newgem.out
131
+ - features/steps/cli.rb
132
+ - features/steps/env.rb
133
+ - features/steps/executable_generator.rb
128
134
  - lib/newgem.rb
129
135
  - lib/newgem/quick_template.rb
130
136
  - lib/newgem/rubyforge.rb
@@ -150,7 +156,9 @@ files:
150
156
  - newgem_theme_generators/plain_theme/templates/website/template.html.erb
151
157
  - rubygems_generators/executable/USAGE
152
158
  - rubygems_generators/executable/executable_generator.rb
153
- - rubygems_generators/executable/templates/app.rb
159
+ - rubygems_generators/executable/templates/bin/app.rb.erb
160
+ - rubygems_generators/executable/templates/lib/app/cli.rb.erb
161
+ - rubygems_generators/executable/templates/test/test_cli.rb.erb
154
162
  - rubygems_generators/extconf/USAGE
155
163
  - rubygems_generators/extconf/extconf_generator.rb
156
164
  - rubygems_generators/extconf/templates/README.txt
@@ -161,7 +169,6 @@ files:
161
169
  - rubygems_generators/extconf/templates/tasks/extconf_name.rake
162
170
  - rubygems_generators/extconf/templates/test/test.rb.erb
163
171
  - rubygems_generators/install_cucumber/install_cucumber_generator.rb
164
- - rubygems_generators/install_cucumber/templates/cucumber
165
172
  - rubygems_generators/install_cucumber/templates/cucumber.rake
166
173
  - rubygems_generators/install_cucumber/templates/env.rb
167
174
  - rubygems_generators/install_jruby/USAGE
@@ -189,6 +196,7 @@ files:
189
196
  - script/txt2js
190
197
  - setup.rb
191
198
  - tasks/bundles.rake
199
+ - tasks/cucumber.rake
192
200
  - tasks/deployment.rake
193
201
  - tasks/environment.rake
194
202
  - tasks/generator_report.rake
@@ -1,44 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # Created <%= "by #{author} " if author %>on <%= (now = Time.now).year %>-<%= now.month %>-<%= now.day %>.
4
- # Copyright (c) <%= now.year %>. All rights reserved.
5
-
6
- begin
7
- require 'rubygems'
8
- rescue LoadError
9
- # no rubygems to load, so we fail silently
10
- end
11
-
12
- require 'optparse'
13
-
14
- # NOTE: the option -p/--path= is given as an example, and should probably be replaced in your application.
15
-
16
- OPTIONS = {
17
- :path => '~'
18
- }
19
- MANDATORY_OPTIONS = %w( )
20
-
21
- parser = OptionParser.new do |opts|
22
- opts.banner = <<BANNER
23
- This application is wonderful because...
24
-
25
- Usage: #{File.basename($0)} [options]
26
-
27
- Options are:
28
- BANNER
29
- opts.separator ""
30
- opts.on("-p", "--path=PATH", String,
31
- "The root path for selecting files",
32
- "Default: ~") { |OPTIONS[:path]| }
33
- opts.on("-h", "--help",
34
- "Show this help message.") { puts opts; exit }
35
- opts.parse!(ARGV)
36
-
37
- if MANDATORY_OPTIONS && MANDATORY_OPTIONS.find { |option| OPTIONS[option.to_sym].nil? }
38
- puts opts; exit
39
- end
40
- end
41
-
42
- path = OPTIONS[:path]
43
-
44
- # do stuff
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env ruby
2
- load File.expand_path(File.dirname(__FILE__) + "/../vendor/plugins/cucumber/bin/cucumber")