rubigen 1.3.0 → 1.3.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.
- data/History.txt +7 -0
- data/Manifest.txt +1 -0
- data/lib/rubigen/spec.rb +23 -3
- data/lib/rubigen/version.rb +1 -1
- data/rubygems_generators/application_generator/templates/test_generator_helper.rb +5 -0
- data/rubygems_generators/component_generator/component_generator_generator.rb +21 -1
- data/rubygems_generators/component_generator/templates/rails_generator.rb +21 -0
- data/rubygems_generators/component_generator/templates/test.rb +2 -8
- data/rubygems_generators/component_generator/templates/test_generator_helper.rb +5 -0
- data/website/index.html +1 -1
- data/website/version-raw.js +1 -1
- data/website/version.js +1 -1
- metadata +2 -1
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
== 1.3.1 2008-04-25
|
2
|
+
|
3
|
+
* Fixed the require statements in generated tests for rails/merb generators
|
4
|
+
* Rails::Generator::Base is a valid generator superclass
|
5
|
+
* Rails generators have alternate template (based on standard NamedBase)
|
6
|
+
* test helpers define RAILS_ROOT for rails generators
|
7
|
+
|
1
8
|
== 1.3.0 2008-04-25
|
2
9
|
|
3
10
|
* component_generator: specific subclasses for rails + merb generators,
|
data/Manifest.txt
CHANGED
@@ -44,6 +44,7 @@ rubygems_generators/application_generator/templates/usage
|
|
44
44
|
rubygems_generators/component_generator/USAGE
|
45
45
|
rubygems_generators/component_generator/component_generator_generator.rb
|
46
46
|
rubygems_generators/component_generator/templates/generator.rb
|
47
|
+
rubygems_generators/component_generator/templates/rails_generator.rb
|
47
48
|
rubygems_generators/component_generator/templates/readme
|
48
49
|
rubygems_generators/component_generator/templates/test.rb
|
49
50
|
rubygems_generators/component_generator/templates/test_generator_helper.rb
|
data/lib/rubigen/spec.rb
CHANGED
@@ -27,11 +27,11 @@ module RubiGen
|
|
27
27
|
def class_name
|
28
28
|
"#{name.camelize}Generator"
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
def usage_file
|
32
32
|
"#{path}/USAGE"
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
def visible?
|
36
36
|
File.exists? usage_file
|
37
37
|
end
|
@@ -41,10 +41,30 @@ module RubiGen
|
|
41
41
|
# whose name matches the requested class name.
|
42
42
|
def lookup_class
|
43
43
|
ObjectSpace.each_object(Class) do |obj|
|
44
|
-
return obj if
|
44
|
+
return obj if valid_superclass?(obj) and
|
45
45
|
obj.name.split('::').last == class_name
|
46
46
|
end
|
47
47
|
raise NameError, "Missing #{class_name} class in #{class_file}"
|
48
48
|
end
|
49
|
+
|
50
|
+
def valid_superclass?(obj)
|
51
|
+
valid_generator_superclasses.each do |klass|
|
52
|
+
return true if obj.ancestors.include?(klass)
|
53
|
+
end
|
54
|
+
false
|
55
|
+
end
|
56
|
+
|
57
|
+
def valid_generator_superclasses
|
58
|
+
@valid_generator_superclasses ||= [
|
59
|
+
"RubiGen::Base",
|
60
|
+
"Rails::Generator::Base"
|
61
|
+
].inject([]) do |list, class_name|
|
62
|
+
klass = class_name.split("::").inject(Object) do |klass, name|
|
63
|
+
klass.const_get(name) rescue nil
|
64
|
+
end
|
65
|
+
list << klass if klass
|
66
|
+
list
|
67
|
+
end
|
68
|
+
end
|
49
69
|
end
|
50
70
|
end
|
data/lib/rubigen/version.rb
CHANGED
@@ -23,7 +23,7 @@ class ComponentGeneratorGenerator < RubiGen::Base
|
|
23
23
|
m.directory "test"
|
24
24
|
|
25
25
|
# Generator stub
|
26
|
-
m.template
|
26
|
+
m.template generator, "#{path}/#{name}_generator.rb"
|
27
27
|
m.template "test.rb", "test/test_#{name}_generator.rb"
|
28
28
|
m.file "test_generator_helper.rb", "test/test_generator_helper.rb"
|
29
29
|
m.file "usage", "#{path}/USAGE"
|
@@ -31,6 +31,15 @@ class ComponentGeneratorGenerator < RubiGen::Base
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
def generator
|
35
|
+
case (generator_type.to_sym rescue nil)
|
36
|
+
when :rails
|
37
|
+
"rails_generator.rb"
|
38
|
+
else
|
39
|
+
"generator.rb"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
34
43
|
def superclass_name
|
35
44
|
case (generator_type.to_sym rescue nil)
|
36
45
|
when :rails
|
@@ -42,6 +51,17 @@ class ComponentGeneratorGenerator < RubiGen::Base
|
|
42
51
|
end
|
43
52
|
end
|
44
53
|
|
54
|
+
def superclass_requirement
|
55
|
+
case (generator_type.to_sym rescue nil)
|
56
|
+
when :rails
|
57
|
+
["rails_generator"]
|
58
|
+
when :merb
|
59
|
+
["merb-core", "merb-gen"]
|
60
|
+
else
|
61
|
+
[]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
45
65
|
protected
|
46
66
|
def banner
|
47
67
|
<<-EOS
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class <%= class_name %> < <%= superclass_name %>
|
2
|
+
def manifest
|
3
|
+
record do |m|
|
4
|
+
# Ensure appropriate folder(s) exists
|
5
|
+
m.directory 'some_folder'
|
6
|
+
|
7
|
+
# Create stubs
|
8
|
+
# m.template "template.rb", "some_file_after_erb.rb"
|
9
|
+
# m.file "file", "some_file_copied"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
protected
|
14
|
+
def banner
|
15
|
+
<<-EOS
|
16
|
+
Creates a ...
|
17
|
+
|
18
|
+
USAGE: #{$0} #{spec.name} name
|
19
|
+
EOS
|
20
|
+
end
|
21
|
+
end
|
@@ -1,13 +1,7 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
|
2
2
|
|
3
|
-
<%
|
4
|
-
|
5
|
-
<% elsif generator_type.to_sym == :merb -%>
|
6
|
-
module Merb; end
|
7
|
-
<% end -%>
|
8
|
-
<% if superclass_name != "RubiGen::Base" -%>
|
9
|
-
class <%= superclass_name %> < RubiGen::Base
|
10
|
-
end
|
3
|
+
<% for requirement in superclass_requirement -%>
|
4
|
+
require '<%= requirement %>'
|
11
5
|
<% end -%>
|
12
6
|
|
13
7
|
class Test<%= class_name %> < Test::Unit::TestCase
|
data/website/index.html
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
<h1>rubigen</h1>
|
32
32
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rubigen"; return false'>
|
33
33
|
<p>Get Version</p>
|
34
|
-
<a href="http://rubyforge.org/projects/rubigen" class="numbers">1.3.
|
34
|
+
<a href="http://rubyforge.org/projects/rubigen" class="numbers">1.3.1</a>
|
35
35
|
</div>
|
36
36
|
<h1>Ruby Generator Framework</h1>
|
37
37
|
|
data/website/version-raw.js
CHANGED
data/website/version.js
CHANGED
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.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dr Nic Williams
|
@@ -86,6 +86,7 @@ files:
|
|
86
86
|
- rubygems_generators/component_generator/USAGE
|
87
87
|
- rubygems_generators/component_generator/component_generator_generator.rb
|
88
88
|
- rubygems_generators/component_generator/templates/generator.rb
|
89
|
+
- rubygems_generators/component_generator/templates/rails_generator.rb
|
89
90
|
- rubygems_generators/component_generator/templates/readme
|
90
91
|
- rubygems_generators/component_generator/templates/test.rb
|
91
92
|
- rubygems_generators/component_generator/templates/test_generator_helper.rb
|