inversion 0.17.2 → 0.17.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6745a33cc02610b46025e012922f4e510eb14825
4
- data.tar.gz: 1fe0babb88461e808d34f82391aaf38b23328061
3
+ metadata.gz: ce3df399edaec700d90c634d354a1f452df4fbbd
4
+ data.tar.gz: 3df0b15958d115c2a4013ccfa6fbc1bf39b5a7bf
5
5
  SHA512:
6
- metadata.gz: 9412182ee80045940434ab81977cd1d879e42bd7d7e8c884e73aa0af154c67dcf384dca970dd91e8f492fc98be0b1f6d2153dc4ccd0afa20a7bb5f223e630e92
7
- data.tar.gz: 3b3eeabfbe0a1a6eed93d13fe9db06af2c60d7a99bb55e216cbb6a039aca72579a86bce059d5746c583bcddbf821c51087553b5d7a6c5bd7813c2bc98a814c44
6
+ metadata.gz: fc101d2dddd1c7e70fdf8ad014edaa81db0ea79661f0475636a9906b566066225044d974febc034ef12a6fa0a78510d0c71e5013fb89ee4613230d49a6345ede
7
+ data.tar.gz: 4be23c2a5f052059043748da5837ed6936c18b4b3fcde7533cac74994208d72cfc509edcf532ee8d5f37f6a4ed1f7fe8bfab5a3f720940c7733eafddca1e073f
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,10 @@
1
+ == v0.17.3 [2015-02-16] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - Performance fix: Re-comment the #inspect logging message
4
+ in the RenderState
5
+ - Updated tag docs
6
+
7
+
1
8
  == v0.17.2 [2015-01-22] Michael Granger <ged@FaerieMUD.org>
2
9
 
3
10
  - Fix a bug with the fragment tag.
data/Tags.rdoc CHANGED
@@ -18,139 +18,6 @@ The second form is especially useful if you're generating HTML and want to put a
18
18
  You can mix tag forms in a single document.
19
19
 
20
20
 
21
- == Tags
22
-
23
- === begin/rescue
24
-
25
- These tags work as you'd expect from their ruby counterparts.
26
-
27
- The +begin+ section of the template to be rendered only if no exceptions are raised while it's
28
- being rendered. If an exception is raised, it is checked against any +rescue+ sections, and the
29
- first with a matching exception is rendered instead. If no +rescue+ block is found, the exception
30
- is handled by the configured exception behavior for the template (see Inversion::Template@Template+Options).
31
-
32
- <?begin ?><?call employees.length ?><?end?>
33
-
34
- <?begin ?>
35
- <?for employee in employees.all ?>
36
- <?attr employee.name ?> --> <?attr employee.title ?>
37
- <?end for?>
38
- <?rescue DatabaseError => err ?>
39
- Oh no!! I can't talk to the database for some reason. The
40
- error was as follows:
41
- <pre>
42
- <?attr err.message ?>
43
- </pre>
44
- <?end?>
45
-
46
- === comment
47
-
48
- The +comment+ tag can be used to temporarily stop a section of a document from being rendered:
49
-
50
- <?comment?>
51
- This stuff won't be rendered.
52
- <?end comment ?>
53
- But this stuff will.
54
-
55
- Note that the tags inside the comment will still be parsed, so the template's interface won't be affected by the comment:
56
-
57
- <?comment?>
58
- <?attr content ?>
59
- <?end comment ?>
60
-
61
- If you have +debugging_comments+ enabled in the template options[rdoc-ref:Templates@Template+Options], sections which are commented out will be rendered as a comment describing what was omitted, surrounded by the comment characters set in +comment_start+ and +comment_end+ options, respectively.
62
-
63
- <!-- Commented out 1 nodes on line 1 -->
64
-
65
- You can also embed a description of why the section is commented in the tag body, which will be used as a label when rendering the comment. For example:
66
-
67
- <?comment Disabled until there's content ?>
68
- <?attr content ?>
69
- <?end comment ?>
70
-
71
- will be rendered as:
72
-
73
- <!-- Commented out 1 nodes on line 1: Disabled until there's content -->
74
-
75
-
76
- === config
77
-
78
- The +config+ tag can be used to override template options[Templates@Template+Options]
79
- on a per-template basis. It allows for convenient, inline settings from
80
- within a template rather than from the code in which the template is
81
- loaded.
82
-
83
- For example, if you want to enable debugging comments on a single template:
84
-
85
- <?config debugging_comments: true ?>
86
-
87
- Multiple template options can be set simultaneously by using a YAML hash:
88
-
89
- <?config
90
- on_render_error: propagate
91
- debugging_comments: true
92
- comment_start: /*
93
- comment_end: */
94
- ?>
95
-
96
- Note that this also allows you to set multiple options on a single line, if you wrap them in braces:
97
-
98
- <?config { comment_start: "/*", comment_end: "*/" } ?>
99
-
100
-
101
- === default
102
-
103
- The +default+ tag sets an attribute from within the template, and this value is used if the attribute is otherwise unset.
104
-
105
- template = Inversion::Template.new <<-TMPL
106
- <?default adjective to "cruel" ?>
107
- <?default noun to "world" ?>
108
- Goodbye, <?attr adjective ?> <?attr noun ?>!
109
- TMPL
110
-
111
- template.render
112
-
113
- template.adjective = "delicious"
114
- template.render
115
-
116
- template.adjective = nil
117
- template.noun = "banana"
118
- template.render
119
-
120
- Would produce the output:
121
-
122
- Goodbye, cruel world!
123
- Goodbye, delicious world!
124
- Goodbye, cruel banana!
125
-
126
-
127
- === fragment
128
-
129
- A +fragment+ tag also sets an attribute from within the template, but under the scope of the global
130
- template itself. A fragment can use other Inversion tags, and the attribute is both usable
131
- elsewhere in the template, and accessible from calling code after rendering.
132
-
133
- template = Inversion::Template.new <<-TMPL
134
- <?fragment subject ?>Your order status (Order #<?call order.number ?>)<?end ?>
135
-
136
- Dear <?call order.customer.name ?>,
137
-
138
- Your recent order was modified by our Order Fulfillment Team.
139
-
140
- After careful deliberation, it was decided that no one should have need for that many hot dogs
141
- with overnight shipping. Frankly, we're more than a little concerned for your health.
142
-
143
- Sincerely,
144
- Rowe's Meat Emporium
145
- (Buy! Sell! Consignment!)
146
- TMPL
147
-
148
- template.order = order
149
- template.render
150
-
151
- template.fragments[ :subject ] #=> "Your order status (Order #3492)"
152
-
153
-
154
21
  == Placeholder Tags
155
22
 
156
23
  Placeholder tags represent the main functionality of Inversion; they create a placeholder in the output text which can be filled in via a method on the template object with the same name.
@@ -231,9 +98,9 @@ Dates are compared against the current time, and render to approximate descripti
231
98
  * less than a minute from now
232
99
 
233
100
 
234
- == Import and Publish/Subscribe
101
+ == Inter-template Tags
235
102
 
236
- Both of these tags operate on nested templates: one copies objects from an outer template into an inner one (+import+), and the other publishes sections of content from one template to any other subscribed template.
103
+ These tags operate on nested templates, allowing you to selectively use or send attributes or content from other templates.
237
104
 
238
105
 
239
106
  === import
@@ -401,6 +268,34 @@ The +include+ tag allows inclusion of other template files from within a templat
401
268
  Your Friends at Spime Thorpe!
402
269
 
403
270
 
271
+ === fragment
272
+
273
+ A +fragment+ tag also sets an attribute from within the template, but under the
274
+ scope of the global template itself. A fragment can use other Inversion tags,
275
+ and the attribute is both usable elsewhere in the template, and accessible from
276
+ calling code after rendering.
277
+
278
+ template = Inversion::Template.new <<-TMPL
279
+ <?fragment subject ?>Your order status (Order #<?call order.number ?>)<?end ?>
280
+
281
+ Dear <?call order.customer.name ?>,
282
+
283
+ Your recent order was modified by our Order Fulfillment Team.
284
+
285
+ After careful deliberation, it was decided that no one should have need for that many hot dogs
286
+ with overnight shipping. Frankly, we're more than a little concerned for your health.
287
+
288
+ Sincerely,
289
+ Rowe's Meat Emporium
290
+ (Buy! Sell! Consignment!)
291
+ TMPL
292
+
293
+ template.order = order
294
+ template.render
295
+
296
+ template.fragments[ :subject ] #=> "Your order status (Order #3492)"
297
+
298
+
404
299
  == Flow Control
405
300
 
406
301
  The following tags are used to alter the flow of rendering from within templates.
@@ -517,6 +412,86 @@ The +yield+ tag is used to defer rendering of some part of the template to the c
517
412
  This will insert the +report_table+ template in place of the yield, but only if $DEBUG is true.
518
413
 
519
414
 
415
+ === begin/rescue
416
+
417
+ These tags work as you'd expect from their ruby counterparts.
418
+
419
+ The +begin+ section of the template to be rendered only if no exceptions are raised while it's
420
+ being rendered. If an exception is raised, it is checked against any +rescue+ sections, and the
421
+ first with a matching exception is rendered instead. If no +rescue+ block is found, the exception
422
+ is handled by the configured exception behavior for the template (see Inversion::Template@Template+Options).
423
+
424
+ <?begin ?><?call employees.length ?><?end?>
425
+
426
+ <?begin ?>
427
+ <?for employee in employees.all ?>
428
+ <?attr employee.name ?> --> <?attr employee.title ?>
429
+ <?end for?>
430
+ <?rescue DatabaseError => err ?>
431
+ Oh no!! I can't talk to the database for some reason. The
432
+ error was as follows:
433
+ <pre>
434
+ <?attr err.message ?>
435
+ </pre>
436
+ <?end?>
437
+
438
+
439
+ == Control Tags
440
+
441
+ There are a few tags that can be used to set values in the templating system itself.
442
+
443
+ === config
444
+
445
+ The +config+ tag can be used to override template options[Templates@Template+Options]
446
+ on a per-template basis. It allows for convenient, inline settings from
447
+ within a template rather than from the code in which the template is
448
+ loaded.
449
+
450
+ For example, if you want to enable debugging comments on a single template:
451
+
452
+ <?config debugging_comments: true ?>
453
+
454
+ Multiple template options can be set simultaneously by using a YAML hash:
455
+
456
+ <?config
457
+ on_render_error: propagate
458
+ debugging_comments: true
459
+ comment_start: /*
460
+ comment_end: */
461
+ ?>
462
+
463
+ Note that this also allows you to set multiple options on a single line, if you wrap them in braces:
464
+
465
+ <?config { comment_start: "/*", comment_end: "*/" } ?>
466
+
467
+
468
+ === default
469
+
470
+ The +default+ tag sets an attribute from within the template, and this value is used if the attribute is otherwise unset.
471
+
472
+ template = Inversion::Template.new <<-TMPL
473
+ <?default adjective to "cruel" ?>
474
+ <?default noun to "world" ?>
475
+ Goodbye, <?attr adjective ?> <?attr noun ?>!
476
+ TMPL
477
+
478
+ template.render
479
+
480
+ template.adjective = "delicious"
481
+ template.render
482
+
483
+ template.adjective = nil
484
+ template.noun = "banana"
485
+ template.render
486
+
487
+ Would produce the output:
488
+
489
+ Goodbye, cruel world!
490
+ Goodbye, delicious world!
491
+ Goodbye, cruel banana!
492
+
493
+
494
+
520
495
  == Troubleshooting/Introspection
521
496
 
522
497
  === pp
data/lib/inversion.rb CHANGED
@@ -26,10 +26,10 @@ module Inversion
26
26
  warn ">>> Inversion requires Ruby 2.0.0 or later. <<<" if RUBY_VERSION < '2.0.0'
27
27
 
28
28
  # Library version constant
29
- VERSION = '0.17.2'
29
+ VERSION = '0.17.3'
30
30
 
31
31
  # Version-control revision constant
32
- REVISION = %q$Revision: 25c7ea1fcb58 $
32
+ REVISION = %q$Revision: ad70311aa386 $
33
33
 
34
34
 
35
35
  ### Get the Inversion version.
@@ -479,7 +479,7 @@ class Inversion::RenderState
479
479
 
480
480
  ### Return the given +nodes+ as a String in the configured encoding.
481
481
  def stringify_nodes( nodes )
482
- self.log.debug "Rendering nodes: %p" % [ nodes ]
482
+ # self.log.debug "Rendering nodes: %p" % [ nodes ]
483
483
  strings = nodes.flatten.map( &:to_s )
484
484
 
485
485
  if enc = self.options[ :encoding ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inversion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.2
4
+ version: 0.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -31,7 +31,7 @@ cert_chain:
31
31
  c7ZKPJcWBv0sm81+FCZXNACn2f9jfF8OQinxVs0O052KbGuEQaaiGIYeuuwQE2q6
32
32
  ggcrPfcYeTwWlfZPu2LrBg==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-01-23 00:00:00.000000000 Z
34
+ date: 2015-02-17 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: loggability
metadata.gz.sig CHANGED
@@ -1,2 +1,3 @@
1
- �� �^(����\Q
2
- !�ݚ w���$��L��lN�Z��}Y:4�㻐5��6�}^���ݎs��B:��ˑ��7t�Z��2�sb��[Ÿ��Xp�?ft&��6�=a�俓��M�puPa#"�d�a��GӘG�ꠔλ�.���{����Y0��OP_�mYvb�zV��M}���p%�NwA������a�fڵK��������j�<`�E��\Sґc50A�W��d%�V�[@�:`v����A��j�H����'�
1
+ t�T4=�ɵd�I�_@�����]���$w��Y �~�+ �:X���x���ǯ0u���{r�K�!���
2
+ :�;ș��{�X�S���;͔��S|� ҙ�n
3
+ w5�6>TI0���`���bQc���O�!�����s[|٣&L�m��h���LQ3���g L�� �9p��44�Z������ЃH��� �*���8�*E ���񚳴��|���q+Hą�4_"�sD��l��7�\�Z���F;�