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 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