sanford-rabl 0.0.1 → 0.1.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/Gemfile +1 -0
- data/README.md +6 -2
- data/lib/sanford-rabl.rb +16 -1
- data/lib/sanford-rabl/version.rb +1 -1
- data/sanford-rabl.gemspec +3 -0
- data/test/helper.rb +3 -0
- data/test/support/factory.rb +9 -0
- data/test/support/template.json.rabl +5 -0
- data/test/unit/template_engine_tests.rb +35 -0
- metadata +61 -10
- checksums.yaml +0 -7
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Sanford::Rabl
|
|
2
2
|
|
|
3
3
|
Sanford [template engine](https://github.com/redding/sanford) for rendering Rabl templates
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ require 'sanford-rabl'
|
|
|
13
13
|
|
|
14
14
|
Sanford.configure do |c|
|
|
15
15
|
|
|
16
|
-
c.template_source "/path/to/templates"
|
|
16
|
+
c.template_source "/path/to/templates" do |s|
|
|
17
17
|
s.engine 'rabl', Sanford::Rabl::TemplateEngine
|
|
18
18
|
end
|
|
19
19
|
|
|
@@ -22,6 +22,10 @@ end
|
|
|
22
22
|
|
|
23
23
|
Add `.rabl` to any template files in your template source path. Sanford will render their content using Rabl when they are rendered.
|
|
24
24
|
|
|
25
|
+
### Notes
|
|
26
|
+
|
|
27
|
+
Rabl allows you to specify the template scope. Templates will be rendered in the scope of the service handler. Therefore, you can access any service handler attributes directly in the template file.
|
|
28
|
+
|
|
25
29
|
## Installation
|
|
26
30
|
|
|
27
31
|
Add this line to your application's Gemfile:
|
data/lib/sanford-rabl.rb
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'rabl'
|
|
2
|
+
require 'sanford/template_engine'
|
|
3
|
+
require 'sanford-rabl/version'
|
|
2
4
|
|
|
3
5
|
module Sanford::Rabl
|
|
6
|
+
|
|
7
|
+
class TemplateEngine < Sanford::TemplateEngine
|
|
8
|
+
|
|
9
|
+
def render(path, service_handler, locals)
|
|
10
|
+
Rabl::Renderer.new(path, nil, {
|
|
11
|
+
:view_path => self.source_path,
|
|
12
|
+
:format => 'hash',
|
|
13
|
+
:locals => locals
|
|
14
|
+
}).render(service_handler)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
4
19
|
end
|
data/lib/sanford-rabl/version.rb
CHANGED
data/sanford-rabl.gemspec
CHANGED
data/test/helper.rb
CHANGED
data/test/support/factory.rb
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require 'assert'
|
|
2
|
+
require 'sanford-rabl'
|
|
3
|
+
|
|
4
|
+
require 'sanford/template_engine'
|
|
5
|
+
|
|
6
|
+
class Sanford::Rabl::TemplateEngine
|
|
7
|
+
|
|
8
|
+
class UnitTests < Assert::Context
|
|
9
|
+
desc "Sanford::Rabl::TemplateEngine"
|
|
10
|
+
setup do
|
|
11
|
+
@engine = Sanford::Rabl::TemplateEngine.new({
|
|
12
|
+
'source_path' => TEST_SUPPORT_PATH
|
|
13
|
+
})
|
|
14
|
+
end
|
|
15
|
+
subject{ @engine }
|
|
16
|
+
|
|
17
|
+
should "be a Sanford template engine" do
|
|
18
|
+
assert_kind_of Sanford::TemplateEngine, subject
|
|
19
|
+
assert_respond_to 'render', subject
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should "render rabl template files as raw data output" do
|
|
23
|
+
service_handler = OpenStruct.new({
|
|
24
|
+
:identifier => Factory.integer,
|
|
25
|
+
:name => Factory.string
|
|
26
|
+
})
|
|
27
|
+
locals = { :local1 => Factory.string }
|
|
28
|
+
exp = Factory.template_json_rendered(service_handler, locals)
|
|
29
|
+
|
|
30
|
+
assert_equal exp, subject.render('template.json', service_handler, locals)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sanford-rabl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
hash: 27
|
|
5
|
+
prerelease:
|
|
6
|
+
segments:
|
|
7
|
+
- 0
|
|
8
|
+
- 1
|
|
9
|
+
- 0
|
|
10
|
+
version: 0.1.0
|
|
5
11
|
platform: ruby
|
|
6
12
|
authors:
|
|
7
13
|
- Kelly Redding
|
|
@@ -10,17 +16,51 @@ autorequire:
|
|
|
10
16
|
bindir: bin
|
|
11
17
|
cert_chain: []
|
|
12
18
|
|
|
13
|
-
date: 2014-06-
|
|
19
|
+
date: 2014-06-11 00:00:00 Z
|
|
14
20
|
dependencies:
|
|
15
21
|
- !ruby/object:Gem::Dependency
|
|
16
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
23
|
+
none: false
|
|
17
24
|
requirements:
|
|
18
25
|
- - ~>
|
|
19
26
|
- !ruby/object:Gem::Version
|
|
27
|
+
hash: 23
|
|
28
|
+
segments:
|
|
29
|
+
- 2
|
|
30
|
+
- 10
|
|
20
31
|
version: "2.10"
|
|
21
32
|
type: :development
|
|
22
|
-
version_requirements: *id001
|
|
23
33
|
name: assert
|
|
34
|
+
version_requirements: *id001
|
|
35
|
+
prerelease: false
|
|
36
|
+
- !ruby/object:Gem::Dependency
|
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
38
|
+
none: false
|
|
39
|
+
requirements:
|
|
40
|
+
- - ~>
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
hash: 31
|
|
43
|
+
segments:
|
|
44
|
+
- 0
|
|
45
|
+
- 10
|
|
46
|
+
version: "0.10"
|
|
47
|
+
type: :runtime
|
|
48
|
+
name: sanford
|
|
49
|
+
version_requirements: *id002
|
|
50
|
+
prerelease: false
|
|
51
|
+
- !ruby/object:Gem::Dependency
|
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
53
|
+
none: false
|
|
54
|
+
requirements:
|
|
55
|
+
- - ">="
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
hash: 3
|
|
58
|
+
segments:
|
|
59
|
+
- 0
|
|
60
|
+
version: "0"
|
|
61
|
+
type: :runtime
|
|
62
|
+
name: rabl
|
|
63
|
+
version_requirements: *id003
|
|
24
64
|
prerelease: false
|
|
25
65
|
description: Sanford template engine for Rabl templates
|
|
26
66
|
email:
|
|
@@ -44,32 +84,43 @@ files:
|
|
|
44
84
|
- sanford-rabl.gemspec
|
|
45
85
|
- test/helper.rb
|
|
46
86
|
- test/support/factory.rb
|
|
87
|
+
- test/support/template.json.rabl
|
|
88
|
+
- test/unit/template_engine_tests.rb
|
|
47
89
|
homepage: http://github.com/redding/sanford-rabl
|
|
48
90
|
licenses:
|
|
49
91
|
- MIT
|
|
50
|
-
metadata: {}
|
|
51
|
-
|
|
52
92
|
post_install_message:
|
|
53
93
|
rdoc_options: []
|
|
54
94
|
|
|
55
95
|
require_paths:
|
|
56
96
|
- lib
|
|
57
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
98
|
+
none: false
|
|
58
99
|
requirements:
|
|
59
|
-
-
|
|
60
|
-
- ">="
|
|
100
|
+
- - ">="
|
|
61
101
|
- !ruby/object:Gem::Version
|
|
102
|
+
hash: 3
|
|
103
|
+
segments:
|
|
104
|
+
- 0
|
|
62
105
|
version: "0"
|
|
63
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
|
+
none: false
|
|
64
108
|
requirements:
|
|
65
|
-
-
|
|
109
|
+
- - ">="
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
hash: 3
|
|
112
|
+
segments:
|
|
113
|
+
- 0
|
|
114
|
+
version: "0"
|
|
66
115
|
requirements: []
|
|
67
116
|
|
|
68
117
|
rubyforge_project:
|
|
69
|
-
rubygems_version:
|
|
118
|
+
rubygems_version: 1.8.25
|
|
70
119
|
signing_key:
|
|
71
|
-
specification_version:
|
|
120
|
+
specification_version: 3
|
|
72
121
|
summary: Sanford template engine for Rabl templates
|
|
73
122
|
test_files:
|
|
74
123
|
- test/helper.rb
|
|
75
124
|
- test/support/factory.rb
|
|
125
|
+
- test/support/template.json.rabl
|
|
126
|
+
- test/unit/template_engine_tests.rb
|
checksums.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
SHA512:
|
|
3
|
-
metadata.gz: 3b22656cc602d020076334abcd06a5ad62218420e288ba53b612c0ecb594b5a920c52d99d1236d65660005ed049489141c2aeee792a4494fd08a7ce71fa9ba36
|
|
4
|
-
data.tar.gz: a4fa8f1c450b4bd5083e1be4fb3c17de46987db40cadc5c2ab23815c9d0bdd8ee7ecd793fc604e3465e470a05a5c60c09c8782b40ba01713ab48791800baf8ca
|
|
5
|
-
SHA1:
|
|
6
|
-
metadata.gz: d86f08b5cf8e4e07277e854fc27e17eff4ddcaf9
|
|
7
|
-
data.tar.gz: 133b0d5e68cf261974d218ffc4b0773d97d1e06e
|