tilt-jbuilder 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
- Jbuilder.encode do |json|
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
@@ -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
@@ -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 = Tilt::JbuilderTemplate::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.1.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-10 00:00:00.000000000 Z
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
- - lib/tilt/version.rb
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
data/lib/tilt/version.rb DELETED
@@ -1,5 +0,0 @@
1
- module Tilt
2
- module JbuilderTemplate
3
- VERSION = "0.1.0"
4
- end
5
- end