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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 708c0aa944b119c3a39a0872be76237cfe0e23be
4
- data.tar.gz: 30c62970324900dd052ef97c4911b81c1424dcbc
3
+ metadata.gz: 231f93fa3a2bf653a647967942b864af7ee0895c
4
+ data.tar.gz: 15972a92f0835b8d4bfaa4e3aecfb1b5aa1e4dc6
5
5
  SHA512:
6
- metadata.gz: 4f93b5bad07de610b17bb5596c4305b392d1d0415a4cd0244000615bacaefff6458cb38727658a5a4495f5a8a95cbdc05efb17911a2673c844c0fb7de45d8cdb
7
- data.tar.gz: b7146c572401f76bc4e74f5796fee206ceccdf2534d284198dc5be9ecaf3ee1822218b902ab68137fed249e523161c5d8579a06731b30a23b68e7c95bf47ed32
6
+ metadata.gz: 4165787b78d2545fc9ef144d8cb6ec3257af043f684f8c2d11eca2aa00bbd4ddb22343910161b9aa747ae289d5cbc42b830c7937509f32bea52310e4df3538f5
7
+ data.tar.gz: 3b68737070657b9b6b5d712d362ed3c277263e6b910b7e9abd610a7ae5609cfd265857a026a25d30e62a04e5f07d1a8cf170ab6cf176d6d6a0d0fa0dc84480aa
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "armadillo"
3
- s.version = "0.0.5"
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"]
@@ -4,7 +4,7 @@ require "delegate"
4
4
 
5
5
  module Armadillo
6
6
 
7
- VERSION = "0.0.5"
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
- raise "Invalid vlock usage" unless current_frame
48
-
49
- if extends?
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 block_given?
57
+ elsif block
58
+ # Render a default block
58
59
  block.call
59
60
  end
60
61
  end
@@ -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.5
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-01-31 00:00:00.000000000 Z
11
+ date: 2015-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erubis