braai 1.6.0 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -1
- data/Gemfile.lock +3 -1
- data/README.md +2 -1
- data/lib/braai/handlers/default.rb +13 -4
- data/lib/braai/version.rb +1 -1
- data/spec/braai/handlers/default_spec.rb +6 -0
- metadata +8 -2
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
braai (1.6.
|
4
|
+
braai (1.6.1)
|
5
5
|
activesupport
|
6
6
|
|
7
7
|
GEM
|
@@ -18,6 +18,7 @@ GEM
|
|
18
18
|
mocha (0.12.4)
|
19
19
|
metaclass (~> 0.0.1)
|
20
20
|
multi_json (1.6.1)
|
21
|
+
rake (10.0.3)
|
21
22
|
|
22
23
|
PLATFORMS
|
23
24
|
ruby
|
@@ -26,3 +27,4 @@ DEPENDENCIES
|
|
26
27
|
braai!
|
27
28
|
minitest-colorize
|
28
29
|
mocha
|
30
|
+
rake
|
data/README.md
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
module Braai::Handlers
|
2
2
|
class Default < Base
|
3
3
|
def perform
|
4
|
+
value = nil
|
4
5
|
chain = matches[1].split('.')
|
5
|
-
|
6
|
-
|
6
|
+
|
7
|
+
if template.attributes.has_key?(chain.first)
|
8
|
+
value = template.attributes[chain.shift] || ''
|
9
|
+
else
|
10
|
+
return nil unless value
|
11
|
+
end
|
7
12
|
|
8
13
|
chain.each do |a|
|
9
14
|
if value.respond_to?(a.to_sym)
|
10
|
-
value = value.send(a)
|
15
|
+
value = value.send(a) || ''
|
11
16
|
elsif value.is_a?(Hash)
|
12
|
-
|
17
|
+
if value.has_key?(a.to_sym) || value.has_key?(a.to_s)
|
18
|
+
value = value[a.to_sym] || value[a.to_s] || ''
|
19
|
+
else
|
20
|
+
return nil
|
21
|
+
end
|
13
22
|
else
|
14
23
|
return nil
|
15
24
|
end
|
data/lib/braai/version.rb
CHANGED
@@ -17,6 +17,12 @@ describe Braai::Handlers::Default do
|
|
17
17
|
res.must_equal("Hi {{ name.upcase }}")
|
18
18
|
end
|
19
19
|
|
20
|
+
it "handles nil attributes (that are actually nil, not missing)" do
|
21
|
+
person = OpenStruct.new(salutation: nil, name: 'Fred Rogers')
|
22
|
+
res = Braai::Template.new("{{ greet }} {{ person.salutation }} {{ person.name }}").render(greet: "Hi", person: person)
|
23
|
+
res.must_equal("Hi Fred Rogers")
|
24
|
+
end
|
25
|
+
|
20
26
|
it "handles deeply nested attributes" do
|
21
27
|
res = Braai::Template.new(adv_template).render(greet: "Hello", name: OpenStruct.new(full_name: 'inigo montoya'))
|
22
28
|
res.must_equal("Hello my name is INIGO MONTOYA")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -87,12 +87,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
87
87
|
- - ! '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
|
+
segments:
|
91
|
+
- 0
|
92
|
+
hash: -348262951032349536
|
90
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
94
|
none: false
|
92
95
|
requirements:
|
93
96
|
- - ! '>='
|
94
97
|
- !ruby/object:Gem::Version
|
95
98
|
version: '0'
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
hash: -348262951032349536
|
96
102
|
requirements: []
|
97
103
|
rubyforge_project:
|
98
104
|
rubygems_version: 1.8.25
|