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 CHANGED
@@ -3,4 +3,5 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in braai.gemspec
4
4
  gemspec
5
5
 
6
- gem "minitest-colorize"
6
+ gem "minitest-colorize"
7
+ gem "rake"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- braai (1.6.0)
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
@@ -99,4 +99,5 @@ res.should match("<h2>MARK</h2>")
99
99
 
100
100
  * Mark Bates
101
101
  * Nick Plante
102
- * Kevin Incorvia
102
+ * Sam Beam
103
+ * Kevin Incorvia
@@ -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
- value = template.attributes[chain.shift]
6
- return nil unless value
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
- value = value[a.to_sym] || value[a.to_s]
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
@@ -1,3 +1,3 @@
1
1
  module Braai
2
- VERSION = "1.6.0"
2
+ VERSION = "1.6.1"
3
3
  end
@@ -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.0
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-08 00:00:00.000000000 Z
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