grape-rabl 0.4.1 → 0.4.2
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -29
- data/.rubocop_todo.yml +50 -0
- data/.travis.yml +2 -2
- data/CHANGELOG.md +33 -29
- data/CONTRIBUTING.md +118 -0
- data/Gemfile +8 -8
- data/README.md +6 -6
- data/Rakefile +2 -2
- data/grape-rabl.gemspec +11 -11
- data/lib/grape-rabl.rb +1 -1
- data/lib/grape-rabl/formatter.rb +8 -4
- data/lib/grape-rabl/version.rb +1 -1
- data/spec/grape_rabl_configuration.rb +3 -3
- data/spec/grape_rabl_layout_spec.rb +14 -12
- data/spec/grape_rabl_partials_spec.rb +3 -2
- data/spec/grape_rabl_spec.rb +45 -24
- data/spec/grape_rabl_xml_spec.rb +4 -4
- data/spec/spec_helper.rb +1 -0
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4f66c2fd9f44ff3363235629017ad85ef7aed831
|
|
4
|
+
data.tar.gz: d97536b97d1bce6b360f967d59b8047651a1afda
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a044c927a6dd449c97963c3f8dcf4450aa548db7d382c6fbb371f6ec43d0e3c6fbf4b4a896ae095648ffdf8233c8e342ca0148d49427c09103d8269ed06eb483
|
|
7
|
+
data.tar.gz: 4dae323c5e5ef547e406eeb2c6b11ea7d2e3a473bc67fe6a7452ff0290fdcd7db4a395e004920f9bb8d22acc41d2d9396fd36aee8ceb974288e95ce199623fa0
|
data/.rubocop.yml
CHANGED
|
@@ -3,32 +3,4 @@ AllCops:
|
|
|
3
3
|
- vendor/**
|
|
4
4
|
- .bundle
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Enabled: false
|
|
8
|
-
|
|
9
|
-
MethodLength:
|
|
10
|
-
Enabled: false
|
|
11
|
-
|
|
12
|
-
ClassLength:
|
|
13
|
-
Enabled: false
|
|
14
|
-
|
|
15
|
-
Documentation:
|
|
16
|
-
# don't require classes to be documented
|
|
17
|
-
Enabled: false
|
|
18
|
-
|
|
19
|
-
Encoding:
|
|
20
|
-
# no need to always specify encoding
|
|
21
|
-
Enabled: false
|
|
22
|
-
|
|
23
|
-
CollectionMethods:
|
|
24
|
-
# don't prefer map to collect, recuce to inject
|
|
25
|
-
Enabled: false
|
|
26
|
-
|
|
27
|
-
RescueException:
|
|
28
|
-
Enabled: false
|
|
29
|
-
|
|
30
|
-
DoubleNegation:
|
|
31
|
-
Enabled: false
|
|
32
|
-
|
|
33
|
-
FileName:
|
|
34
|
-
Enabled: false
|
|
6
|
+
inherit_from: .rubocop_todo.yml
|
data/.rubocop_todo.yml
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# This configuration was generated by
|
|
2
|
+
# `rubocop --auto-gen-config`
|
|
3
|
+
# on 2016-06-08 16:00:13 -0400 using RuboCop version 0.40.0.
|
|
4
|
+
# The point is for the user to remove these configuration records
|
|
5
|
+
# one by one as the offenses are removed from the code base.
|
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
+
|
|
9
|
+
# Offense count: 1
|
|
10
|
+
Lint/RescueException:
|
|
11
|
+
Exclude:
|
|
12
|
+
- 'spec/grape_rabl_spec.rb'
|
|
13
|
+
|
|
14
|
+
# Offense count: 21
|
|
15
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
|
|
16
|
+
# URISchemes: http, https
|
|
17
|
+
Metrics/LineLength:
|
|
18
|
+
Max: 148
|
|
19
|
+
|
|
20
|
+
# Offense count: 1
|
|
21
|
+
# Configuration parameters: CountComments.
|
|
22
|
+
Metrics/MethodLength:
|
|
23
|
+
Max: 13
|
|
24
|
+
|
|
25
|
+
# Offense count: 5
|
|
26
|
+
Style/Documentation:
|
|
27
|
+
Exclude:
|
|
28
|
+
- 'spec/**/*'
|
|
29
|
+
- 'test/**/*'
|
|
30
|
+
- 'lib/grape-rabl.rb'
|
|
31
|
+
- 'lib/grape-rabl/configuration.rb'
|
|
32
|
+
- 'lib/grape-rabl/formatter.rb'
|
|
33
|
+
- 'lib/grape-rabl/render.rb'
|
|
34
|
+
- 'lib/grape/rabl.rb'
|
|
35
|
+
|
|
36
|
+
# Offense count: 1
|
|
37
|
+
Style/DoubleNegation:
|
|
38
|
+
Exclude:
|
|
39
|
+
- 'lib/grape-rabl/formatter.rb'
|
|
40
|
+
|
|
41
|
+
# Offense count: 1
|
|
42
|
+
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts.
|
|
43
|
+
Style/FileName:
|
|
44
|
+
Exclude:
|
|
45
|
+
- 'lib/grape-rabl.rb'
|
|
46
|
+
|
|
47
|
+
# Offense count: 1
|
|
48
|
+
Style/IfInsideElse:
|
|
49
|
+
Exclude:
|
|
50
|
+
- 'lib/grape-rabl/formatter.rb'
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,70 +1,74 @@
|
|
|
1
|
+
#### v0.4.2
|
|
2
|
+
|
|
3
|
+
* Fix template caching for multiple formats. [#43](https://github.com/ruby-grape/grape-rabl/pull/43) [@kushkella](https://github.com/kushkella)
|
|
4
|
+
|
|
1
5
|
#### v0.4.1
|
|
2
6
|
|
|
3
|
-
* Automatically require 'grape/rabl'. [#39](https://github.com/
|
|
7
|
+
* Automatically require 'grape/rabl'. [#39](https://github.com/ruby-grape/grape-rabl/issues/39) [@martinezcoder](https://github.com/martinezcoder)
|
|
4
8
|
|
|
5
9
|
#### v0.4.0
|
|
6
10
|
|
|
7
|
-
* Make grape-rabl thread-safe. [#37](https://github.com/
|
|
11
|
+
* Make grape-rabl thread-safe. [#37](https://github.com/ruby-grape/grape-rabl/issues/37) [@kushkella](https://github.com/kushkella)
|
|
8
12
|
|
|
9
13
|
#### v0.3.1
|
|
10
14
|
|
|
11
|
-
* The `render` method will no longer modify endpoint options at runtime. [#35](https://github.com/
|
|
15
|
+
* The `render` method will no longer modify endpoint options at runtime. [#35](https://github.com/ruby-grape/grape-rabl/issues/35) [@yesmeck](https://github.com/yesmeck)
|
|
12
16
|
|
|
13
17
|
#### v0.3.0
|
|
14
18
|
|
|
15
|
-
* Enable using a layout template in Rabl. [@koko1000ban](https://github.com/koko1000ban) [view commit](https://github.com/
|
|
16
|
-
* Implemented Rubocop, Ruby style linter. [@dblock](https://github.com/dblock) [view commit](https://github.com/
|
|
17
|
-
* Removed JRuby support. [@dblock](https://github.com/dblock) [view commit](https://github.com/
|
|
18
|
-
* Enable using locals with #render. [@hobofan](https://github.com/hobofan) [view commit](https://github.com/
|
|
19
|
-
* Enable support for template caching. [#28](https://github.com/
|
|
19
|
+
* Enable using a layout template in Rabl. [@koko1000ban](https://github.com/koko1000ban) [view commit](https://github.com/ruby-grape/grape-rabl/commit/1fbfbd58c3fb320be1b52b3247fda2a23cacc9fc)
|
|
20
|
+
* Implemented Rubocop, Ruby style linter. [@dblock](https://github.com/dblock) [view commit](https://github.com/ruby-grape/grape-rabl/commit/1211056de22a5989c063d57b7b37ebb1f1977e83)
|
|
21
|
+
* Removed JRuby support. [@dblock](https://github.com/dblock) [view commit](https://github.com/ruby-grape/grape-rabl/commit/59905c1b09670fe08501e09bad4ec8714839f2d3)
|
|
22
|
+
* Enable using locals with #render. [@hobofan](https://github.com/hobofan) [view commit](https://github.com/ruby-grape/grape-rabl/commit/6c24130f6a670e52e6119c56904b8ed2e6f60b39)
|
|
23
|
+
* Enable support for template caching. [#28](https://github.com/ruby-grape/grape-rabl/pull/28) [@kushkella](https://github.com/kushkella) [view commit](https://github.com/ruby-grape/grape-rabl/commit/79b1e58d767c6286b510af669e718310c0ad25c2)
|
|
20
24
|
|
|
21
25
|
#### v0.2.2
|
|
22
26
|
|
|
23
|
-
* Relaxed dependency on a specific version of Grape. [#20](https://github.com/
|
|
27
|
+
* Relaxed dependency on a specific version of Grape. [#20](https://github.com/ruby-grape/grape-rabl/pull/20) [@cheef](https://github.com/cheef) [view commit](https://github.com/ruby-grape/grape-rabl/commit/56da0a5bcecb16501cdd93ac25f3b6ca6d7a86f0)
|
|
24
28
|
|
|
25
29
|
#### v0.2.1
|
|
26
30
|
|
|
27
|
-
* Fix: render template according to request format. [#11](https://github.com/
|
|
31
|
+
* Fix: render template according to request format. [#11](https://github.com/ruby-grape/grape-rabl/pull/11) [@alovak](https://github.com/alovak) [view commit](http://github.com/ruby-grape/grape-rabl/commit/f9658cf7a3026122afbb77e0da613731a5828338)
|
|
28
32
|
|
|
29
33
|
#### v0.2.0
|
|
30
34
|
|
|
31
|
-
* Allow to use partials in Grape. [#10](https://github.com/
|
|
32
|
-
* Stick to gem conventions. [@LTe](https://github.com/lte) [view commit](http://github.com/
|
|
33
|
-
* Update for Grape 0.3 compatibility. [@alovak](https://github.com/alovak) [view commit](http://github.com/
|
|
34
|
-
* Format fix. [@LTe](https://github.com/lte) [view commit](http://github.com/
|
|
35
|
+
* Allow to use partials in Grape. [#10](https://github.com/ruby-grape/grape-rabl/pull/10) [@ichilton](https://github.com/ichilton) [view commit](http://github.com/ruby-grape/grape-rabl/commit/72c96c5acc9d8000f56ee8400ae0229053fb3e7e)
|
|
36
|
+
* Stick to gem conventions. [@LTe](https://github.com/lte) [view commit](http://github.com/ruby-grape/grape-rabl/commit/aabd0e2ad72f56a75427eebcc586deed57cf5f58)
|
|
37
|
+
* Update for Grape 0.3 compatibility. [@alovak](https://github.com/alovak) [view commit](http://github.com/ruby-grape/grape-rabl/commit/78bfdceffbfe90b700868ff1e79ab87e8baded81)
|
|
38
|
+
* Format fix. [@LTe](https://github.com/lte) [view commit](http://github.com/ruby-grape/grape-rabl/commit/13749cc18d332dcd0050bb32980cc233868a7992)
|
|
35
39
|
|
|
36
40
|
#### v0.1.0
|
|
37
41
|
|
|
38
|
-
* Updated w/ released Grape 0.2.3. [view commit](http://github.com/
|
|
39
|
-
* Added link to Rabl. [view commit](http://github.com/
|
|
40
|
-
* Grape 0.2.x and put back dependency status. [view commit](http://github.com/
|
|
41
|
-
* Grape 0.2.3. [view commit](http://github.com/
|
|
42
|
-
* Updated Grape dependency via .gemspec. [view commit](http://github.com/
|
|
42
|
+
* Updated w/ released Grape 0.2.3. [view commit](http://github.com/ruby-grape/grape-rabl/commit/9a055dfd8e13e0952a587de7a2e19c9f762e939c)
|
|
43
|
+
* Added link to Rabl. [view commit](http://github.com/ruby-grape/grape-rabl/commit/2a7650cb5f9327761cac8b928453e451a973e131)
|
|
44
|
+
* Grape 0.2.x and put back dependency status. [view commit](http://github.com/ruby-grape/grape-rabl/commit/9c1183f3758db8a79737ff35f0c328be646a3f65)
|
|
45
|
+
* Grape 0.2.3. [view commit](http://github.com/ruby-grape/grape-rabl/commit/d06a6559a02095e1d84fbbd8df0c3eccdd31930b)
|
|
46
|
+
* Updated Grape dependency via .gemspec. [view commit](http://github.com/ruby-grape/grape-rabl/commit/fd44b6a91fa327438eac968fea62ac00ec3ae01f)
|
|
43
47
|
|
|
44
48
|
#### v0.0.6
|
|
45
49
|
|
|
46
|
-
* Use Grape formatter syntax instead of monkey-patching. [view commit](http://github.com/
|
|
47
|
-
* Close block code in README. [view commit](http://github.com/
|
|
48
|
-
* Change home to user. [view commit](http://github.com/
|
|
50
|
+
* Use Grape formatter syntax instead of monkey-patching. [view commit](http://github.com/ruby-grape/grape-rabl/commit/bfba4c382933fd0f912d9114676b6d79d627c3be)
|
|
51
|
+
* Close block code in README. [view commit](http://github.com/ruby-grape/grape-rabl/commit/f397a0de4399d0797b5e327d56234464091d7e3d)
|
|
52
|
+
* Change home to user. [view commit](http://github.com/ruby-grape/grape-rabl/commit/45178ec13c613d872c65475b330d20a548459681)
|
|
49
53
|
|
|
50
54
|
#### v0.0.5
|
|
51
55
|
|
|
52
|
-
* Respect default_format for rabl response. [view commit](http://github.com/
|
|
56
|
+
* Respect default_format for rabl response. [view commit](http://github.com/ruby-grape/grape-rabl/commit/ac54ebbb1d43d1fb76ee9516c5aa683c750c73b0)
|
|
53
57
|
|
|
54
58
|
#### v0.0.4
|
|
55
59
|
|
|
56
|
-
* Require `grape/rabl`. [view commit](http://github.com/
|
|
60
|
+
* Require `grape/rabl`. [view commit](http://github.com/ruby-grape/grape-rabl/commit/e99a185b20974f5e72ac3c19ec377a5853780a33)
|
|
57
61
|
|
|
58
62
|
#### v0.0.3
|
|
59
63
|
|
|
60
|
-
* Template without `.rabl`. [view commit](http://github.com/
|
|
64
|
+
* Template without `.rabl`. [view commit](http://github.com/ruby-grape/grape-rabl/commit/cecca03a680f8ae50b406e1b8c170eba27d1bc99)
|
|
61
65
|
|
|
62
66
|
#### v0.0.2
|
|
63
67
|
|
|
64
|
-
* Add Travis. [view commit](http://github.com/
|
|
65
|
-
* Remove ruby debug. [view commit](http://github.com/
|
|
66
|
-
* Works with rubinius. [view commit](http://github.com/
|
|
67
|
-
* Add dependency status. [view commit](http://github.com/
|
|
68
|
+
* Add Travis. [view commit](http://github.com/ruby-grape/grape-rabl/commit/71c905bc91066c6fdb628afb555561e23219e213)
|
|
69
|
+
* Remove ruby debug. [view commit](http://github.com/ruby-grape/grape-rabl/commit/f80fad14a49b14ae7264b08eff12832c37cbd0b2)
|
|
70
|
+
* Works with rubinius. [view commit](http://github.com/ruby-grape/grape-rabl/commit/fceece344de095916ded7c477bb5891537bb8663)
|
|
71
|
+
* Add dependency status. [view commit](http://github.com/ruby-grape/grape-rabl/commit/66820fb52155c65d4cd9bd7b67f0f22c1105fa46)
|
|
68
72
|
|
|
69
73
|
#### v0.0.1
|
|
70
74
|
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
Contributing to Grape-Rabl
|
|
2
|
+
==========================
|
|
3
|
+
|
|
4
|
+
Grape-Rabl is work of [many of contributors](https://github.com/ruby-grape/grape-rabl/graphs/contributors). You're encouraged to submit [pull requests](https://github.com/ruby-grape/grape-rabl/pulls), [propose features and discuss issues](https://github.com/ruby-grape/grape-rabl/issues). When in doubt, ask a question in the [Grape Google Group](http://groups.google.com/group/ruby-grape).
|
|
5
|
+
|
|
6
|
+
#### Fork the Project
|
|
7
|
+
|
|
8
|
+
Fork the [project on Github](https://github.com/ruby-grape/grape-rabl) and check out your copy.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
git clone https://github.com/contributor/grape-rabl.git
|
|
12
|
+
cd grape-rabl
|
|
13
|
+
git remote add upstream https://github.com/ruby-grape/grape-rabl.git
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
#### Create a Topic Branch
|
|
17
|
+
|
|
18
|
+
Make sure your fork is up-to-date and create a topic branch for your feature or bug fix.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
git checkout master
|
|
22
|
+
git pull upstream master
|
|
23
|
+
git checkout -b my-feature-branch
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
#### Bundle Install and Test
|
|
27
|
+
|
|
28
|
+
Ensure that you can build the project and run tests.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
bundle install
|
|
32
|
+
bundle exec rake
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Write Tests
|
|
36
|
+
|
|
37
|
+
Try to write a test that reproduces the problem you're trying to fix or describes a feature that you want to build. Add to [spec/grape-rabl](spec/grape-rabl).
|
|
38
|
+
|
|
39
|
+
We definitely appreciate pull requests that highlight or reproduce a problem, even without a fix.
|
|
40
|
+
|
|
41
|
+
#### Write Code
|
|
42
|
+
|
|
43
|
+
Implement your feature or bug fix.
|
|
44
|
+
|
|
45
|
+
Ruby style is enforced with [Rubocop](https://github.com/bbatsov/rubocop), run `bundle exec rubocop` and fix any style issues highlighted.
|
|
46
|
+
|
|
47
|
+
Make sure that `bundle exec rake` completes without errors.
|
|
48
|
+
|
|
49
|
+
#### Write Documentation
|
|
50
|
+
|
|
51
|
+
Document any external behavior in the [README](README.md).
|
|
52
|
+
|
|
53
|
+
#### Update Changelog
|
|
54
|
+
|
|
55
|
+
Add a line to [CHANGELOG](CHANGELOG.md) under *Next Release*. Make it look like every other line, including your name and link to your Github account.
|
|
56
|
+
|
|
57
|
+
#### Commit Changes
|
|
58
|
+
|
|
59
|
+
Make sure git knows your name and email address:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
git config --global user.name "Your Name"
|
|
63
|
+
git config --global user.email "contributor@example.com"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Writing good commit logs is important. A commit log should describe what changed and why.
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
git add ...
|
|
70
|
+
git commit
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### Push
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
git push origin my-feature-branch
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### Make a Pull Request
|
|
80
|
+
|
|
81
|
+
Go to https://github.com/contributor/grape-rabl and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.
|
|
82
|
+
|
|
83
|
+
#### Rebase
|
|
84
|
+
|
|
85
|
+
If you've been working on a change for a while, rebase with upstream/master.
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
git fetch upstream
|
|
89
|
+
git rebase upstream/master
|
|
90
|
+
git push origin my-feature-branch -f
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### Update CHANGELOG Again
|
|
94
|
+
|
|
95
|
+
Update the [CHANGELOG](CHANGELOG.md) with the pull request number. A typical entry looks as follows.
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
* [#123](https://github.com/ruby-grape/grape-rabl/pull/123): Reticulated splines - [@contributor](https://github.com/contributor).
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Amend your previous commit and force push the changes.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
git commit --amend
|
|
105
|
+
git push origin my-feature-branch -f
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### Check on Your Pull Request
|
|
109
|
+
|
|
110
|
+
Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI. Everything should look green, otherwise fix issues and amend your commit as described above.
|
|
111
|
+
|
|
112
|
+
#### Be Patient
|
|
113
|
+
|
|
114
|
+
It's likely that your change will not be merged and that the nitpicky maintainers will ask you to do more, or fix seemingly benign problems. Hang on there!
|
|
115
|
+
|
|
116
|
+
#### Thank You
|
|
117
|
+
|
|
118
|
+
Please do know that we really appreciate and value your time and work. We love you, really.
|
data/Gemfile
CHANGED
|
@@ -3,18 +3,18 @@ source 'https://rubygems.org'
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
5
|
group :development do
|
|
6
|
-
gem
|
|
6
|
+
gem 'rubocop', '0.40.0'
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
group :test do
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
12
|
-
gem
|
|
13
|
-
gem
|
|
14
|
-
gem
|
|
15
|
-
gem
|
|
10
|
+
gem 'json'
|
|
11
|
+
gem 'rspec'
|
|
12
|
+
gem 'rack-test'
|
|
13
|
+
gem 'rake'
|
|
14
|
+
gem 'coveralls', require: false
|
|
15
|
+
gem 'rabl'
|
|
16
16
|
|
|
17
17
|
platforms :rbx do
|
|
18
|
-
gem
|
|
18
|
+
gem 'iconv'
|
|
19
19
|
end
|
|
20
20
|
end
|
data/README.md
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Use [Rabl](https://github.com/nesquena/rabl) templates in [Grape](https://github.com/intridea/grape)!
|
|
4
4
|
|
|
5
5
|
[](http://badge.fury.io/rb/grape-rabl)
|
|
6
|
-
[](https://travis-ci.org/ruby-grape/grape-rabl)
|
|
7
|
+
[](https://gemnasium.com/ruby-grape/grape-rabl)
|
|
8
|
+
[](https://codeclimate.com/github/ruby-grape/grape-rabl)
|
|
9
|
+
[](https://coveralls.io/r/ruby-grape/grape-rabl?branch=master)
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
@@ -77,7 +77,7 @@ end
|
|
|
77
77
|
|
|
78
78
|
### Enable template caching
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
Grape-rabl allows for template caching after templates are loaded initially.
|
|
81
81
|
|
|
82
82
|
You can enable template caching:
|
|
83
83
|
|
|
@@ -204,5 +204,5 @@ Enjoy :)
|
|
|
204
204
|
5. Create new Pull Request
|
|
205
205
|
|
|
206
206
|
|
|
207
|
-
[](https://bitdeli.com/free "Bitdeli Badge")
|
|
208
208
|
|
data/Rakefile
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env rake
|
|
2
|
-
require
|
|
2
|
+
require 'bundler/gem_tasks'
|
|
3
3
|
|
|
4
4
|
require 'rspec/core'
|
|
5
5
|
require 'rspec/core/rake_task'
|
|
@@ -9,6 +9,6 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
require 'rubocop/rake_task'
|
|
12
|
-
|
|
12
|
+
RuboCop::RakeTask.new(:rubocop)
|
|
13
13
|
|
|
14
14
|
task default: [:rubocop, :spec]
|
data/grape-rabl.gemspec
CHANGED
|
@@ -3,21 +3,21 @@ require File.expand_path('../lib/grape-rabl/version', __FILE__)
|
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |gem|
|
|
5
5
|
gem.authors = ["Piotr Niełacny"]
|
|
6
|
-
gem.email = [
|
|
7
|
-
gem.description =
|
|
8
|
-
gem.summary =
|
|
9
|
-
gem.homepage =
|
|
6
|
+
gem.email = ['piotr.nielacny@gmail.com']
|
|
7
|
+
gem.description = 'Use rabl in grape'
|
|
8
|
+
gem.summary = 'Use rabl in grape'
|
|
9
|
+
gem.homepage = 'https://github.com/ruby-grape/grape-rabl'
|
|
10
10
|
|
|
11
|
-
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
11
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
12
12
|
gem.files = `git ls-files`.split("\n")
|
|
13
13
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
14
|
-
gem.name =
|
|
15
|
-
gem.require_paths = [
|
|
14
|
+
gem.name = 'grape-rabl'
|
|
15
|
+
gem.require_paths = ['lib']
|
|
16
16
|
gem.version = Grape::Rabl::VERSION
|
|
17
17
|
gem.required_ruby_version = '>= 1.9.3'
|
|
18
18
|
|
|
19
|
-
gem.add_dependency
|
|
20
|
-
gem.add_dependency
|
|
21
|
-
gem.add_dependency
|
|
22
|
-
gem.add_dependency
|
|
19
|
+
gem.add_dependency 'grape'
|
|
20
|
+
gem.add_dependency 'rabl'
|
|
21
|
+
gem.add_dependency 'tilt'
|
|
22
|
+
gem.add_dependency 'i18n'
|
|
23
23
|
end
|
data/lib/grape-rabl.rb
CHANGED
data/lib/grape-rabl/formatter.rb
CHANGED
|
@@ -48,7 +48,7 @@ module Grape
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
def rabl
|
|
51
|
-
|
|
51
|
+
raise 'missing rabl template' unless rabl_template
|
|
52
52
|
set_view_root unless env['api.tilt.root']
|
|
53
53
|
yield rabl_template
|
|
54
54
|
end
|
|
@@ -62,12 +62,12 @@ module Grape
|
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def set_view_root
|
|
65
|
-
|
|
65
|
+
raise "Use Rack::Config to set 'api.tilt.root' in config.ru"
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
def tilt_template(template)
|
|
69
69
|
if Grape::Rabl.configuration.cache_template_loading
|
|
70
|
-
Grape::Rabl::Formatter.tilt_cache.fetch(template) { ::Tilt.new(view_path(template), tilt_options) }
|
|
70
|
+
Grape::Rabl::Formatter.tilt_cache.fetch(tilt_cache_key(template)) { ::Tilt.new(view_path(template), tilt_options) }
|
|
71
71
|
else
|
|
72
72
|
::Tilt.new(view_path(template), tilt_options)
|
|
73
73
|
end
|
|
@@ -80,11 +80,15 @@ module Grape
|
|
|
80
80
|
def layout_template
|
|
81
81
|
layout_path = view_path(env['api.tilt.layout'] || 'layouts/application')
|
|
82
82
|
if Grape::Rabl.configuration.cache_template_loading
|
|
83
|
-
Grape::Rabl::Formatter.tilt_cache.fetch(layout_path) { ::Tilt.new(layout_path, tilt_options) if File.exist?(layout_path) }
|
|
83
|
+
Grape::Rabl::Formatter.tilt_cache.fetch(tilt_cache_key(layout_path)) { ::Tilt.new(layout_path, tilt_options) if File.exist?(layout_path) }
|
|
84
84
|
else
|
|
85
85
|
::Tilt.new(layout_path, tilt_options) if File.exist?(layout_path)
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
|
+
|
|
89
|
+
def tilt_cache_key(path)
|
|
90
|
+
Digest::MD5.hexdigest("#{path}#{tilt_options}")
|
|
91
|
+
end
|
|
88
92
|
end
|
|
89
93
|
end
|
|
90
94
|
end
|
data/lib/grape-rabl/version.rb
CHANGED
|
@@ -3,16 +3,16 @@ require 'spec_helper'
|
|
|
3
3
|
describe 'Grape::Rabl configuration' do
|
|
4
4
|
context 'configuration' do
|
|
5
5
|
it 'returns default values' do
|
|
6
|
-
Grape::Rabl.configuration.cache_template_loading.
|
|
6
|
+
expect(Grape::Rabl.configuration.cache_template_loading).to eq(false)
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
it 'should set and reset configuration' do
|
|
10
10
|
Grape::Rabl.configure do |config|
|
|
11
11
|
config.cache_template_loading = true
|
|
12
12
|
end
|
|
13
|
-
Grape::Rabl.configuration.cache_template_loading.
|
|
13
|
+
expect(Grape::Rabl.configuration.cache_template_loading).to eq(true)
|
|
14
14
|
Grape::Rabl.reset_configuration!
|
|
15
|
-
Grape::Rabl.configuration.cache_template_loading.
|
|
15
|
+
expect(Grape::Rabl.configuration.cache_template_loading).to eq(false)
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -28,8 +28,9 @@ describe 'Grape::Rabl layout' do
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
get('/about')
|
|
31
|
-
parsed_response.
|
|
32
|
-
JSON.parse(%
|
|
31
|
+
expect(parsed_response).to eq(
|
|
32
|
+
JSON.parse(%({"status":200,"result":{"user":{"name":"LTe","project":{"name":"First"}}}}))
|
|
33
|
+
)
|
|
33
34
|
end
|
|
34
35
|
end
|
|
35
36
|
|
|
@@ -47,17 +48,18 @@ describe 'Grape::Rabl layout' do
|
|
|
47
48
|
|
|
48
49
|
get('/about')
|
|
49
50
|
puts last_response.body
|
|
50
|
-
parsed_response.
|
|
51
|
-
JSON.parse(%
|
|
51
|
+
expect(parsed_response).to eq(
|
|
52
|
+
JSON.parse(%({"result":{"user":{"name":"LTe","project":{"name":"First"}}}}))
|
|
53
|
+
)
|
|
52
54
|
end
|
|
53
55
|
end
|
|
54
56
|
|
|
55
57
|
context 'layout cache' do
|
|
56
58
|
before do
|
|
57
|
-
@views_dir = FileUtils.mkdir_p("#{File.expand_path(
|
|
59
|
+
@views_dir = FileUtils.mkdir_p("#{File.expand_path('..', File.dirname(__FILE__))}/tmp")[0]
|
|
58
60
|
@layout = "#{@views_dir}/layouts/application.rabl"
|
|
59
61
|
FileUtils.cp_r("#{File.dirname(__FILE__)}/views/layout_test/.", @views_dir)
|
|
60
|
-
subject.before { env['api.tilt.root'] = "#{File.expand_path(
|
|
62
|
+
subject.before { env['api.tilt.root'] = "#{File.expand_path('..', File.dirname(__FILE__))}/tmp" }
|
|
61
63
|
subject.get('/home', rabl: 'user') do
|
|
62
64
|
@user = OpenStruct.new(name: 'LTe', email: 'email@example.com')
|
|
63
65
|
@project = OpenStruct.new(name: 'First')
|
|
@@ -75,24 +77,24 @@ describe 'Grape::Rabl layout' do
|
|
|
75
77
|
config.cache_template_loading = true
|
|
76
78
|
end
|
|
77
79
|
get '/home'
|
|
78
|
-
last_response.status.
|
|
80
|
+
expect(last_response.status).to eq(200)
|
|
79
81
|
old_response = last_response.body
|
|
80
82
|
open(@layout, 'a') { |f| f << 'node(:test) { "test" }' }
|
|
81
83
|
get '/home'
|
|
82
|
-
last_response.status.
|
|
84
|
+
expect(last_response.status).to eq(200)
|
|
83
85
|
new_response = last_response.body
|
|
84
|
-
old_response.
|
|
86
|
+
expect(old_response).to eq(new_response)
|
|
85
87
|
end
|
|
86
88
|
|
|
87
89
|
it 'should serve new template if cache_template_loading' do
|
|
88
90
|
get '/home'
|
|
89
|
-
last_response.status.
|
|
91
|
+
expect(last_response.status).to eq(200)
|
|
90
92
|
old_response = last_response.body
|
|
91
93
|
open(@layout, 'a') { |f| f << 'node(:test) { "test" }' }
|
|
92
94
|
get '/home'
|
|
93
|
-
last_response.status.
|
|
95
|
+
expect(last_response.status).to eq(200)
|
|
94
96
|
new_response = last_response.body
|
|
95
|
-
old_response.
|
|
97
|
+
expect(old_response).not_to eq(new_response)
|
|
96
98
|
end
|
|
97
99
|
end
|
|
98
100
|
end
|
|
@@ -25,7 +25,8 @@ describe 'Grape::Rabl partials' do
|
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
get('/home')
|
|
28
|
-
parsed_response.
|
|
29
|
-
JSON.parse(
|
|
28
|
+
expect(parsed_response).to eq(
|
|
29
|
+
JSON.parse('{"project":{"name":"First","info":{"type":"paper"},"author":{"author":"LTe"}}}')
|
|
30
|
+
)
|
|
30
31
|
end
|
|
31
32
|
end
|
data/spec/grape_rabl_spec.rb
CHANGED
|
@@ -6,8 +6,9 @@ describe Grape::Rabl do
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
before do
|
|
9
|
-
subject.
|
|
9
|
+
subject.default_format :json
|
|
10
10
|
subject.formatter :json, Grape::Formatter::Rabl
|
|
11
|
+
subject.formatter :xml, Grape::Formatter::Rabl
|
|
11
12
|
subject.helpers MyHelper
|
|
12
13
|
end
|
|
13
14
|
|
|
@@ -18,7 +19,7 @@ describe Grape::Rabl do
|
|
|
18
19
|
it 'should work without rabl template' do
|
|
19
20
|
subject.get('/home') { 'Hello World' }
|
|
20
21
|
get '/home'
|
|
21
|
-
last_response.body.
|
|
22
|
+
expect(last_response.body).to eq('"Hello World"')
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
it 'should raise error about root directory' do
|
|
@@ -26,11 +27,11 @@ describe Grape::Rabl do
|
|
|
26
27
|
subject.get('/home', rabl: true) {}
|
|
27
28
|
get '/home'
|
|
28
29
|
rescue Exception => e
|
|
29
|
-
e.message.
|
|
30
|
+
expect(e.message).to include "Use Rack::Config to set 'api.tilt.root' in config.ru"
|
|
30
31
|
end
|
|
31
32
|
end
|
|
32
33
|
|
|
33
|
-
context 'titl root is setup'
|
|
34
|
+
context 'titl root is setup' do
|
|
34
35
|
let(:parsed_response) { JSON.parse(last_response.body) }
|
|
35
36
|
|
|
36
37
|
before do
|
|
@@ -41,7 +42,7 @@ describe Grape::Rabl do
|
|
|
41
42
|
it 'should execute helper' do
|
|
42
43
|
subject.get('/home', rabl: 'helper') { @user = OpenStruct.new }
|
|
43
44
|
get '/home'
|
|
44
|
-
parsed_response.
|
|
45
|
+
expect(parsed_response).to eq(JSON.parse('{"user":{"helper":"my_helper"}}'))
|
|
45
46
|
end
|
|
46
47
|
end
|
|
47
48
|
|
|
@@ -75,33 +76,33 @@ describe Grape::Rabl do
|
|
|
75
76
|
|
|
76
77
|
it 'renders template passed as argument to render method' do
|
|
77
78
|
get('/home')
|
|
78
|
-
parsed_response.
|
|
79
|
+
expect(parsed_response).to eq(JSON.parse('{"admin":{"name":"LTe"}}'))
|
|
79
80
|
end
|
|
80
81
|
|
|
81
82
|
it 'renders admin template' do
|
|
82
83
|
get('/admin/1')
|
|
83
|
-
parsed_response.
|
|
84
|
+
expect(parsed_response).to eq(JSON.parse('{"admin":{"name":"LTe"}}'))
|
|
84
85
|
end
|
|
85
86
|
|
|
86
87
|
it 'renders user template' do
|
|
87
88
|
get('/admin/2')
|
|
88
|
-
parsed_response.
|
|
89
|
+
expect(parsed_response).to eq(JSON.parse('{"user":{"name":"LTe","project":null}}'))
|
|
89
90
|
end
|
|
90
91
|
|
|
91
92
|
it 'renders template passed as argument to render method with locals' do
|
|
92
93
|
get('/home-detail')
|
|
93
|
-
parsed_response.
|
|
94
|
+
expect(parsed_response).to eq(JSON.parse('{"admin":{"name":"LTe","details":"amazing detail"}}'))
|
|
94
95
|
end
|
|
95
96
|
|
|
96
97
|
it 'renders with locals without overriding template' do
|
|
97
98
|
get('/about-detail')
|
|
98
|
-
parsed_response.
|
|
99
|
+
expect(parsed_response).to eq(JSON.parse('{"user":{"name":"LTe","details":"just a user","project":null}}'))
|
|
99
100
|
end
|
|
100
101
|
|
|
101
102
|
it 'does not save rabl options after called #render method' do
|
|
102
103
|
get('/home')
|
|
103
104
|
get('/about')
|
|
104
|
-
parsed_response.
|
|
105
|
+
expect(parsed_response).to eq(JSON.parse('{"user":{"name":"LTe","project":null}}'))
|
|
105
106
|
end
|
|
106
107
|
|
|
107
108
|
it 'does not modify endpoint options' do
|
|
@@ -113,14 +114,14 @@ describe Grape::Rabl do
|
|
|
113
114
|
it 'should respond with proper content-type' do
|
|
114
115
|
subject.get('/home', rabl: 'user') {}
|
|
115
116
|
get('/home')
|
|
116
|
-
last_response.headers['Content-Type'].
|
|
117
|
+
expect(last_response.headers['Content-Type']).to eq('application/json')
|
|
117
118
|
end
|
|
118
119
|
|
|
119
120
|
it 'should not raise error about root directory' do
|
|
120
121
|
subject.get('/home', rabl: 'user') {}
|
|
121
122
|
get '/home'
|
|
122
|
-
last_response.status.
|
|
123
|
-
last_response.body.
|
|
123
|
+
expect(last_response.status).to eq 200
|
|
124
|
+
expect(last_response.body).not_to include "Use Rack::Config to set 'api.tilt.root' in config.ru"
|
|
124
125
|
end
|
|
125
126
|
|
|
126
127
|
['user', 'user.rabl'].each do |rabl_option|
|
|
@@ -131,16 +132,16 @@ describe Grape::Rabl do
|
|
|
131
132
|
end
|
|
132
133
|
|
|
133
134
|
get '/home'
|
|
134
|
-
parsed_response.
|
|
135
|
+
expect(parsed_response).to eq(JSON.parse('{"user":{"name":"LTe","email":"email@example.com","project":{"name":"First"}}}'))
|
|
135
136
|
end
|
|
136
137
|
end
|
|
137
138
|
|
|
138
139
|
describe 'template cache' do
|
|
139
140
|
before do
|
|
140
|
-
@views_dir = FileUtils.mkdir_p("#{File.expand_path(
|
|
141
|
+
@views_dir = FileUtils.mkdir_p("#{File.expand_path('..', File.dirname(__FILE__))}/tmp")[0]
|
|
141
142
|
@template = "#{@views_dir}/user.rabl"
|
|
142
143
|
FileUtils.cp("#{File.dirname(__FILE__)}/views/user.rabl", @template)
|
|
143
|
-
subject.before { env['api.tilt.root'] = "#{File.expand_path(
|
|
144
|
+
subject.before { env['api.tilt.root'] = "#{File.expand_path('..', File.dirname(__FILE__))}/tmp" }
|
|
144
145
|
subject.get('/home', rabl: 'user') do
|
|
145
146
|
@user = OpenStruct.new(name: 'LTe', email: 'email@example.com')
|
|
146
147
|
@project = OpenStruct.new(name: 'First')
|
|
@@ -157,24 +158,44 @@ describe Grape::Rabl do
|
|
|
157
158
|
config.cache_template_loading = true
|
|
158
159
|
end
|
|
159
160
|
get '/home'
|
|
160
|
-
last_response.status.
|
|
161
|
+
expect(last_response.status).to eq(200)
|
|
161
162
|
old_response = last_response.body
|
|
162
163
|
open(@template, 'a') { |f| f << 'node(:test) { "test" }' }
|
|
163
164
|
get '/home'
|
|
164
|
-
last_response.status.
|
|
165
|
+
expect(last_response.status).to eq(200)
|
|
165
166
|
new_response = last_response.body
|
|
166
|
-
old_response.
|
|
167
|
+
expect(old_response).to eq(new_response)
|
|
167
168
|
end
|
|
168
169
|
|
|
169
|
-
it 'should
|
|
170
|
+
it 'should maintain different cached templates for different formats' do
|
|
171
|
+
Grape::Rabl.configure do |config|
|
|
172
|
+
config.cache_template_loading = true
|
|
173
|
+
end
|
|
174
|
+
get '/home'
|
|
175
|
+
expect(last_response.status).to eq(200)
|
|
176
|
+
json_response = last_response.body
|
|
177
|
+
get '/home.xml'
|
|
178
|
+
expect(last_response.status).to eq(200)
|
|
179
|
+
xml_response = last_response.body
|
|
180
|
+
expect(json_response).not_to eq(xml_response)
|
|
181
|
+
open(@template, 'a') { |f| f << 'node(:test) { "test" }' }
|
|
182
|
+
get '/home.xml'
|
|
183
|
+
expect(last_response.status).to eq(200)
|
|
184
|
+
expect(last_response.body).to eq(xml_response)
|
|
185
|
+
get '/home.json'
|
|
186
|
+
expect(last_response.status).to eq(200)
|
|
187
|
+
expect(last_response.body).to eq(json_response)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
it 'should serve new template unless cache_template_loading' do
|
|
170
191
|
get '/home'
|
|
171
|
-
last_response.status.
|
|
192
|
+
expect(last_response.status).to eq(200)
|
|
172
193
|
old_response = last_response.body
|
|
173
194
|
open(@template, 'a') { |f| f << 'node(:test) { "test" }' }
|
|
174
195
|
get '/home'
|
|
175
|
-
last_response.status.
|
|
196
|
+
expect(last_response.status).to eq(200)
|
|
176
197
|
new_response = last_response.body
|
|
177
|
-
old_response.
|
|
198
|
+
expect(old_response).not_to eq(new_response)
|
|
178
199
|
end
|
|
179
200
|
end
|
|
180
201
|
end
|
data/spec/grape_rabl_xml_spec.rb
CHANGED
|
@@ -14,7 +14,7 @@ describe Grape::Rabl do
|
|
|
14
14
|
subject
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
context 'with xml format'
|
|
17
|
+
context 'with xml format' do
|
|
18
18
|
before do
|
|
19
19
|
subject.before do
|
|
20
20
|
env['api.tilt.root'] = "#{File.dirname(__FILE__)}/views"
|
|
@@ -25,7 +25,7 @@ describe Grape::Rabl do
|
|
|
25
25
|
it 'should respond with proper content-type' do
|
|
26
26
|
subject.get('/home', rabl: 'user') {}
|
|
27
27
|
get('/home')
|
|
28
|
-
last_response.headers['Content-Type'].
|
|
28
|
+
expect(last_response.headers['Content-Type']).to eq('application/xml')
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
['user', 'user.rabl'].each do |rabl_option|
|
|
@@ -37,7 +37,7 @@ describe Grape::Rabl do
|
|
|
37
37
|
|
|
38
38
|
get '/home'
|
|
39
39
|
|
|
40
|
-
last_response.body.
|
|
40
|
+
expect(last_response.body).to eq(%(<?xml version="1.0" encoding="UTF-8"?>
|
|
41
41
|
<user>
|
|
42
42
|
<name>LTe</name>
|
|
43
43
|
<email>email@example.com</email>
|
|
@@ -45,7 +45,7 @@ describe Grape::Rabl do
|
|
|
45
45
|
<name>First</name>
|
|
46
46
|
</project>
|
|
47
47
|
</user>
|
|
48
|
-
)
|
|
48
|
+
))
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: grape-rabl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Piotr Niełacny
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-06-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: grape
|
|
@@ -77,8 +77,10 @@ files:
|
|
|
77
77
|
- ".gitignore"
|
|
78
78
|
- ".rspec"
|
|
79
79
|
- ".rubocop.yml"
|
|
80
|
+
- ".rubocop_todo.yml"
|
|
80
81
|
- ".travis.yml"
|
|
81
82
|
- CHANGELOG.md
|
|
83
|
+
- CONTRIBUTING.md
|
|
82
84
|
- Gemfile
|
|
83
85
|
- LICENSE
|
|
84
86
|
- README.md
|
|
@@ -107,7 +109,7 @@ files:
|
|
|
107
109
|
- spec/views/layout_test/user.rabl
|
|
108
110
|
- spec/views/project.rabl
|
|
109
111
|
- spec/views/user.rabl
|
|
110
|
-
homepage: https://github.com/
|
|
112
|
+
homepage: https://github.com/ruby-grape/grape-rabl
|
|
111
113
|
licenses: []
|
|
112
114
|
metadata: {}
|
|
113
115
|
post_install_message:
|
|
@@ -126,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
126
128
|
version: '0'
|
|
127
129
|
requirements: []
|
|
128
130
|
rubyforge_project:
|
|
129
|
-
rubygems_version: 2.
|
|
131
|
+
rubygems_version: 2.6.4
|
|
130
132
|
signing_key:
|
|
131
133
|
specification_version: 4
|
|
132
134
|
summary: Use rabl in grape
|