templater 0.3.0 → 0.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/lib/templater.rb +1 -1
- data/lib/templater/cli/generator.rb +6 -4
- data/lib/templater/cli/manifold.rb +2 -2
- data/lib/templater/generator.rb +74 -62
- metadata +47 -47
data/lib/templater.rb
CHANGED
@@ -73,6 +73,11 @@ module Templater
|
|
73
73
|
puts "Generating with #{@generator_name} generator:"
|
74
74
|
end
|
75
75
|
step_through_templates
|
76
|
+
|
77
|
+
# Run hooks
|
78
|
+
@generator.after_run
|
79
|
+
@generator.after_generation unless @options[:delete]
|
80
|
+
@generator.after_deletion if @options[:delete]
|
76
81
|
end
|
77
82
|
|
78
83
|
def step_through_templates
|
@@ -165,9 +170,6 @@ module Templater
|
|
165
170
|
say "#{diff.action} #{diff.element.chomp}"
|
166
171
|
end
|
167
172
|
end
|
168
|
-
|
169
173
|
end
|
170
|
-
|
171
174
|
end
|
172
|
-
|
173
|
-
end
|
175
|
+
end
|
@@ -15,7 +15,7 @@ module Templater
|
|
15
15
|
|
16
16
|
def self.run(destination_root, manifold, name, version, arguments)
|
17
17
|
|
18
|
-
|
18
|
+
unless ["help", "-h", "--help"].include?(arguments.first)
|
19
19
|
generator_name = arguments.shift
|
20
20
|
if generator_class = manifold.generator(generator_name)
|
21
21
|
Generator.new(generator_name, generator_class, destination_root, name, version).run(arguments)
|
@@ -54,4 +54,4 @@ module Templater
|
|
54
54
|
|
55
55
|
end
|
56
56
|
|
57
|
-
end
|
57
|
+
end
|
data/lib/templater/generator.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
module Templater
|
2
|
-
|
2
|
+
|
3
3
|
ACTION_RESERVED_OPTIONS = [:before, :after].freeze
|
4
4
|
|
5
5
|
class Generator
|
6
|
-
|
6
|
+
|
7
7
|
include Templater::CaptureHelpers
|
8
|
-
|
8
|
+
|
9
9
|
class << self
|
10
|
-
|
10
|
+
|
11
11
|
attr_accessor :manifold
|
12
12
|
|
13
|
-
|
13
|
+
|
14
14
|
# Returns an array of hashes, where each hash describes a single argument.
|
15
15
|
#
|
16
16
|
# === Returns
|
17
17
|
# Array[Hash{Symbol=>Object}]:: A list of arguments
|
18
18
|
def arguments; @arguments ||= []; end
|
19
|
-
|
19
|
+
|
20
20
|
# A shorthand method for adding the first argument, see +Templater::Generator.argument+
|
21
21
|
def first_argument(*args); argument(0, *args); end
|
22
22
|
|
@@ -25,7 +25,7 @@ module Templater
|
|
25
25
|
|
26
26
|
# A shorthand method for adding the third argument, see +Templater::Generator.argument+
|
27
27
|
def third_argument(*args); argument(2, *args); end
|
28
|
-
|
28
|
+
|
29
29
|
# A shorthand method for adding the fourth argument, see +Templater::Generator.argument+
|
30
30
|
def fourth_argument(*args); argument(3, *args); end
|
31
31
|
|
@@ -42,7 +42,7 @@ module Templater
|
|
42
42
|
# Array[Hash{Symbol=>Object}]:: A list of invocations
|
43
43
|
def invocations; @invocations ||= []; end
|
44
44
|
|
45
|
-
|
45
|
+
|
46
46
|
# Returns an Hash that maps the type of action to a list of ActionDescriptions.
|
47
47
|
#
|
48
48
|
# ==== Returns
|
@@ -54,7 +54,7 @@ module Templater
|
|
54
54
|
# === Returns
|
55
55
|
# Array[Templater::ActionDescription]:: A list of template descriptions.
|
56
56
|
def templates; actions[:templates] ||= []; end
|
57
|
-
|
57
|
+
|
58
58
|
# Returns an array of ActionDescriptions, where each describes a single file.
|
59
59
|
#
|
60
60
|
# === Returns
|
@@ -66,7 +66,7 @@ module Templater
|
|
66
66
|
# === Returns
|
67
67
|
# Array[Templater::ActionDescription]:: A list of file descriptions.
|
68
68
|
def directories; actions[:directories] ||= []; end
|
69
|
-
|
69
|
+
|
70
70
|
# Returns an array of ActionDescriptions, where each describes a single empty directory created by generator.
|
71
71
|
#
|
72
72
|
# ==== Returns
|
@@ -98,7 +98,7 @@ module Templater
|
|
98
98
|
# name<Symbol>:: The name of this argument, an accessor with this name will be created for the argument
|
99
99
|
# options<Hash>:: Options for this argument
|
100
100
|
# &block<Proc>:: Is evaluated on assignment to check the validity of the argument
|
101
|
-
#
|
101
|
+
#
|
102
102
|
# ==== Options (opts)
|
103
103
|
# :default<Object>:: Specify a default value for this argument
|
104
104
|
# :as<Symbol>:: If set to :hash or :array, this argument will 'consume' all remaining arguments and bundle them
|
@@ -111,20 +111,20 @@ module Templater
|
|
111
111
|
def #{name}
|
112
112
|
get_argument(#{n})
|
113
113
|
end
|
114
|
-
|
114
|
+
|
115
115
|
def #{name}=(arg)
|
116
116
|
set_argument(#{n}, arg)
|
117
117
|
end
|
118
118
|
CLASS
|
119
119
|
end
|
120
|
-
|
120
|
+
|
121
121
|
# Adds an accessor with the given name to this generator, also automatically fills that value through
|
122
122
|
# the options hash that is provided when the generator is initialized.
|
123
123
|
#
|
124
124
|
# === Parameters
|
125
125
|
# name<Symbol>:: The name of this option, an accessor with this name will be created for the option
|
126
126
|
# options<Hash>:: Options for this option (how meta!)
|
127
|
-
#
|
127
|
+
#
|
128
128
|
# ==== Options (opts)
|
129
129
|
# :default<Object>:: Specify a default value for this option
|
130
130
|
# :as<Symbol>:: If set to :boolean provides a hint to the interface using this generator.
|
@@ -135,13 +135,13 @@ module Templater
|
|
135
135
|
def #{name}
|
136
136
|
get_option(:#{name})
|
137
137
|
end
|
138
|
-
|
138
|
+
|
139
139
|
def #{name}=(arg)
|
140
140
|
set_option(:#{name}, arg)
|
141
141
|
end
|
142
142
|
CLASS
|
143
143
|
end
|
144
|
-
|
144
|
+
|
145
145
|
# Adds an invocation of another generator to this generator. This allows the interface to invoke
|
146
146
|
# any templates in that target generator. This requires that the generator is part of a manifold. The name
|
147
147
|
# provided is the name of the target generator in this generator's manifold.
|
@@ -169,12 +169,12 @@ module Templater
|
|
169
169
|
# rand(100000).to_s
|
170
170
|
# end
|
171
171
|
#
|
172
|
-
# # invoke :other_generator with some
|
172
|
+
# # invoke :other_generator with some
|
173
173
|
# invoke :other_generator do |generator|
|
174
174
|
# generator.new(destination_root, options, random)
|
175
175
|
# end
|
176
176
|
# end
|
177
|
-
#
|
177
|
+
#
|
178
178
|
# class MyGenerator < Templater::Generator
|
179
179
|
# option :animal
|
180
180
|
# # other_generator will be invoked only if the option 'animal' is set to 'bear'
|
@@ -183,7 +183,7 @@ module Templater
|
|
183
183
|
def invoke(name, options={}, &block)
|
184
184
|
self.invocations << InvocationDescription.new(name.to_sym, options, &block)
|
185
185
|
end
|
186
|
-
|
186
|
+
|
187
187
|
# Adds a template to this generator. Templates are named and can later be retrieved by that name.
|
188
188
|
# Templates have a source and a destination. When a template is invoked, the source file is rendered,
|
189
189
|
# passing through ERB, and the result is copied to the destination. Source and destination can be
|
@@ -227,14 +227,14 @@ module Templater
|
|
227
227
|
options = args.last.is_a?(Hash) ? args.pop : {}
|
228
228
|
source, destination = args
|
229
229
|
source, destination = source + 't', source if args.size == 1
|
230
|
-
|
230
|
+
|
231
231
|
templates << ActionDescription.new(name, options) do |generator|
|
232
232
|
template = Actions::Template.new(generator, name, source, destination, options)
|
233
233
|
generator.instance_exec(template, &block) if block
|
234
234
|
template
|
235
235
|
end
|
236
236
|
end
|
237
|
-
|
237
|
+
|
238
238
|
# Adds a template that is not rendered using ERB, but copied directly. Unlike Templater::Generator.template
|
239
239
|
# this will not append a 't' to the source, otherwise it works identically.
|
240
240
|
#
|
@@ -252,7 +252,7 @@ module Templater
|
|
252
252
|
options = args.last.is_a?(Hash) ? args.pop : {}
|
253
253
|
source, destination = args
|
254
254
|
source, destination = source, source if args.size == 1
|
255
|
-
|
255
|
+
|
256
256
|
files << ActionDescription.new(name, options) do |generator|
|
257
257
|
file = Actions::File.new(generator, name, source, destination, options)
|
258
258
|
generator.instance_exec(file, &block) if block
|
@@ -278,14 +278,14 @@ module Templater
|
|
278
278
|
options = args.last.is_a?(Hash) ? args.pop : {}
|
279
279
|
source, destination = args
|
280
280
|
source, destination = source, source if args.size == 1
|
281
|
-
|
281
|
+
|
282
282
|
directories << ActionDescription.new(name, options) do |generator|
|
283
283
|
directory = Actions::Directory.new(generator, name, source, destination, options)
|
284
284
|
generator.instance_exec(directory, &block) if block
|
285
285
|
directory
|
286
286
|
end
|
287
287
|
end
|
288
|
-
|
288
|
+
|
289
289
|
# Adds an empty directory that will be created when the generator is run.
|
290
290
|
#
|
291
291
|
# === Parameters
|
@@ -300,21 +300,21 @@ module Templater
|
|
300
300
|
def empty_directory(name, *args, &block)
|
301
301
|
options = args.last.is_a?(Hash) ? args.pop : {}
|
302
302
|
destination = args.first
|
303
|
-
|
303
|
+
|
304
304
|
empty_directories << ActionDescription.new(name, options) do |generator|
|
305
305
|
directory = Actions::EmptyDirectory.new(generator, name, destination, options)
|
306
306
|
generator.instance_exec(directory, &block) if block
|
307
307
|
directory
|
308
308
|
end
|
309
309
|
end
|
310
|
-
|
310
|
+
|
311
311
|
# An easy way to add many templates to a generator, each item in the list is added as a
|
312
312
|
# template. The provided list can be either an array of Strings or a Here-Doc with templates
|
313
313
|
# on individual lines.
|
314
314
|
#
|
315
315
|
# === Parameters
|
316
316
|
# list<String|Array>:: A list of templates to be added to this generator
|
317
|
-
#
|
317
|
+
#
|
318
318
|
# === Examples
|
319
319
|
#
|
320
320
|
# class MyGenerator < Templater::Generator
|
@@ -323,20 +323,20 @@ module Templater
|
|
323
323
|
# another/template.css
|
324
324
|
# LIST
|
325
325
|
# template_list ['a/third/template.rb', 'and/a/fourth.js']
|
326
|
-
# end
|
326
|
+
# end
|
327
327
|
def template_list(list)
|
328
328
|
list.to_a.each do |item|
|
329
329
|
item = item.to_s.chomp.strip
|
330
330
|
self.template(item.gsub(/[\.\/]/, '_').to_sym, item)
|
331
331
|
end
|
332
332
|
end
|
333
|
-
|
333
|
+
|
334
334
|
# An easy way to add many non-rendering templates to a generator. The provided list can be either an
|
335
335
|
# array of Strings or a Here-Doc with templates on individual lines.
|
336
336
|
#
|
337
337
|
# === Parameters
|
338
338
|
# list<String|Array>:: A list of non-rendering templates to be added to this generator
|
339
|
-
#
|
339
|
+
#
|
340
340
|
# === Examples
|
341
341
|
#
|
342
342
|
# class MyGenerator < Templater::Generator
|
@@ -358,7 +358,7 @@ module Templater
|
|
358
358
|
#
|
359
359
|
# === Parameters
|
360
360
|
# list<String|Array>:: A list of non-rendering templates to be added to this generator
|
361
|
-
#
|
361
|
+
#
|
362
362
|
# === Examples
|
363
363
|
#
|
364
364
|
# class MyGenerator < Templater::Generator
|
@@ -375,12 +375,12 @@ module Templater
|
|
375
375
|
end
|
376
376
|
end
|
377
377
|
|
378
|
-
|
378
|
+
|
379
379
|
# Search a directory for templates and files and add them to this generator. Any file
|
380
380
|
# whose extension matches one of those provided in the template_extensions parameter
|
381
381
|
# is considered a template and will be rendered with ERB, all others are considered
|
382
382
|
# normal files and are simply copied.
|
383
|
-
#
|
383
|
+
#
|
384
384
|
# A hash of options can be passed which will be assigned to each file and template.
|
385
385
|
# All of these options are matched against the options passed to the generator.
|
386
386
|
#
|
@@ -394,7 +394,7 @@ module Templater
|
|
394
394
|
::Dir[::File.join(source_root, dir.to_s, '**/*')].each do |action|
|
395
395
|
unless ::File.directory?(action)
|
396
396
|
action = action.sub("#{source_root}/", '')
|
397
|
-
|
397
|
+
|
398
398
|
if template_extensions.include?(::File.extname(action.sub(/\.%.+%$/,''))[1..-1]) or template_extensions.include?(::File.basename(action))
|
399
399
|
template(action.downcase.gsub(/[^a-z0-9]+/, '_').to_sym, action, action)
|
400
400
|
else
|
@@ -403,9 +403,9 @@ module Templater
|
|
403
403
|
end
|
404
404
|
end
|
405
405
|
end
|
406
|
-
|
406
|
+
|
407
407
|
# Returns a list of the classes of all generators (recursively) that are invoked together with this one.
|
408
|
-
#
|
408
|
+
#
|
409
409
|
# === Returns
|
410
410
|
# Array[Templater::Generator]:: an array of generator classes.
|
411
411
|
def generators
|
@@ -418,7 +418,7 @@ module Templater
|
|
418
418
|
end
|
419
419
|
generators.flatten.compact
|
420
420
|
end
|
421
|
-
|
421
|
+
|
422
422
|
# This should return the directory where source templates are located. This method must be overridden in
|
423
423
|
# any Generator inheriting from Templater::Source.
|
424
424
|
#
|
@@ -427,16 +427,16 @@ module Templater
|
|
427
427
|
def source_root
|
428
428
|
raise Templater::SourceNotSpecifiedError, "Subclasses of Templater::Generator must override the source_root method, to specify where source templates are located."
|
429
429
|
end
|
430
|
-
|
430
|
+
|
431
431
|
end # end of eigenclass
|
432
432
|
|
433
433
|
|
434
434
|
#
|
435
435
|
# ==== Instance methods
|
436
436
|
#
|
437
|
-
|
437
|
+
|
438
438
|
attr_accessor :destination_root, :arguments, :options
|
439
|
-
|
439
|
+
|
440
440
|
# Create a new generator. Checks the list of arguments agains the requirements set using +argument+.
|
441
441
|
#
|
442
442
|
# === Parameters
|
@@ -450,12 +450,12 @@ module Templater
|
|
450
450
|
@destination_root = destination_root
|
451
451
|
@arguments = []
|
452
452
|
@options = options
|
453
|
-
|
453
|
+
|
454
454
|
# Initialize options to their default values.
|
455
455
|
self.class.options.each do |option|
|
456
456
|
@options[option.name] ||= option.options[:default]
|
457
457
|
end
|
458
|
-
|
458
|
+
|
459
459
|
args.each_with_index do |arg, n|
|
460
460
|
set_argument(n, arg)
|
461
461
|
end
|
@@ -467,7 +467,7 @@ module Templater
|
|
467
467
|
argument.valid?(@arguments[i])
|
468
468
|
end
|
469
469
|
end
|
470
|
-
|
470
|
+
|
471
471
|
# Finds and returns the template of the given name. If that template's options don't match the generator
|
472
472
|
# options, returns nil.
|
473
473
|
#
|
@@ -479,7 +479,7 @@ module Templater
|
|
479
479
|
def template(name)
|
480
480
|
templates.find { |t| t.name == name }
|
481
481
|
end
|
482
|
-
|
482
|
+
|
483
483
|
# Finds and returns the file of the given name. If that file's options don't match the generator
|
484
484
|
# options, returns nil.
|
485
485
|
#
|
@@ -499,7 +499,7 @@ module Templater
|
|
499
499
|
def empty_directory(name)
|
500
500
|
empty_directories.find { |d| d.name == name }
|
501
501
|
end
|
502
|
-
|
502
|
+
|
503
503
|
# Finds and returns all templates whose options match the generator options.
|
504
504
|
#
|
505
505
|
# === Returns
|
@@ -507,7 +507,7 @@ module Templater
|
|
507
507
|
def templates
|
508
508
|
actions(:templates)
|
509
509
|
end
|
510
|
-
|
510
|
+
|
511
511
|
# Finds and returns all files whose options match the generator options.
|
512
512
|
#
|
513
513
|
# === Returns
|
@@ -522,20 +522,20 @@ module Templater
|
|
522
522
|
# [Templater::Actions::File]:: The found files.
|
523
523
|
def empty_directories
|
524
524
|
actions(:empty_directories)
|
525
|
-
end
|
526
|
-
|
525
|
+
end
|
526
|
+
|
527
527
|
# Finds and returns all templates whose options match the generator options.
|
528
528
|
#
|
529
529
|
# === Returns
|
530
530
|
# [Templater::Generator]:: The found templates.
|
531
531
|
def invocations
|
532
532
|
return [] unless self.class.manifold
|
533
|
-
|
533
|
+
|
534
534
|
self.class.invocations.map do |invocation|
|
535
535
|
invocation.get(self) if match_options?(invocation.options)
|
536
536
|
end.compact
|
537
537
|
end
|
538
|
-
|
538
|
+
|
539
539
|
# Finds and returns all templates and files for this generators whose options match its options.
|
540
540
|
#
|
541
541
|
# === Returns
|
@@ -547,7 +547,7 @@ module Templater
|
|
547
547
|
actions
|
548
548
|
end
|
549
549
|
end
|
550
|
-
|
550
|
+
|
551
551
|
# Finds and returns all templates and files for this generators and any of those generators it invokes,
|
552
552
|
# whose options match that generator's options.
|
553
553
|
#
|
@@ -558,12 +558,12 @@ module Templater
|
|
558
558
|
all_actions += invocations.map { |i| i.all_actions(type) }
|
559
559
|
all_actions.flatten
|
560
560
|
end
|
561
|
-
|
561
|
+
|
562
562
|
# Invokes the templates for this generator
|
563
563
|
def invoke!
|
564
564
|
all_actions.each { |t| t.invoke! }
|
565
565
|
end
|
566
|
-
|
566
|
+
|
567
567
|
# Renders all actions in this generator. Use this to verify that rendering templates raises no errors.
|
568
568
|
#
|
569
569
|
# === Returns
|
@@ -571,7 +571,7 @@ module Templater
|
|
571
571
|
def render!
|
572
572
|
all_actions.map { |t| t.render }
|
573
573
|
end
|
574
|
-
|
574
|
+
|
575
575
|
# Returns this generator's source root
|
576
576
|
#
|
577
577
|
# === Returns
|
@@ -582,7 +582,7 @@ module Templater
|
|
582
582
|
def source_root
|
583
583
|
self.class.source_root
|
584
584
|
end
|
585
|
-
|
585
|
+
|
586
586
|
# Returns the destination root that is given to the generator on initialization. If the generator is a
|
587
587
|
# command line program, this would usually be Dir.pwd.
|
588
588
|
#
|
@@ -591,9 +591,21 @@ module Templater
|
|
591
591
|
def destination_root
|
592
592
|
@destination_root # just here so it can be documented.
|
593
593
|
end
|
594
|
-
|
594
|
+
|
595
|
+
def after_run
|
596
|
+
# override in subclasses if necessary
|
597
|
+
end
|
598
|
+
|
599
|
+
def after_generation
|
600
|
+
# override in subclasses if necessary
|
601
|
+
end
|
602
|
+
|
603
|
+
def after_deletion
|
604
|
+
# override in subclasses if necessary
|
605
|
+
end
|
606
|
+
|
595
607
|
protected
|
596
|
-
|
608
|
+
|
597
609
|
def set_argument(n, value)
|
598
610
|
expected = self.class.arguments[n]
|
599
611
|
raise Templater::TooManyArgumentsError, "This generator does not take this many Arguments" if expected.nil?
|
@@ -603,19 +615,19 @@ module Templater
|
|
603
615
|
expected.valid?(value)
|
604
616
|
@arguments[n] = value
|
605
617
|
end
|
606
|
-
|
618
|
+
|
607
619
|
def get_argument(n)
|
608
620
|
@arguments[n]
|
609
621
|
end
|
610
|
-
|
622
|
+
|
611
623
|
def set_option(name, value)
|
612
624
|
@options[name] = value
|
613
625
|
end
|
614
|
-
|
626
|
+
|
615
627
|
def get_option(name)
|
616
628
|
@options[name]
|
617
629
|
end
|
618
|
-
|
630
|
+
|
619
631
|
def match_options?(options)
|
620
632
|
options.all? do |key, value|
|
621
633
|
key.to_sym.in?(Templater::ACTION_RESERVED_OPTIONS) or self.send(key) == value
|
@@ -623,5 +635,5 @@ module Templater
|
|
623
635
|
end
|
624
636
|
|
625
637
|
end
|
626
|
-
|
638
|
+
|
627
639
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: templater
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonas Nicklas
|
@@ -9,7 +9,7 @@ autorequire: templater
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-10-
|
12
|
+
date: 2008-10-08 00:00:00 +03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -57,73 +57,73 @@ files:
|
|
57
57
|
- README
|
58
58
|
- Rakefile
|
59
59
|
- TODO
|
60
|
-
- lib/templater.rb
|
61
60
|
- lib/templater
|
62
|
-
- lib/templater/
|
63
|
-
- lib/templater/
|
64
|
-
- lib/templater/
|
65
|
-
- lib/templater/
|
66
|
-
- lib/templater/
|
67
|
-
- lib/templater/
|
68
|
-
- lib/templater/spec
|
69
|
-
- lib/templater/spec/helpers.rb
|
61
|
+
- lib/templater/actions
|
62
|
+
- lib/templater/actions/action.rb
|
63
|
+
- lib/templater/actions/directory.rb
|
64
|
+
- lib/templater/actions/empty_directory.rb
|
65
|
+
- lib/templater/actions/file.rb
|
66
|
+
- lib/templater/actions/template.rb
|
70
67
|
- lib/templater/capture_helpers.rb
|
71
68
|
- lib/templater/cli
|
72
69
|
- lib/templater/cli/generator.rb
|
73
70
|
- lib/templater/cli/manifold.rb
|
74
71
|
- lib/templater/cli/parser.rb
|
72
|
+
- lib/templater/core_ext
|
73
|
+
- lib/templater/core_ext/kernel.rb
|
74
|
+
- lib/templater/core_ext/string.rb
|
75
|
+
- lib/templater/description.rb
|
75
76
|
- lib/templater/discovery.rb
|
76
|
-
- lib/templater/
|
77
|
-
- lib/templater/
|
78
|
-
- lib/templater/
|
79
|
-
- lib/templater/
|
80
|
-
- lib/templater
|
81
|
-
-
|
82
|
-
- spec/
|
77
|
+
- lib/templater/generator.rb
|
78
|
+
- lib/templater/manifold.rb
|
79
|
+
- lib/templater/spec
|
80
|
+
- lib/templater/spec/helpers.rb
|
81
|
+
- lib/templater.rb
|
82
|
+
- spec/actions
|
83
|
+
- spec/actions/directory_spec.rb
|
84
|
+
- spec/actions/empty_directory_spec.rb
|
85
|
+
- spec/actions/file_spec.rb
|
86
|
+
- spec/actions/template_spec.rb
|
87
|
+
- spec/core_ext
|
88
|
+
- spec/core_ext/string_spec.rb
|
83
89
|
- spec/generator
|
84
|
-
- spec/generator/invoke_spec.rb
|
85
|
-
- spec/generator/invocations_spec.rb
|
86
|
-
- spec/generator/files_spec.rb
|
87
|
-
- spec/generator/glob_spec.rb
|
88
|
-
- spec/generator/templates_spec.rb
|
89
|
-
- spec/generator/empty_directories_spec.rb
|
90
90
|
- spec/generator/actions_spec.rb
|
91
|
+
- spec/generator/arguments_spec.rb
|
91
92
|
- spec/generator/desc_spec.rb
|
93
|
+
- spec/generator/destination_root_spec.rb
|
94
|
+
- spec/generator/empty_directories_spec.rb
|
95
|
+
- spec/generator/files_spec.rb
|
92
96
|
- spec/generator/generators_spec.rb
|
93
|
-
- spec/generator/
|
94
|
-
- spec/generator/
|
97
|
+
- spec/generator/glob_spec.rb
|
98
|
+
- spec/generator/invocations_spec.rb
|
99
|
+
- spec/generator/invoke_spec.rb
|
95
100
|
- spec/generator/options_spec.rb
|
96
|
-
- spec/generator/destination_root_spec.rb
|
97
101
|
- spec/generator/render_spec.rb
|
102
|
+
- spec/generator/source_root_spec.rb
|
103
|
+
- spec/generator/templates_spec.rb
|
104
|
+
- spec/manifold_spec.rb
|
105
|
+
- spec/results
|
106
|
+
- spec/results/erb.rbs
|
107
|
+
- spec/results/file.rbs
|
108
|
+
- spec/results/random.rbs
|
109
|
+
- spec/results/simple_erb.rbs
|
110
|
+
- spec/spec_helper.rb
|
111
|
+
- spec/spec_helpers_spec.rb
|
112
|
+
- spec/templater_spec.rb
|
98
113
|
- spec/templates
|
114
|
+
- spec/templates/erb.rbt
|
99
115
|
- spec/templates/glob
|
100
|
-
- spec/templates/glob/test.rb
|
101
|
-
- spec/templates/glob/hellothar.%feh%
|
102
|
-
- spec/templates/glob/README
|
103
116
|
- spec/templates/glob/arg.js
|
117
|
+
- spec/templates/glob/hellothar.%feh%
|
104
118
|
- spec/templates/glob/hellothar.html.%feh%
|
119
|
+
- spec/templates/glob/README
|
105
120
|
- spec/templates/glob/subfolder
|
106
|
-
- spec/templates/glob/subfolder/monkey.rb
|
107
121
|
- spec/templates/glob/subfolder/jessica_alba.jpg
|
122
|
+
- spec/templates/glob/subfolder/monkey.rb
|
123
|
+
- spec/templates/glob/test.rb
|
108
124
|
- spec/templates/literals_erb.rbt
|
109
125
|
- spec/templates/simple.rbt
|
110
126
|
- spec/templates/simple_erb.rbt
|
111
|
-
- spec/templates/erb.rbt
|
112
|
-
- spec/core_ext
|
113
|
-
- spec/core_ext/string_spec.rb
|
114
|
-
- spec/templater_spec.rb
|
115
|
-
- spec/spec_helpers_spec.rb
|
116
|
-
- spec/manifold_spec.rb
|
117
|
-
- spec/results
|
118
|
-
- spec/results/simple_erb.rbs
|
119
|
-
- spec/results/erb.rbs
|
120
|
-
- spec/results/file.rbs
|
121
|
-
- spec/results/random.rbs
|
122
|
-
- spec/actions
|
123
|
-
- spec/actions/file_spec.rb
|
124
|
-
- spec/actions/empty_directory_spec.rb
|
125
|
-
- spec/actions/directory_spec.rb
|
126
|
-
- spec/actions/template_spec.rb
|
127
127
|
has_rdoc: true
|
128
128
|
homepage: http://templater.rubyforge.org/
|
129
129
|
post_install_message:
|