armadillo 0.0.1 → 0.0.2

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: 076e70fe3bf56b1ff58d780add8495daec39c332
4
- data.tar.gz: 3a0c4f3c77fa0d215c622647d7ce99506a9d2228
3
+ metadata.gz: 803ab702bb0ecc685d7197c02f3d25589e2cd0fd
4
+ data.tar.gz: e2de66ea90d89b6fa52d6304c4936027ea89f151
5
5
  SHA512:
6
- metadata.gz: 6abcaa901422e65f838fafe28ebd2c39c29f65d089157fa5b7bb38df037581fe8f9c294fa0456dc501aca27b418cbf7364dcaeec3e97f31e470ef824f6e00267
7
- data.tar.gz: 058695378b0a9f846a1081f929b57ad832b267b1bc3eec8f79f3740d175d90ff74a58f378074c6d2e8d9d4c8b8b9afbaee6fb37221711c3fdbdc71cbb95c343d
6
+ metadata.gz: b698b6d91589250f691ae6f0e956da0307633e7b3aac6a333d4a9bbf2a02091ad7894cd04d0c0df64a7c50f994d4e44c93477eb470c8cb75412a17fd4d228019
7
+ data.tar.gz: 52d57126647cb0dda2332de5ef9e5b8fc8812af2ec9f45af72bfdc7b5a75cea7bc1facff0492194efec5420d0b5b09dcafe7d3fa76031283e0099b2f3bc033ed
data/README.md CHANGED
@@ -58,7 +58,8 @@ module View
58
58
  def render_view(template_name, locals = {})
59
59
  content = Armadillo.render(template_name, locals, {
60
60
  :base_path => File.join(APP_PATH, "views"),
61
- :scope => self
61
+ :scope => self,
62
+ :escape_html => true
62
63
  })
63
64
  res.write(content)
64
65
  halt(res.finish)
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.1"
3
+ s.version = "0.0.2"
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
@@ -3,7 +3,7 @@ require "delegate"
3
3
 
4
4
  module Armadillo
5
5
 
6
- VERSION = "0.0.1"
6
+ VERSION = "0.0.2"
7
7
 
8
8
  DEFAULT_OPTIONS = {
9
9
  :default_encoding => Encoding.default_external,
@@ -13,6 +13,15 @@ module Armadillo
13
13
  # @api private
14
14
  class TemplateContext < SimpleDelegator
15
15
 
16
+ # Initialize the TemplateContext.
17
+ #
18
+ # @param source [Object]
19
+ # @param template_options [Hash] ({})
20
+ def initialize(source, template_options = {})
21
+ @template_options = template_options
22
+ super(source)
23
+ end
24
+
16
25
  # Extend the specified template in which the inner view blocks will be
17
26
  # rendered.
18
27
  #
@@ -57,6 +66,16 @@ module Armadillo
57
66
  }
58
67
  end
59
68
 
69
+ # Render another template with the same options as the current one.
70
+ #
71
+ # @param template_path [String]
72
+ # @param locals [Hash] ({})
73
+ #
74
+ # @return [String]
75
+ def render(template_path, locals = {})
76
+ Armadillo.render(template_path, locals, @template_options)
77
+ end
78
+
60
79
  # Determine if the current template should extend from a new template.
61
80
  #
62
81
  # @return [Boolean]
@@ -121,8 +140,8 @@ module Armadillo
121
140
  # @return [String]
122
141
  # @api public
123
142
  def self.render(template_path, locals = {}, options = {})
124
- scope = options.fetch(:scope) { Object.new }
125
- context = TemplateContext.new(scope)
143
+ scope = options.delete(:scope) { Object.new }
144
+ context = TemplateContext.new(scope, options)
126
145
  _render(template_path, locals, context, options)
127
146
  end
128
147
 
@@ -76,6 +76,19 @@ describe Armadillo do
76
76
  assert_lines_match(content, ["Sanitized &amp;", "Not sanitized &"])
77
77
  end
78
78
  end
79
+
80
+ describe "when the template renders another template" do
81
+ it "renders it with the same options" do
82
+ content = Armadillo.render("with_sub_template.html", {}, {
83
+ :base_path => TEMPLATES_PATH,
84
+ :escape_html => true
85
+ })
86
+ assert_lines_match(content, [
87
+ "<h1>Title</h1>",
88
+ "<h2>Subtitle</h2>"
89
+ ])
90
+ end
91
+ end
79
92
  end
80
93
 
81
94
  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.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Borrazas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-10 00:00:00.000000000 Z
11
+ date: 2014-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tilt