inversion 0.17.1 → 0.17.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +8 -0
- data/lib/inversion.rb +2 -2
- data/lib/inversion/renderstate.rb +2 -0
- data/lib/inversion/template.rb +7 -3
- data/lib/inversion/template/fragmenttag.rb +2 -2
- data/spec/inversion/template/fragmenttag_spec.rb +17 -0
- metadata +2 -2
- metadata.gz.sig +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6745a33cc02610b46025e012922f4e510eb14825
|
4
|
+
data.tar.gz: 1fe0babb88461e808d34f82391aaf38b23328061
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9412182ee80045940434ab81977cd1d879e42bd7d7e8c884e73aa0af154c67dcf384dca970dd91e8f492fc98be0b1f6d2153dc4ccd0afa20a7bb5f223e630e92
|
7
|
+
data.tar.gz: 3b3eeabfbe0a1a6eed93d13fe9db06af2c60d7a99bb55e216cbb6a039aca72579a86bce059d5746c583bcddbf821c51087553b5d7a6c5bd7813c2bc98a814c44
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== v0.17.2 [2015-01-22] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
- Fix a bug with the fragment tag.
|
4
|
+
|
5
|
+
Fragments will now propagate to the container template when they're
|
6
|
+
added by inner templates.
|
7
|
+
|
8
|
+
|
1
9
|
== v0.17.1 [2015-01-15] Michael Granger <ged@FaerieMUD.org>
|
2
10
|
|
3
11
|
Re-push to fix a misbuilt gem.
|
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.
|
29
|
+
VERSION = '0.17.2'
|
30
30
|
|
31
31
|
# Version-control revision constant
|
32
|
-
REVISION = %q$Revision:
|
32
|
+
REVISION = %q$Revision: 25c7ea1fcb58 $
|
33
33
|
|
34
34
|
|
35
35
|
### Get the Inversion version.
|
@@ -344,6 +344,7 @@ class Inversion::RenderState
|
|
344
344
|
### Add one or more rendered +nodes+ to the state as a reusable fragment associated
|
345
345
|
### with the specified +name+.
|
346
346
|
def add_fragment( name, *nodes )
|
347
|
+
self.log.debug "Adding a %s fragment with %d nodes." % [ name, nodes.size ]
|
347
348
|
nodes.flatten!
|
348
349
|
self.fragments[ name.to_sym ] = nodes
|
349
350
|
self.scope.__fragments__[ name.to_sym ] = nodes
|
@@ -352,6 +353,7 @@ class Inversion::RenderState
|
|
352
353
|
|
353
354
|
### Return the current fragments Hash rendered as Strings.
|
354
355
|
def rendered_fragments
|
356
|
+
self.log.debug "Rendering fragments: %p." % [ self.fragments.keys ]
|
355
357
|
return self.fragments.each_with_object( {} ) do |(key, nodes), accum|
|
356
358
|
accum[ key ] = self.stringify_nodes( nodes )
|
357
359
|
end
|
data/lib/inversion/template.rb
CHANGED
@@ -338,7 +338,7 @@ class Inversion::Template
|
|
338
338
|
### Render the template, optionally passing a render state (if, for example, the
|
339
339
|
### template is being rendered inside another template).
|
340
340
|
def render( parentstate=nil, &block )
|
341
|
-
self.log.info "rendering template
|
341
|
+
self.log.info "rendering template %#x" % [ self.object_id/2 ]
|
342
342
|
opts = self.options
|
343
343
|
opts.merge!( parentstate.options ) if parentstate
|
344
344
|
|
@@ -348,10 +348,14 @@ class Inversion::Template
|
|
348
348
|
|
349
349
|
# self.log.debug " rendering node tree: %p" % [ @node_tree ]
|
350
350
|
self.walk_tree {|node| state << node }
|
351
|
-
self.log.info " done rendering template
|
351
|
+
self.log.info " done rendering template %#x: %0.4fs" %
|
352
352
|
[ self.object_id/2, state.time_elapsed ]
|
353
353
|
|
354
|
-
|
354
|
+
if parentstate
|
355
|
+
parentstate.fragments.merge!( state.fragments )
|
356
|
+
else
|
357
|
+
self.fragments.replace( state.rendered_fragments )
|
358
|
+
end
|
355
359
|
|
356
360
|
return state.to_s
|
357
361
|
end
|
@@ -45,11 +45,11 @@ class Inversion::Template::FragmentTag < Inversion::Template::Tag
|
|
45
45
|
rendered_nodes = []
|
46
46
|
renderstate.with_destination( rendered_nodes ) do
|
47
47
|
sn = self.render_subnodes( renderstate )
|
48
|
-
self.log.debug " subnodes are: %p" % [ sn ]
|
48
|
+
# self.log.debug " subnodes are: %p" % [ sn ]
|
49
49
|
sn
|
50
50
|
end
|
51
51
|
|
52
|
-
self.log.debug " rendered nodes are: %p" % [ rendered_nodes ]
|
52
|
+
# self.log.debug " rendered nodes are: %p" % [ rendered_nodes ]
|
53
53
|
renderstate.add_fragment( self.key, rendered_nodes )
|
54
54
|
|
55
55
|
return nil
|
@@ -36,5 +36,22 @@ describe Inversion::Template::FragmentTag do
|
|
36
36
|
expect( tmpl.fragments[:subject] ).to eq( "Order #2121bf8c4" )
|
37
37
|
end
|
38
38
|
|
39
|
+
|
40
|
+
it "propagates fragments to the outermost template when they're nested" do
|
41
|
+
inner_tmpl = Inversion::Template.new(
|
42
|
+
'<?fragment subject ?>Order #<?attr order_number ?><?end?>-- <?attr subject ?> --'
|
43
|
+
)
|
44
|
+
outer_tmpl = Inversion::Template.new(
|
45
|
+
'<?attr content ?>'
|
46
|
+
)
|
47
|
+
|
48
|
+
inner_tmpl.order_number = '2121bf8c4'
|
49
|
+
outer_tmpl.content = inner_tmpl
|
50
|
+
output = outer_tmpl.render
|
51
|
+
|
52
|
+
expect( output ).to eq( "-- Order #2121bf8c4 --" )
|
53
|
+
expect( outer_tmpl.fragments[:subject] ).to eq( "Order #2121bf8c4" )
|
54
|
+
end
|
55
|
+
|
39
56
|
end
|
40
57
|
|
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.
|
4
|
+
version: 0.17.2
|
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-
|
34
|
+
date: 2015-01-23 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,2 @@
|
|
1
|
-
|
2
|
-
�
|
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����'�
|