rubigen 1.5.2 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 1.5.3 2010-02-11
2
+
3
+ * Forced rubigen to use activesupport 2.3.5 (as the last < 3.0 version). It will upgrade to use 3.0.0 when it is released.
4
+
5
+
1
6
  == 1.5.2 2009-01-12
2
7
 
3
8
  * Trying to remove a circular rubigen->newgem->rubigen dependency issue
data/Manifest.txt CHANGED
@@ -14,11 +14,14 @@ app_generators/ruby_app/templates/test/test_helper.rb.erb
14
14
  bin/install_rubigen_scripts
15
15
  bin/rubigen
16
16
  bin/ruby_app
17
+ config/website.yml
17
18
  features/development.feature
18
19
  features/help.feature
19
20
  features/rubigen_cli.feature
20
- features/steps/common.rb
21
- features/steps/env.rb
21
+ features/step_definitions/common_steps.rb
22
+ features/support/common.rb
23
+ features/support/env.rb
24
+ features/support/matchers.rb
22
25
  generators/install_rubigen_scripts/install_rubigen_scripts_generator.rb
23
26
  generators/install_rubigen_scripts/templates/script/destroy
24
27
  generators/install_rubigen_scripts/templates/script/generate
@@ -38,6 +41,7 @@ lib/rubigen/scripts/generate.rb
38
41
  lib/rubigen/scripts/update.rb
39
42
  lib/rubigen/simple_logger.rb
40
43
  lib/rubigen/spec.rb
44
+ rubigen.gemspec
41
45
  rubygems_generators/application_generator/USAGE
42
46
  rubygems_generators/application_generator/application_generator_generator.rb
43
47
  rubygems_generators/application_generator/templates/bin
data/Rakefile CHANGED
@@ -1,20 +1,21 @@
1
- %w[rubygems rake rake/clean].each { |f| require f }
2
- require 'newgem' rescue nil # still work if newgem not available
3
- require File.dirname(__FILE__) + '/lib/rubigen'
1
+ require 'rubygems'
2
+ require 'hoe'
3
+ require './lib/rubigen'
4
+
5
+ Hoe.plugin :newgem
6
+ Hoe.plugin :website
7
+ Hoe.plugin :cucumberfeatures
8
+ Hoe.plugin :git
4
9
 
5
10
  # Generate all the Rake tasks
6
11
  # Run 'rake -T' to see list of generated tasks (from gem root directory)
7
- $hoe = Hoe.new('rubigen', RubiGen::VERSION) do |p|
8
- p.developer('Dr Nic Williams', 'drnicwilliams@gmail.com')
9
- p.developer('Jeremy Kemper', 'jeremy@bitsweat.net')
10
- p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
11
- p.extra_deps = [['activesupport','>= 2.2.2']]
12
- # p.extra_dev_deps = [['newgem', ">= #{::Newgem::VERSION}"]] - TODO causes a circular dependency < rubygems 1.2
13
-
14
- p.clean_globs |= %w[**/.DS_Store tmp *.log]
15
- path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
16
- p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
17
- p.rsync_args = '-av --delete --ignore-errors'
12
+ Hoe.spec 'rubigen' do
13
+ developer 'Dr Nic Williams', 'drnicwilliams@gmail.com'
14
+ developer 'Jeremy Kemper', 'jeremy@bitsweat.net'
15
+ extra_deps << ['activesupport','2.3.5']
16
+ extra_deps << ['mocha','>= 0.9.7']
17
+ extra_deps << ['cucumber','>= 0.3.6']
18
+ extra_deps << ['thoughtbot-shoulda','>= 2.10.2']
18
19
  end
19
20
 
20
21
  require 'newgem/tasks' rescue nil # load /tasks/*.rake
data/bin/rubigen CHANGED
@@ -3,6 +3,8 @@
3
3
  # Created on 2008-12-27.
4
4
  # Copyright (c) 2008. All rights reserved.
5
5
 
6
+ require "rubygems"
7
+ gem 'activesupport', '2.3.5'
6
8
  require File.expand_path(File.dirname(__FILE__) + "/../lib/rubigen")
7
9
 
8
10
  require "rubigen/cli"
@@ -0,0 +1,2 @@
1
+ host: nicwilliams@rubyforge.org
2
+ remote_dir: /var/www/gforge-projects/rubigen/
@@ -6,8 +6,8 @@ Feature: Development processes of newgem itself (rake tasks)
6
6
 
7
7
  Scenario: Generate RubyGem
8
8
  Given this project is active project folder
9
- And 'pkg' folder is deleted
10
- When task 'rake gem' is invoked
11
- Then folder 'pkg' is created
12
- And file with name matching 'pkg/*.gem' is created else you should run "rake manifest" to fix this
13
- And gem spec key 'rdoc_options' contains /--mainREADME.rdoc/
9
+ And "pkg" folder is deleted
10
+ When I invoke task "rake gem"
11
+ Then folder "pkg" is created
12
+ And file with name matching "pkg/*.gem" is created else you should run "rake manifest" to fix this
13
+ And gem spec key "rdoc_options" contains /(--mainREADME.rdoc|\[\"--main\", \"README.rdoc\"\])/
@@ -4,11 +4,10 @@ Feature: Generators offer help/usage details
4
4
  I want help/usage details about generators
5
5
 
6
6
  Scenario: List of visible generators for rubygems
7
- Given a safe folder
8
- When run local executable 'rubigen rubygems' with arguments ''
9
- Then output does match /application_generator/
10
- And output does match /component_generator/
11
- And output does not match /migration/ # from rails scope
7
+ When I run local executable "rubigen rubygems" with arguments ""
8
+ Then I should see "application_generator"
9
+ Then I should see "component_generator"
10
+ Then I should not see "migration" # from rails scope
12
11
 
13
12
 
14
13
 
@@ -4,7 +4,6 @@ Feature: rubigen command-line interface to access generators anywhere
4
4
  I want to execute generators anywhere without a script/generate helper script
5
5
 
6
6
  Scenario: Run a component generator
7
- Given a safe folder
8
- When run local executable 'rubigen' with arguments 'rubygems component_generator foo bar'
9
- Then file 'bar_generators/foo/foo_generator.rb' is created
7
+ When I run local executable "rubigen" with arguments "rubygems component_generator foo bar"
8
+ Then file "bar_generators/foo/foo_generator.rb" is created
10
9
 
@@ -1,51 +1,18 @@
1
- def in_project_folder(&block)
2
- project_folder = @active_project_folder || @tmp_root
3
- FileUtils.chdir(project_folder, &block)
4
- end
5
-
6
- def in_home_folder(&block)
7
- FileUtils.chdir(@home_path, &block)
8
- end
9
-
10
- Given %r{^a safe folder} do
11
- FileUtils.rm_rf @tmp_root = File.dirname(__FILE__) + "/../../tmp"
12
- FileUtils.mkdir_p @tmp_root
13
- FileUtils.mkdir_p @home_path = File.expand_path(File.join(@tmp_root, "home"))
14
- @lib_path = File.expand_path(File.dirname(__FILE__) + '/../../lib')
15
- Given "env variable $HOME set to '#{@home_path}'"
16
- end
17
-
18
- Given %r{^this project is active project folder} do
19
- Given "a safe folder"
1
+ Given /^this project is active project folder/ do
20
2
  @active_project_folder = File.expand_path(File.dirname(__FILE__) + "/../..")
21
3
  end
22
4
 
23
- Given %r{^env variable \$([\w_]+) set to '(.*)'} do |env_var, value|
5
+ Given /^env variable \$([\w_]+) set to "(.*)"/ do |env_var, value|
24
6
  ENV[env_var] = value
25
7
  end
26
8
 
27
- def force_local_lib_override(project_name = @project_name)
28
- rakefile = File.read(File.join(project_name, 'Rakefile'))
29
- File.open(File.join(project_name, 'Rakefile'), "w+") do |f|
30
- f << "$:.unshift('#{@lib_path}')\n"
31
- f << rakefile
32
- end
33
- end
34
-
35
- def setup_active_project_folder project_name
36
- @active_project_folder = File.join(@tmp_root, project_name)
37
- @project_name = project_name
9
+ Given /"(.*)" folder is deleted/ do |folder|
10
+ in_project_folder { FileUtils.rm_rf folder }
38
11
  end
39
12
 
40
- Given %r{'(.*)' folder is deleted} do |folder|
41
- in_project_folder do
42
- FileUtils.rm_rf folder
43
- end
44
- end
45
-
46
- When %r{^'(.*)' generator is invoked with arguments '(.*)'$} do |generator, arguments|
13
+ When /^I invoke "(.*)" generator with arguments "(.*)"$/ do |generator, arguments|
47
14
  @stdout = StringIO.new
48
- FileUtils.chdir(@active_project_folder) do
15
+ in_project_folder do
49
16
  if Object.const_defined?("APP_ROOT")
50
17
  APP_ROOT.replace(FileUtils.pwd)
51
18
  else
@@ -59,55 +26,63 @@ When %r{^'(.*)' generator is invoked with arguments '(.*)'$} do |generator, argu
59
26
  end
60
27
  end
61
28
 
62
- When %r{run executable '(.*)' with arguments '(.*)'} do |executable, arguments|
29
+ When /^I run executable "(.*)" with arguments "(.*)"/ do |executable, arguments|
63
30
  @stdout = File.expand_path(File.join(@tmp_root, "executable.out"))
64
31
  in_project_folder do
65
32
  system "#{executable} #{arguments} > #{@stdout} 2> #{@stdout}"
66
33
  end
67
34
  end
68
35
 
69
- When %r{run project executable '(.*)' with arguments '(.*)'} do |executable, arguments|
36
+ When /^I run project executable "(.*)" with arguments "(.*)"/ do |executable, arguments|
70
37
  @stdout = File.expand_path(File.join(@tmp_root, "executable.out"))
71
38
  in_project_folder do
72
- system "ruby #{executable} #{arguments} > #{@stdout} 2> #{@stdout}"
39
+ system "ruby -rubygems #{executable} #{arguments} > #{@stdout} 2> #{@stdout}"
73
40
  end
74
41
  end
75
42
 
76
- When %r{run local executable '(.*)' with arguments '(.*)'} do |executable, arguments|
43
+ When /^I run local executable "(.*)" with arguments "(.*)"/ do |executable, arguments|
77
44
  @stdout = File.expand_path(File.join(@tmp_root, "executable.out"))
78
- @stderr = File.expand_path(File.join(@tmp_root, "executable.err"))
79
45
  executable = File.expand_path(File.join(File.dirname(__FILE__), "/../../bin", executable))
80
46
  in_project_folder do
81
- system "ruby #{executable} #{arguments} > #{@stdout} 2> #{@stderr}"
47
+ system "ruby -rubygems #{executable} #{arguments} > #{@stdout} 2> #{@stdout}"
82
48
  end
83
49
  end
84
50
 
85
- When %r{^task 'rake (.*)' is invoked$} do |task|
51
+ When /^I invoke task "rake (.*)"/ do |task|
86
52
  @stdout = File.expand_path(File.join(@tmp_root, "tests.out"))
87
- FileUtils.chdir(@active_project_folder) do
53
+ in_project_folder do
88
54
  system "rake #{task} --trace > #{@stdout} 2> #{@stdout}"
89
55
  end
90
56
  end
91
57
 
92
- Then %r{^folder '(.*)' (is|is not) created} do |folder, is|
58
+ Then /^folder "(.*)" (is|is not) created/ do |folder, is|
93
59
  in_project_folder do
94
60
  File.exists?(folder).should(is == 'is' ? be_true : be_false)
95
61
  end
96
62
  end
97
63
 
98
- Then %r{^file '(.*)' (is|is not) created} do |file, is|
64
+ Then /^file "(.*)" (is|is not) created/ do |file, is|
99
65
  in_project_folder do
100
66
  File.exists?(file).should(is == 'is' ? be_true : be_false)
101
67
  end
102
68
  end
103
69
 
104
- Then %r{^file with name matching '(.*)' is created} do |pattern|
70
+ Then /^file with name matching "(.*)" is created/ do |pattern|
105
71
  in_project_folder do
106
72
  Dir[pattern].should_not be_empty
107
73
  end
108
74
  end
109
75
 
110
- Then %r{gem file '(.*)' and generated file '(.*)' should be the same} do |gem_file, project_file|
76
+ Then /^file "(.*)" contents (does|does not) match \/(.*)\// do |file, does, regex|
77
+ in_project_folder do
78
+ actual_output = File.read(file)
79
+ (does == 'does') ?
80
+ actual_output.should(match(/#{regex}/)) :
81
+ actual_output.should_not(match(/#{regex}/))
82
+ end
83
+ end
84
+
85
+ Then /gem file "(.*)" and generated file "(.*)" should be the same/ do |gem_file, project_file|
111
86
  File.exists?(gem_file).should be_true
112
87
  File.exists?(project_file).should be_true
113
88
  gem_file_contents = File.read(File.dirname(__FILE__) + "/../../#{gem_file}")
@@ -115,77 +90,80 @@ Then %r{gem file '(.*)' and generated file '(.*)' should be the same} do |gem_fi
115
90
  project_file_contents.should == gem_file_contents
116
91
  end
117
92
 
118
- Then %r{^output same as contents of '(.*)'$} do |file|
119
- expected_output = File.read(File.join(File.dirname(__FILE__) + "/../expected_outputs", file))
120
- actual_output = File.read(File.dirname(__FILE__) + "/../../tmp/#{@stdout}")
121
- actual_output.should == expected_output
122
- end
123
-
124
- Then %r{^(does|does not) invoke generator '(.*)'$} do |does_invoke, generator|
93
+ Then /^(does|does not) invoke generator "(.*)"$/ do |does_invoke, generator|
125
94
  actual_output = File.read(@stdout)
126
95
  does_invoke == "does" ?
127
96
  actual_output.should(match(/dependency\s+#{generator}/)) :
128
97
  actual_output.should_not(match(/dependency\s+#{generator}/))
129
98
  end
130
99
 
131
- Then %r{help options '(.*)' and '(.*)' are displayed} do |opt1, opt2|
100
+ Then /help options "(.*)" and "(.*)" are displayed/ do |opt1, opt2|
132
101
  actual_output = File.read(@stdout)
133
102
  actual_output.should match(/#{opt1}/)
134
103
  actual_output.should match(/#{opt2}/)
135
104
  end
136
105
 
137
- Then %r{^output (does|does not) match \/(.*)\/} do |does, regex|
106
+ Then /^I should see "([^\"]*)"/ do |text|
138
107
  actual_output = File.read(@stdout)
139
- (does == 'does') ?
140
- actual_output.should(match(/#{regex}/)) :
141
- actual_output.should_not(match(/#{regex}/))
108
+ actual_output.should contain(text)
142
109
  end
143
110
 
144
- Then %r{^contents of file '(.*)' (does|does not) match \/(.*)\/} do |file, does, regex|
145
- in_project_folder do
146
- actual_output = File.read(file)
147
- (does == 'does') ?
148
- actual_output.should(match(/#{regex}/)) :
149
- actual_output.should_not(match(/#{regex}/))
150
- end
111
+ Then /^I should not see "([^\"]*)"/ do |text|
112
+ actual_output = File.read(@stdout)
113
+ actual_output.should_not contain(text)
151
114
  end
152
115
 
153
- Then %r{^all (\d+) tests pass} do |expected_test_count|
116
+ Then /^I should see$/ do |text|
117
+ actual_output = File.read(@stdout)
118
+ actual_output.should contain(text)
119
+ end
120
+
121
+ Then /^I should not see$/ do |text|
122
+ actual_output = File.read(@stdout)
123
+ actual_output.should_not contain(text)
124
+ end
125
+
126
+ Then /^I should see exactly$/ do |text|
127
+ actual_output = File.read(@stdout)
128
+ actual_output.should == text
129
+ end
130
+
131
+ Then /^I should see all (\d+) tests pass/ do |expected_test_count|
154
132
  expected = %r{^#{expected_test_count} tests, \d+ assertions, 0 failures, 0 errors}
155
133
  actual_output = File.read(@stdout)
156
134
  actual_output.should match(expected)
157
135
  end
158
136
 
159
- Then %r{^all (\d+) examples pass} do |expected_test_count|
137
+ Then /^I should see all (\d+) examples pass/ do |expected_test_count|
160
138
  expected = %r{^#{expected_test_count} examples?, 0 failures}
161
139
  actual_output = File.read(@stdout)
162
140
  actual_output.should match(expected)
163
141
  end
164
142
 
165
- Then %r{^yaml file '(.*)' contains (\{.*\})} do |file, yaml|
143
+ Then /^yaml file "(.*)" contains (\{.*\})/ do |file, yaml|
166
144
  in_project_folder do
167
145
  yaml = eval yaml
168
146
  YAML.load(File.read(file)).should == yaml
169
147
  end
170
148
  end
171
149
 
172
- Then %r{^Rakefile can display tasks successfully} do
150
+ Then /^Rakefile can display tasks successfully/ do
173
151
  @stdout = File.expand_path(File.join(@tmp_root, "rakefile.out"))
174
- FileUtils.chdir(@active_project_folder) do
152
+ in_project_folder do
175
153
  system "rake -T > #{@stdout} 2> #{@stdout}"
176
154
  end
177
155
  actual_output = File.read(@stdout)
178
156
  actual_output.should match(/^rake\s+\w+\s+#\s.*/)
179
157
  end
180
158
 
181
- Then %r{^task 'rake (.*)' is executed successfully} do |task|
159
+ Then /^task "rake (.*)" is executed successfully/ do |task|
182
160
  @stdout.should_not be_nil
183
161
  actual_output = File.read(@stdout)
184
162
  actual_output.should_not match(/^Don't know how to build task '#{task}'/)
185
163
  actual_output.should_not match(/Error/i)
186
164
  end
187
165
 
188
- Then %r{^gem spec key '(.*)' contains \/(.*)\/} do |key, regex|
166
+ Then /^gem spec key "(.*)" contains \/(.*)\// do |key, regex|
189
167
  in_project_folder do
190
168
  gem_file = Dir["pkg/*.gem"].first
191
169
  gem_spec = Gem::Specification.from_yaml(`gem spec #{gem_file}`)
@@ -0,0 +1,29 @@
1
+ module CommonHelpers
2
+ def in_tmp_folder(&block)
3
+ FileUtils.chdir(@tmp_root, &block)
4
+ end
5
+
6
+ def in_project_folder(&block)
7
+ project_folder = @active_project_folder || @tmp_root
8
+ FileUtils.chdir(project_folder, &block)
9
+ end
10
+
11
+ def in_home_folder(&block)
12
+ FileUtils.chdir(@home_path, &block)
13
+ end
14
+
15
+ def force_local_lib_override(project_name = @project_name)
16
+ rakefile = File.read(File.join(project_name, 'Rakefile'))
17
+ File.open(File.join(project_name, 'Rakefile'), "w+") do |f|
18
+ f << "$:.unshift('#{@lib_path}')\n"
19
+ f << rakefile
20
+ end
21
+ end
22
+
23
+ def setup_active_project_folder project_name
24
+ @active_project_folder = File.join(@tmp_root, project_name)
25
+ @project_name = project_name
26
+ end
27
+ end
28
+
29
+ World(CommonHelpers)
@@ -0,0 +1,14 @@
1
+ gem 'cucumber'
2
+ require 'cucumber'
3
+ gem 'rspec'
4
+ require 'spec'
5
+
6
+ require File.dirname(__FILE__) + "/../../lib/rubigen"
7
+
8
+ Before do
9
+ @tmp_root = File.dirname(__FILE__) + "/../../tmp"
10
+ @home_path = File.expand_path(File.join(@tmp_root, "home"))
11
+ FileUtils.rm_rf @tmp_root
12
+ FileUtils.mkdir_p @home_path
13
+ ENV['HOME'] = @home_path
14
+ end
@@ -0,0 +1,11 @@
1
+ module Matchers
2
+ def contain(expected)
3
+ simple_matcher("contain #{expected.inspect}") do |given, matcher|
4
+ matcher.failure_message = "expected #{given.inspect} to contain #{expected.inspect}"
5
+ matcher.negative_failure_message = "expected #{given.inspect} not to contain #{expected.inspect}"
6
+ given.index expected
7
+ end
8
+ end
9
+ end
10
+
11
+ World(Matchers)
data/lib/rubigen.rb CHANGED
@@ -2,15 +2,15 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  begin
5
- require 'active_support'
6
- rescue LoadError
7
- require 'rubygems'
8
- gem 'activesupport'
9
- require 'active_support'
5
+ # if you are using rubygems, fix to 2.3.5
6
+ gem 'activesupport', '2.3.5'
7
+ rescue
10
8
  end
11
9
 
10
+ require 'active_support'
11
+
12
12
  module RubiGen
13
- VERSION = '1.5.2'
13
+ VERSION = '1.5.3'
14
14
  end
15
15
 
16
16
  require 'rubigen/base'
@@ -124,7 +124,7 @@ module RubiGen
124
124
  when /\An\z/i then :skip
125
125
  when /\Ay\z/i then :force
126
126
  else
127
- $stdout.puts <<-HELP.gsub(/^ /, '')
127
+ stdout.puts <<-HELP.gsub(/^ /, '')
128
128
  Y - yes, overwrite
129
129
  n - no, do not overwrite
130
130
  a - all, overwrite this and all others
data/rubigen.gemspec ADDED
@@ -0,0 +1,42 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{rubigen}
5
+ s.version = "1.5.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Dr Nic Williams", "Jeremy Kemper"]
9
+ s.date = %q{2009-01-12}
10
+ s.description = %q{A framework to allow Ruby applications to generate file/folder stubs (like the `rails` command does for Ruby on Rails, and the 'script/generate' command within a Rails application during development).}
11
+ s.email = ["drnicwilliams@gmail.com", "jeremy@bitsweat.net"]
12
+ s.executables = ["install_rubigen_scripts", "rubigen", "ruby_app"]
13
+ s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.rdoc", "Todo.txt", "app_generators/ruby_app/templates/README.txt", "website/index.txt", "website/version-raw.txt", "website/version.txt"]
14
+ s.files = [".autotest", "History.txt", "License.txt", "Manifest.txt", "README.rdoc", "Rakefile", "Todo.txt", "app_generators/ruby_app/USAGE", "app_generators/ruby_app/ruby_app_generator.rb", "app_generators/ruby_app/templates/README.txt", "app_generators/ruby_app/templates/Rakefile", "app_generators/ruby_app/templates/lib/module.rb", "app_generators/ruby_app/templates/test/test_helper.rb.erb", "bin/install_rubigen_scripts", "bin/rubigen", "bin/ruby_app", "features/development.feature", "features/help.feature", "features/rubigen_cli.feature", "features/steps/common.rb", "features/steps/env.rb", "generators/install_rubigen_scripts/install_rubigen_scripts_generator.rb", "generators/install_rubigen_scripts/templates/script/destroy", "generators/install_rubigen_scripts/templates/script/generate", "generators/install_rubigen_scripts/templates/script/win_script.cmd", "lib/rubigen.rb", "lib/rubigen/base.rb", "lib/rubigen/cli.rb", "lib/rubigen/commands.rb", "lib/rubigen/generated_attribute.rb", "lib/rubigen/helpers/generator_test_helper.rb", "lib/rubigen/lookup.rb", "lib/rubigen/manifest.rb", "lib/rubigen/options.rb", "lib/rubigen/scripts.rb", "lib/rubigen/scripts/destroy.rb", "lib/rubigen/scripts/generate.rb", "lib/rubigen/scripts/update.rb", "lib/rubigen/simple_logger.rb", "lib/rubigen/spec.rb", "rubygems_generators/application_generator/USAGE", "rubygems_generators/application_generator/application_generator_generator.rb", "rubygems_generators/application_generator/templates/bin", "rubygems_generators/application_generator/templates/generator.rb", "rubygems_generators/application_generator/templates/readme", "rubygems_generators/application_generator/templates/test.rb", "rubygems_generators/application_generator/templates/test_generator_helper.rb", "rubygems_generators/application_generator/templates/usage", "rubygems_generators/component_generator/USAGE", "rubygems_generators/component_generator/component_generator_generator.rb", "rubygems_generators/component_generator/templates/generator.rb", "rubygems_generators/component_generator/templates/rails_generator.rb", "rubygems_generators/component_generator/templates/readme", "rubygems_generators/component_generator/templates/test.rb", "rubygems_generators/component_generator/templates/test_generator_helper.rb", "rubygems_generators/component_generator/templates/usage", "script/console", "script/destroy", "script/generate", "script/txt2html", "test/test_application_generator_generator.rb", "test/test_component_generator_generator.rb", "test/test_generate_builtin_application.rb", "test/test_generate_builtin_test_unit.rb", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_install_rubigen_scripts_generator.rb", "test/test_lookup.rb", "test/test_rubigen_cli.rb", "test_unit_generators/test_unit/USAGE", "test_unit_generators/test_unit/templates/test.rb", "test_unit_generators/test_unit/test_unit_generator.rb", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.js", "website/template.rhtml", "website/version-raw.js", "website/version-raw.txt", "website/version.js", "website/version.txt"]
15
+ s.has_rdoc = true
16
+ s.homepage = %q{http://drnic.github.com/rubigen}
17
+ s.rdoc_options = ["--main", "README.rdoc"]
18
+ s.require_paths = ["lib"]
19
+ s.rubyforge_project = %q{rubigen}
20
+ s.rubygems_version = %q{1.3.1}
21
+ s.summary = %q{A framework to allow Ruby applications to generate file/folder stubs (like the `rails` command does for Ruby on Rails, and the 'script/generate' command within a Rails application during development).}
22
+ s.test_files = ["test/test_application_generator_generator.rb", "test/test_component_generator_generator.rb", "test/test_generate_builtin_application.rb", "test/test_generate_builtin_test_unit.rb", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_install_rubigen_scripts_generator.rb", "test/test_lookup.rb", "test/test_rubigen_cli.rb"]
23
+
24
+ if s.respond_to? :specification_version then
25
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
+ s.specification_version = 2
27
+
28
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.2.2"])
30
+ s.add_development_dependency(%q<newgem>, [">= 1.2.3"])
31
+ s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
32
+ else
33
+ s.add_dependency(%q<activesupport>, [">= 2.2.2"])
34
+ s.add_dependency(%q<newgem>, [">= 1.2.3"])
35
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
36
+ end
37
+ else
38
+ s.add_dependency(%q<activesupport>, [">= 2.2.2"])
39
+ s.add_dependency(%q<newgem>, [">= 1.2.3"])
40
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
41
+ end
42
+ end
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'rubigen'
5
5
 
6
6
  if %w(-v --version).include? ARGV.first
7
- require '<%= name %>/version'
7
+ require '<%= name %>'
8
8
  puts "#{File.basename($0)} #{<%= app_model_name %>::VERSION}"
9
9
  exit(0)
10
10
  end
data/test/test_helper.rb CHANGED
@@ -1,29 +1,8 @@
1
+ require 'rubygems'
1
2
  require 'test/unit'
2
3
  require File.dirname(__FILE__) + '/../lib/rubigen'
3
4
  require 'rubigen/helpers/generator_test_helper'
4
5
  include RubiGen
5
-
6
- def load_mocha
7
- require 'rubygems'
8
- begin
9
- gem 'mocha'
10
- rescue LoadError
11
- puts <<-EOS
12
- #{$!}
13
-
14
- This RubyGem is required to run the tests.
15
-
16
- Install: gem install mocha
17
- EOS
18
- end
19
- require 'mocha'
20
- end
21
- begin
22
- gem 'mocha'
23
- rescue LoadError
24
- load_mocha
25
- rescue NoMethodError
26
- load_mocha
27
- end
28
-
29
- require "shoulda"
6
+ require "shoulda"
7
+ require "shoulda/test_unit"
8
+ require 'mocha'
data/test/test_lookup.rb CHANGED
@@ -4,15 +4,15 @@ class TestLookup < Test::Unit::TestCase
4
4
  include RubiGen
5
5
 
6
6
  def setup
7
- Base.reset_sources
7
+ RubiGen::Base.reset_sources
8
8
  end
9
9
 
10
10
  def test_lookup_component
11
- assert_nothing_raised(GeneratorError, "Could not find install_rubigen_scripts generator") { Base.lookup('install_rubigen_scripts') }
11
+ assert_nothing_raised(GeneratorError, "Could not find install_rubigen_scripts generator") { RubiGen::Base.lookup('install_rubigen_scripts') }
12
12
  end
13
13
 
14
14
  def test_lookup_unknown_component
15
- assert_raise(GeneratorError, "Should not find generator") { Base.lookup('dummy') }
15
+ assert_raise(GeneratorError, "Should not find generator") { RubiGen::Base.lookup('dummy') }
16
16
  end
17
17
 
18
18
  # There are 5 sources of generators
@@ -25,7 +25,7 @@ class TestLookup < Test::Unit::TestCase
25
25
  # Note, this differs from Rails generator:
26
26
  # * RubyGems whose name is suffixed with _generator are not loaded (e.g. ajax_scaffold_generator)
27
27
  def test_sources
28
- sources = Base.sources
28
+ sources = RubiGen::Base.sources
29
29
  assert(sources.find do |source|
30
30
  source.path =~ /\.rubigen\/generators$/ if source.respond_to? :path
31
31
  end, "One source should be HOME/.rubigen/generators")
@@ -69,38 +69,38 @@ class TestLookup < Test::Unit::TestCase
69
69
  end
70
70
 
71
71
  def test_use_component_sources_without_scope
72
- Base.use_component_sources!
73
- gem_path_source = Base.sources.find { |source| source.is_a?(GemPathSource) }
72
+ RubiGen::Base.use_component_sources!
73
+ gem_path_source = RubiGen::Base.sources.find { |source| source.is_a?(GemPathSource) }
74
74
  assert_not_nil(gem_path_source, "Where is the GemPathSource?")
75
75
  assert_equal("", gem_path_source.send(:filter_str))
76
76
  end
77
77
 
78
78
  def test_use_component_sources_with_scope
79
- Base.use_component_sources! :rubygems, :ruby
80
- gem_path_source = Base.sources.find { |source| source.is_a?(GemPathSource) }
79
+ RubiGen::Base.use_component_sources! :rubygems, :ruby
80
+ gem_path_source = RubiGen::Base.sources.find { |source| source.is_a?(GemPathSource) }
81
81
  assert_not_nil(gem_path_source, "Where is the GemPathSource?")
82
82
  assert_equal("{rubygems_,ruby_,}", gem_path_source.send(:filter_str))
83
- user_path_source = Base.sources.find { |source| source.is_a?(PathFilteredSource) }
83
+ user_path_source = RubiGen::Base.sources.find { |source| source.is_a?(PathFilteredSource) }
84
84
  assert_not_nil(user_path_source, "Where is the PathFilteredSource?")
85
85
  assert_match(/\.rubigen\/\{rubygems_,ruby_,\}generators/, user_path_source.path)
86
86
  end
87
87
 
88
88
  def test_use_application_sources
89
- Base.use_application_sources!
89
+ RubiGen::Base.use_application_sources!
90
90
  expected_path = File.expand_path(File.join(File.dirname(__FILE__), %w[.. app_generators]))
91
- builtin_source = Base.sources.find { |s| s.path == expected_path if s.respond_to?(:path) }
91
+ builtin_source = RubiGen::Base.sources.find { |s| s.path == expected_path if s.respond_to?(:path) }
92
92
  assert_not_nil(builtin_source, "Cannot find builtin generators")
93
93
  assert_nothing_raised(GeneratorError) do
94
- generator = Base.lookup('ruby_app')
94
+ generator = RubiGen::Base.lookup('ruby_app')
95
95
  end
96
96
  end
97
97
 
98
98
  def test_use_application_sources_with_scope
99
- Base.use_application_sources! :rubygems, :newgem
100
- gem_path_source = Base.sources.find { |source| source.is_a?(GemPathSource) }
99
+ RubiGen::Base.use_application_sources! :rubygems, :newgem
100
+ gem_path_source = RubiGen::Base.sources.find { |source| source.is_a?(GemPathSource) }
101
101
  assert_not_nil(gem_path_source, "Where is the GemPathSource?")
102
102
  assert_equal("{app_,rubygems_,newgem_,}", gem_path_source.send(:filter_str))
103
- user_path_source = Base.sources.find { |source| source.is_a?(PathFilteredSource) }
103
+ user_path_source = RubiGen::Base.sources.find { |source| source.is_a?(PathFilteredSource) }
104
104
  assert_not_nil(user_path_source, "Where is the PathFilteredSource?")
105
105
  assert_match(/\.rubigen\/\{app_,rubygems_,newgem_,\}generators/, user_path_source.path)
106
106
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubigen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dr Nic Williams
@@ -10,18 +10,48 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-01-12 00:00:00 +10:00
13
+ date: 2010-02-11 00:00:00 +10:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
18
18
  type: :runtime
19
19
  version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - "="
23
+ - !ruby/object:Gem::Version
24
+ version: 2.3.5
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: mocha
28
+ type: :runtime
29
+ version_requirement:
20
30
  version_requirements: !ruby/object:Gem::Requirement
21
31
  requirements:
22
32
  - - ">="
23
33
  - !ruby/object:Gem::Version
24
- version: 2.2.2
34
+ version: 0.9.7
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 0.3.6
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: thoughtbot-shoulda
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.10.2
25
55
  version:
26
56
  - !ruby/object:Gem::Dependency
27
57
  name: hoe
@@ -31,9 +61,12 @@ dependencies:
31
61
  requirements:
32
62
  - - ">="
33
63
  - !ruby/object:Gem::Version
34
- version: 1.8.0
64
+ version: 2.4.0
35
65
  version:
36
- description: A framework to allow Ruby applications to generate file/folder stubs (like the `rails` command does for Ruby on Rails, and the 'script/generate' command within a Rails application during development).
66
+ description: |-
67
+ A framework to allow Ruby applications to generate file/folder stubs
68
+ (like the `rails` command does for Ruby on Rails, and the 'script/generate'
69
+ command within a Rails application during development).
37
70
  email:
38
71
  - drnicwilliams@gmail.com
39
72
  - jeremy@bitsweat.net
@@ -47,7 +80,6 @@ extra_rdoc_files:
47
80
  - History.txt
48
81
  - License.txt
49
82
  - Manifest.txt
50
- - README.rdoc
51
83
  - Todo.txt
52
84
  - app_generators/ruby_app/templates/README.txt
53
85
  - website/index.txt
@@ -70,11 +102,14 @@ files:
70
102
  - bin/install_rubigen_scripts
71
103
  - bin/rubigen
72
104
  - bin/ruby_app
105
+ - config/website.yml
73
106
  - features/development.feature
74
107
  - features/help.feature
75
108
  - features/rubigen_cli.feature
76
- - features/steps/common.rb
77
- - features/steps/env.rb
109
+ - features/step_definitions/common_steps.rb
110
+ - features/support/common.rb
111
+ - features/support/env.rb
112
+ - features/support/matchers.rb
78
113
  - generators/install_rubigen_scripts/install_rubigen_scripts_generator.rb
79
114
  - generators/install_rubigen_scripts/templates/script/destroy
80
115
  - generators/install_rubigen_scripts/templates/script/generate
@@ -94,6 +129,7 @@ files:
94
129
  - lib/rubigen/scripts/update.rb
95
130
  - lib/rubigen/simple_logger.rb
96
131
  - lib/rubigen/spec.rb
132
+ - rubigen.gemspec
97
133
  - rubygems_generators/application_generator/USAGE
98
134
  - rubygems_generators/application_generator/application_generator_generator.rb
99
135
  - rubygems_generators/application_generator/templates/bin
@@ -138,6 +174,8 @@ files:
138
174
  - website/version.txt
139
175
  has_rdoc: true
140
176
  homepage: http://drnic.github.com/rubigen
177
+ licenses: []
178
+
141
179
  post_install_message:
142
180
  rdoc_options:
143
181
  - --main
@@ -159,9 +197,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
197
  requirements: []
160
198
 
161
199
  rubyforge_project: rubigen
162
- rubygems_version: 1.3.1
200
+ rubygems_version: 1.3.5
163
201
  signing_key:
164
- specification_version: 2
202
+ specification_version: 3
165
203
  summary: A framework to allow Ruby applications to generate file/folder stubs (like the `rails` command does for Ruby on Rails, and the 'script/generate' command within a Rails application during development).
166
204
  test_files:
167
205
  - test/test_application_generator_generator.rb
@@ -1,6 +0,0 @@
1
- require File.dirname(__FILE__) + "/../../lib/rubigen"
2
-
3
- gem 'cucumber'
4
- require 'cucumber'
5
- gem 'rspec'
6
- require 'spec'