jsonapi-utils 0.5.0.beta5 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -3
- data/lib/jsonapi/utils/response/formatters.rb +5 -1
- data/lib/jsonapi/utils/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0be601da593b84a1174a28708470fc8a3b19156
|
4
|
+
data.tar.gz: 201d0bb520bc0465486819f94fe419a15c4c1bb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e07edab40bd4956fb3ef3eba13e29e1f020d1ec144d2904d6e95a716a568ce8283a09f8ba8e76ecec4fd43e42805dbf72607dd97e8e1574770b0574fa0bd3f2e
|
7
|
+
data.tar.gz: c23d41ae2fa4fe7896d2aea00dc0417479a8213e407984e06281bf899912d32251bf49f206c2b18977570eb7c9cff47ec68b6f9ebaa6580f0b083228dd0b5497
|
data/README.md
CHANGED
@@ -6,7 +6,21 @@
|
|
6
6
|
|
7
7
|
Simple yet powerful way to get your Rails API compliant with [JSON API](http://jsonapi.org).
|
8
8
|
|
9
|
-
`JSONAPI::Utils` (JU) is built on top of [JSONAPI::Resources](https://github.com/cerebris/jsonapi-resources)
|
9
|
+
`JSONAPI::Utils` (JU) is built on top of [JSONAPI::Resources](https://github.com/cerebris/jsonapi-resources)
|
10
|
+
taking advantage of its resource-driven style and bringing a set of helpers to easily build modern JSON APIs
|
11
|
+
with no or less learning curve.
|
12
|
+
|
13
|
+
After installing the gem and defining the resources/routes, it's as simple as calling a render helper:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
class UsersController < ActionController::Base
|
17
|
+
include JSONAPI::Utils
|
18
|
+
|
19
|
+
def index
|
20
|
+
jsonapi_render json: User.all
|
21
|
+
end
|
22
|
+
end
|
23
|
+
```
|
10
24
|
|
11
25
|
## Table of Contents
|
12
26
|
|
@@ -48,10 +62,10 @@ For Rails 4.x add this to your application's Gemfile:
|
|
48
62
|
gem 'jsonapi-utils', '~> 0.4.7'
|
49
63
|
```
|
50
64
|
|
51
|
-
For Rails 5, specify the
|
65
|
+
For Rails 5, specify the `0.5.x` version in the Gemfile:
|
52
66
|
|
53
67
|
```ruby
|
54
|
-
gem 'jsonapi-utils', '0.5.0
|
68
|
+
gem 'jsonapi-utils', '0.5.0'
|
55
69
|
```
|
56
70
|
|
57
71
|
And then execute:
|
@@ -14,13 +14,17 @@ module JSONAPI
|
|
14
14
|
alias_method :jsonapi_serialize, :jsonapi_format
|
15
15
|
|
16
16
|
def jsonapi_format_errors(data)
|
17
|
-
data
|
17
|
+
data = JSONAPI::Utils::Exceptions::ActiveRecord.new(data, @request.resource_klass, context) if active_record_obj?(data)
|
18
18
|
errors = data.respond_to?(:errors) ? data.errors : data
|
19
19
|
JSONAPI::Utils::Support::Error.sanitize(errors).uniq
|
20
20
|
end
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
+
def active_record_obj?(data)
|
25
|
+
data.is_a?(ActiveRecord::Base)|| data.singleton_class.include?(ActiveModel::Model)
|
26
|
+
end
|
27
|
+
|
24
28
|
def build_response_document(records, options)
|
25
29
|
results = JSONAPI::OperationResults.new
|
26
30
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsonapi-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.0
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tiago Guedes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-01-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jsonapi-resources
|
@@ -193,9 +193,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
193
|
version: '0'
|
194
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
195
|
requirements:
|
196
|
-
- - "
|
196
|
+
- - ">="
|
197
197
|
- !ruby/object:Gem::Version
|
198
|
-
version:
|
198
|
+
version: '0'
|
199
199
|
requirements: []
|
200
200
|
rubyforge_project:
|
201
201
|
rubygems_version: 2.6.7
|