rubigen 1.3.1 → 1.3.2
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 +5 -0
- data/lib/rubigen/commands.rb +13 -13
- data/lib/rubigen/helpers/generator_test_helper.rb +1 -1
- data/lib/rubigen/version.rb +1 -1
- data/rubygems_generators/application_generator/templates/bin +2 -0
- data/rubygems_generators/application_generator/templates/generator.rb +9 -7
- data/rubygems_generators/application_generator/templates/test.rb +5 -5
- data/rubygems_generators/component_generator/templates/generator.rb +2 -0
- data/website/index.html +2 -2
- data/website/version-raw.js +1 -1
- data/website/version.js +1 -1
- metadata +2 -2
data/History.txt
CHANGED
data/lib/rubigen/commands.rb
CHANGED
@@ -155,7 +155,7 @@ module RubiGen
|
|
155
155
|
# directories, renders templates, and more.
|
156
156
|
class Create < Base
|
157
157
|
|
158
|
-
# Check whether the given class names are already taken.
|
158
|
+
# Check whether the given class names are already taken.
|
159
159
|
# In the future, expand to check other namespaces
|
160
160
|
# such as the rest of the user's app.
|
161
161
|
def class_collisions(*class_names)
|
@@ -191,7 +191,7 @@ module RubiGen
|
|
191
191
|
# file 'config/empty.log', 'log/test.log', :chmod => 0664
|
192
192
|
# :shebang sets the #!/usr/bin/ruby line for scripts
|
193
193
|
# file 'bin/generate.rb', 'script/generate', :chmod => 0755, :shebang => '/usr/bin/env ruby'
|
194
|
-
# :collision sets the collision option only for the destination file:
|
194
|
+
# :collision sets the collision option only for the destination file:
|
195
195
|
# file 'settings/server.yml', 'config/server.yml', :collision => :skip
|
196
196
|
#
|
197
197
|
# Collisions are handled by checking whether the destination file
|
@@ -205,7 +205,7 @@ module RubiGen
|
|
205
205
|
|
206
206
|
# If source and destination are identical then we're done.
|
207
207
|
if destination_exists and identical?(source, destination, &block)
|
208
|
-
return logger.identical(relative_destination)
|
208
|
+
return logger.identical(relative_destination)
|
209
209
|
end
|
210
210
|
|
211
211
|
# Check for and resolve file collisions.
|
@@ -259,7 +259,7 @@ module RubiGen
|
|
259
259
|
file "#{path}#{file_name}", "#{path}#{file_name}", options
|
260
260
|
end
|
261
261
|
end
|
262
|
-
|
262
|
+
|
263
263
|
def folder(template_path, path=nil, options = {})
|
264
264
|
template_path = "/" if template_path.blank?
|
265
265
|
source = source_path(template_path)
|
@@ -268,7 +268,7 @@ module RubiGen
|
|
268
268
|
file "#{template_path}#{file_name}", "#{path}#{file_name}", options
|
269
269
|
end
|
270
270
|
end
|
271
|
-
|
271
|
+
|
272
272
|
# Checks if the source and the destination file are identical. If
|
273
273
|
# passed a block then the source file is a template that needs to first
|
274
274
|
# be evaluated before being compared to the destination.
|
@@ -304,7 +304,7 @@ module RubiGen
|
|
304
304
|
ERB.new(file.read, nil, '-').result(b)
|
305
305
|
end
|
306
306
|
end
|
307
|
-
|
307
|
+
|
308
308
|
def template_copy_each(files, path = nil, options = {})
|
309
309
|
path = path ? "#{path}/" : ""
|
310
310
|
files.each do |file_name|
|
@@ -329,7 +329,7 @@ module RubiGen
|
|
329
329
|
logger.create relative_path
|
330
330
|
unless options[:pretend]
|
331
331
|
FileUtils.mkdir_p(path)
|
332
|
-
|
332
|
+
|
333
333
|
# Subversion doesn't do path adds, so we need to add
|
334
334
|
# each directory individually.
|
335
335
|
# So stack up the directory tree and add the paths to
|
@@ -362,8 +362,8 @@ module RubiGen
|
|
362
362
|
files.reject! { |file| File.directory?(file) }
|
363
363
|
files.map! { |path| path.sub("#{destination_root}/","") }
|
364
364
|
files = files.uniq.sort
|
365
|
-
|
366
|
-
|
365
|
+
|
366
|
+
|
367
367
|
destination = destination_path(relative_destination)
|
368
368
|
destination_exists = File.exists?(destination)
|
369
369
|
|
@@ -380,7 +380,7 @@ module RubiGen
|
|
380
380
|
|
381
381
|
# If we're pretending, back off now.
|
382
382
|
return if options[:pretend]
|
383
|
-
|
383
|
+
|
384
384
|
# Write destination file with optional shebang. Yield for content
|
385
385
|
# if block given so templaters may render the source file. If a
|
386
386
|
# shebang is requested, replace the existing shebang or insert a
|
@@ -392,7 +392,7 @@ module RubiGen
|
|
392
392
|
|
393
393
|
# Optionally add file to subversion
|
394
394
|
system("svn add #{destination}") if options[:svn]
|
395
|
-
|
395
|
+
|
396
396
|
end
|
397
397
|
|
398
398
|
# When creating a migration, it knows to find the first available file in db/migrate and use the migration.rb template.
|
@@ -484,7 +484,7 @@ end_message
|
|
484
484
|
# If the directory is not in the status list, it
|
485
485
|
# has no modifications so we can simply remove it
|
486
486
|
system("svn rm #{destination}")
|
487
|
-
end
|
487
|
+
end
|
488
488
|
else
|
489
489
|
FileUtils.rm(destination)
|
490
490
|
end
|
@@ -593,7 +593,7 @@ end_message
|
|
593
593
|
def readme(*args)
|
594
594
|
logger.readme args.join(', ')
|
595
595
|
end
|
596
|
-
|
596
|
+
|
597
597
|
def migration_template(relative_source, relative_destination, options = {})
|
598
598
|
migration_directory relative_destination
|
599
599
|
logger.migration_template file_name
|
@@ -84,7 +84,7 @@ module RubiGen
|
|
84
84
|
# It takes a name or symbol without the <tt>test_</tt> part and an optional super class.
|
85
85
|
# the contents of the class source file is passed to a block.
|
86
86
|
def assert_generated_test_for(name, parent="Test::Unit::TestCase")
|
87
|
-
assert_generated_class "test/test_#{name.to_s.underscore}",parent do |body|
|
87
|
+
assert_generated_class "test/test_#{name.to_s.underscore}", parent do |body|
|
88
88
|
yield body if block_given?
|
89
89
|
end
|
90
90
|
end
|
data/lib/rubigen/version.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
class <%= class_name %> < RubiGen::Base
|
2
|
-
|
2
|
+
|
3
3
|
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
4
4
|
Config::CONFIG['ruby_install_name'])
|
5
|
-
|
5
|
+
|
6
6
|
default_options :author => nil
|
7
|
-
|
7
|
+
|
8
8
|
attr_reader :name
|
9
|
-
|
9
|
+
|
10
10
|
def initialize(runtime_args, runtime_options = {})
|
11
11
|
super
|
12
12
|
usage if args.empty?
|
@@ -23,9 +23,11 @@ class <%= class_name %> < RubiGen::Base
|
|
23
23
|
|
24
24
|
# Create stubs
|
25
25
|
# m.template "template.rb", "some_file_after_erb.rb"
|
26
|
+
# m.template_copy_each ["template.rb", "template2.rb"]
|
26
27
|
# m.file "file", "some_file_copied"
|
27
|
-
|
28
|
-
|
28
|
+
# m.file_copy_each ["path/to/file", "path/to/file2"]
|
29
|
+
|
30
|
+
m.dependency "install_rubigen_scripts", [destination_root, <%= scope_str %>],
|
29
31
|
:shebang => options[:shebang], :collision => :force
|
30
32
|
end
|
31
33
|
end
|
@@ -49,7 +51,7 @@ EOS
|
|
49
51
|
# "Default: none") { |options[:author]| }
|
50
52
|
opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
51
53
|
end
|
52
|
-
|
54
|
+
|
53
55
|
def extract_options
|
54
56
|
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
55
57
|
# Templates can access these value via the attr_reader-generated methods, but not the
|
@@ -6,11 +6,11 @@ class Test<%= class_name %> < Test::Unit::TestCase
|
|
6
6
|
def setup
|
7
7
|
bare_setup
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def teardown
|
11
11
|
bare_teardown
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
# Some generator-related assertions:
|
15
15
|
# assert_generated_file(name, &block) # block passed the file contents
|
16
16
|
# assert_directory_exists(name)
|
@@ -24,19 +24,19 @@ class Test<%= class_name %> < Test::Unit::TestCase
|
|
24
24
|
# app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
|
25
25
|
# bare_setup - place this in setup method to create the APP_ROOT folder for each test
|
26
26
|
# bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
|
27
|
-
|
27
|
+
|
28
28
|
def test_generator_without_options
|
29
29
|
run_generator('<%= name %>', [APP_ROOT], sources)
|
30
30
|
assert_directory_exists "path/to/included/folder"
|
31
31
|
assert_generated_file "path/to/included/folder/some_file"
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
private
|
35
35
|
def sources
|
36
36
|
[RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
|
37
37
|
]
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
def generator_path
|
41
41
|
"<%= generator_path %>"
|
42
42
|
end
|
@@ -18,7 +18,9 @@ class <%= class_name %> < <%= superclass_name %>
|
|
18
18
|
|
19
19
|
# Create stubs
|
20
20
|
# m.template "template.rb", "some_file_after_erb.rb"
|
21
|
+
# m.template_copy_each ["template.rb", "template2.rb"]
|
21
22
|
# m.file "file", "some_file_copied"
|
23
|
+
# m.file_copy_each ["path/to/file", "path/to/file2"]
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
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.2</a>
|
35
35
|
</div>
|
36
36
|
<h1>Ruby Generator Framework</h1>
|
37
37
|
|
@@ -365,7 +365,7 @@ script/generate component_generator
|
|
365
365
|
|
366
366
|
<p>Comments are welcome. Send an email to <a href="mailto:drnicwilliams@gmail.com">Dr Nic Williams</a> via the <a href="http://groups.google.com/group/rubigen">forum</a></p>
|
367
367
|
<p class="coda">
|
368
|
-
<a href="drnicwilliams@gmail.com">Dr Nic Williams</a>,
|
368
|
+
<a href="drnicwilliams@gmail.com">Dr Nic Williams</a>, 19th May 2008<br>
|
369
369
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
370
370
|
</p>
|
371
371
|
</div>
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dr Nic Williams
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2008-
|
13
|
+
date: 2008-05-19 00:00:00 +10:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|