tilt-jbuilder 0.1.0 → 0.2.0
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.
- data/lib/tilt/jbuilder.rb +18 -2
- data/spec/_partial.json.jbuilder +1 -0
- data/spec/tilt-jbuilder_spec.rb +5 -0
- data/tilt-jbuilder.gemspec +2 -3
- metadata +26 -3
- data/lib/tilt/version.rb +0 -5
data/lib/tilt/jbuilder.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'tilt/template'
|
2
1
|
require 'jbuilder'
|
3
2
|
|
4
3
|
module Tilt
|
@@ -20,12 +19,20 @@ module Tilt
|
|
20
19
|
context = scope.instance_eval { binding }
|
21
20
|
set_locals(locals, scope, context)
|
22
21
|
eval %{
|
23
|
-
|
22
|
+
if defined? json
|
24
23
|
if @_tilt_data.kind_of? Proc
|
25
24
|
return @_tilt_data.call(Jbuilder.new)
|
26
25
|
else
|
27
26
|
eval @_tilt_data, binding
|
28
27
|
end
|
28
|
+
else
|
29
|
+
Jbuilder.encode do |json|
|
30
|
+
if @_tilt_data.kind_of? Proc
|
31
|
+
return @_tilt_data.call(Jbuilder.new)
|
32
|
+
else
|
33
|
+
eval @_tilt_data, binding
|
34
|
+
end
|
35
|
+
end
|
29
36
|
end
|
30
37
|
}, context
|
31
38
|
end
|
@@ -41,3 +48,12 @@ module Tilt
|
|
41
48
|
|
42
49
|
register Tilt::JbuilderTemplate, 'jbuilder'
|
43
50
|
end
|
51
|
+
|
52
|
+
class Jbuilder < BlankSlate
|
53
|
+
def partial!(options, locals = {})
|
54
|
+
path = Pathname.new(options)
|
55
|
+
locals.merge! :json => self
|
56
|
+
template = Tilt::JbuilderTemplate.new("#{path.dirname.to_s}/_#{path.basename}.json.jbuilder")
|
57
|
+
template.render(nil, locals)
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
json.last_name last_name
|
data/spec/tilt-jbuilder_spec.rb
CHANGED
@@ -34,4 +34,9 @@ describe Tilt::JbuilderTemplate do
|
|
34
34
|
end
|
35
35
|
"{\"author\":\"Anthony\"}".should == template.render
|
36
36
|
end
|
37
|
+
|
38
|
+
it "should evaluate partials" do
|
39
|
+
template = Tilt::JbuilderTemplate.new { "json.partial! 'spec/partial', last_name: 'Smith'" }
|
40
|
+
"{\"last_name\":\"Smith\"}".should == template.render
|
41
|
+
end
|
37
42
|
end
|
data/tilt-jbuilder.gemspec
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
require File.expand_path('../lib/tilt/version', __FILE__)
|
3
|
-
|
4
2
|
Gem::Specification.new do |gem|
|
5
3
|
gem.authors = ["Anthony Smith"]
|
6
4
|
gem.email = ["anthony@sticksnleaves.com"]
|
@@ -10,6 +8,7 @@ Gem::Specification.new do |gem|
|
|
10
8
|
|
11
9
|
gem.add_dependency 'tilt'
|
12
10
|
gem.add_dependency 'jbuilder'
|
11
|
+
gem.add_development_dependency 'rake'
|
13
12
|
gem.add_development_dependency 'rspec'
|
14
13
|
|
15
14
|
gem.files = `git ls-files`.split($\)
|
@@ -17,5 +16,5 @@ Gem::Specification.new do |gem|
|
|
17
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
17
|
gem.name = "tilt-jbuilder"
|
19
18
|
gem.require_paths = ["lib"]
|
20
|
-
gem.version =
|
19
|
+
gem.version = '0.2.0'
|
21
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tilt-jbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
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: 2012-06-
|
12
|
+
date: 2012-06-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: tilt
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: rspec
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,7 +89,7 @@ files:
|
|
73
89
|
- README.rdoc
|
74
90
|
- Rakefile
|
75
91
|
- lib/tilt/jbuilder.rb
|
76
|
-
-
|
92
|
+
- spec/_partial.json.jbuilder
|
77
93
|
- spec/tilt-jbuilder_spec.rb
|
78
94
|
- tilt-jbuilder.gemspec
|
79
95
|
homepage: https://github.com/anthonator/tilt-jbuilder
|
@@ -88,12 +104,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
104
|
- - ! '>='
|
89
105
|
- !ruby/object:Gem::Version
|
90
106
|
version: '0'
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
hash: -3179914202370087647
|
91
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
111
|
none: false
|
93
112
|
requirements:
|
94
113
|
- - ! '>='
|
95
114
|
- !ruby/object:Gem::Version
|
96
115
|
version: '0'
|
116
|
+
segments:
|
117
|
+
- 0
|
118
|
+
hash: -3179914202370087647
|
97
119
|
requirements: []
|
98
120
|
rubyforge_project:
|
99
121
|
rubygems_version: 1.8.24
|
@@ -101,4 +123,5 @@ signing_key:
|
|
101
123
|
specification_version: 3
|
102
124
|
summary: Adds support for rendering Jbuilder templates in Tilt.
|
103
125
|
test_files:
|
126
|
+
- spec/_partial.json.jbuilder
|
104
127
|
- spec/tilt-jbuilder_spec.rb
|