rubigen 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|