armadillo 0.0.5 → 0.0.6
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 +4 -4
- data/armadillo.gemspec +1 -1
- data/lib/armadillo.rb +8 -7
- data/spec/template_spec.rb +35 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 231f93fa3a2bf653a647967942b864af7ee0895c
|
4
|
+
data.tar.gz: 15972a92f0835b8d4bfaa4e3aecfb1b5aa1e4dc6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4165787b78d2545fc9ef144d8cb6ec3257af043f684f8c2d11eca2aa00bbd4ddb22343910161b9aa747ae289d5cbc42b830c7937509f32bea52310e4df3538f5
|
7
|
+
data.tar.gz: 3b68737070657b9b6b5d712d362ed3c277263e6b910b7e9abd610a7ae5609cfd265857a026a25d30e62a04e5f07d1a8cf170ab6cf176d6d6a0d0fa0dc84480aa
|
data/armadillo.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "armadillo"
|
3
|
-
s.version = "0.0.
|
3
|
+
s.version = "0.0.6"
|
4
4
|
s.summary = "Template inheritance with ERB templates"
|
5
5
|
s.description = "A small library for Django-like template inheritance adapted for ERB"
|
6
6
|
s.authors = ["Sebastian Borrazas"]
|
data/lib/armadillo.rb
CHANGED
@@ -4,7 +4,7 @@ require "delegate"
|
|
4
4
|
|
5
5
|
module Armadillo
|
6
6
|
|
7
|
-
VERSION = "0.0.
|
7
|
+
VERSION = "0.0.6"
|
8
8
|
|
9
9
|
DEFAULT_OPTIONS = {
|
10
10
|
:default_encoding => Encoding.default_external,
|
@@ -44,17 +44,18 @@ module Armadillo
|
|
44
44
|
# @param block_name [Symbol]
|
45
45
|
# @param block [Block]
|
46
46
|
def vlock(block_name, &block)
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
raise "No block given" unless block_given?
|
47
|
+
if current_frame && extends?
|
48
|
+
# Save child view block to be rendered on the parent
|
49
|
+
raise "No block given on `#{block_name}`" unless block
|
51
50
|
|
52
51
|
current_frame[:vlocks][block_name] = block
|
53
|
-
elsif (frame = get_frame(block_name, current_frame))
|
52
|
+
elsif current_frame && (frame = get_frame(block_name, current_frame))
|
53
|
+
# Look for child view block and render it
|
54
54
|
temporary_frame(frame[:parent_frame]) do
|
55
55
|
frame[:vlocks][block_name].call
|
56
56
|
end
|
57
|
-
elsif
|
57
|
+
elsif block
|
58
|
+
# Render a default block
|
58
59
|
block.call
|
59
60
|
end
|
60
61
|
end
|
data/spec/template_spec.rb
CHANGED
@@ -104,6 +104,41 @@ describe Armadillo do
|
|
104
104
|
])
|
105
105
|
end
|
106
106
|
end
|
107
|
+
|
108
|
+
describe "when providing default blocks" do
|
109
|
+
describe "when default is not overridden" do
|
110
|
+
it "renders the default" do
|
111
|
+
content = Armadillo.render("default_block.text", {}, {
|
112
|
+
:base_path => TEMPLATES_PATH
|
113
|
+
})
|
114
|
+
|
115
|
+
assert_lines_match(content, ["Default"])
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
describe "when default is overridden" do
|
120
|
+
it "renders the content from the overridden" do
|
121
|
+
content = Armadillo.render("default_block_overridden.text", {}, {
|
122
|
+
:base_path => TEMPLATES_PATH
|
123
|
+
})
|
124
|
+
|
125
|
+
assert_lines_match(content, ["Default Overridden"])
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
describe "when default is a nested block" do
|
130
|
+
describe "when default is not overridden" do
|
131
|
+
it "renders the default" do
|
132
|
+
content = Armadillo.render("default_block_nested.text", {}, {
|
133
|
+
:base_path => TEMPLATES_PATH
|
134
|
+
})
|
135
|
+
|
136
|
+
assert_lines_match(content, ["Default", "Base"])
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
107
142
|
end
|
108
143
|
|
109
144
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: armadillo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Borrazas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubis
|