active_model_serializers-jsonapi_embedded_records_deserializer 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a8bfc4881f0dcf252c4388ea048fd4c2cb7286b
4
- data.tar.gz: 2f444ce728efd408c8d20c44e8b90d8e0b61ef09
3
+ metadata.gz: 55bff852af304051e3a1cf877e98b7a0a326ecea
4
+ data.tar.gz: 706aeb581143f92f99562433414abf5d23064e8e
5
5
  SHA512:
6
- metadata.gz: a0de04e66ba26acb450d5f767b7b4a2aac5fb22d6af7a9f6c84b857e06e38f9a9dc8583499e3ee493593c8673e114da855425a1f1f15e346916375c2fe3dbdc2
7
- data.tar.gz: 684b2ea7c26c3a05722eae795e49f40032a207a968eee44acefdf330d6486e559b603afef92fbd62751acbf34950bf11cb72559c23b0beb11f0a6c6e8d019dbf
6
+ metadata.gz: 872fc591f2e067eaec302ec321b0c10fe13807d242a89e5a8876a894cc43c1545f9b3f4ee8075c445ad3570d539e3ec996810fe8cfb0d163297aa53c90c4787e
7
+ data.tar.gz: 0e2ba3bcd8001ec8c2e2f595df04b1df3e3ee8682826962a56f80311b1d59b894057d09f69c40350b47732de0874ebe4cc040290e412ae32695d0957222e3013
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'active_model_serializers', github: 'rails-api/active_model_serializers'
4
+
3
5
  # Specify your gem's dependencies in active_model_serializers-jsonapi_embedded_records_deserializer.gemspec
4
6
  gemspec
data/README.md CHANGED
@@ -82,6 +82,17 @@ specified in the `embedded` key of the deserialization options.
82
82
  ActiveModelSerializers::Deserialization.jsonapi_parse(data, embedded: [:author])
83
83
  ```
84
84
 
85
+ The deserialization part of ActiveModelSerializer is restructured between
86
+ `0.10.0.rc4` and the current `master` branch. Please check the version table
87
+ below to choose the right gem version.
88
+
89
+ |-------------------------------|-------------|
90
+ | ActiveModelSerializer version | Gem version |
91
+ |-------------------------------|-------------|
92
+ | 0.10.0.rc4 | 0.1.0 |
93
+ | master (currently: c7b2916) | 0.1.1 |
94
+ |-------------------------------|-------------|
95
+
85
96
  ## Development
86
97
 
87
98
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -18,10 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- # This only works with "0.10.0.rc4". On the current "master" branch, the
22
- # deserializer has already been moved to
23
- # active_model_serializers/adapter/json_api/deserialization
24
- spec.add_dependency 'active_model_serializers', '0.10.0.rc4'
21
+ spec.add_dependency 'active_model_serializers'
25
22
  spec.add_runtime_dependency 'railties', '>= 4.0'
26
23
 
27
24
  spec.add_development_dependency 'bundler', '~> 1.11'
@@ -1,44 +1,40 @@
1
1
  require 'active_model_serializers/jsonapi_embedded_records_deserializer/version'
2
- require 'active_model/serializer/adapter/json_api/deserialization'
2
+ require 'active_model_serializers/adapter/json_api/deserialization'
3
3
 
4
4
  module ActiveModelSerializers
5
5
  module JsonapiEmbeddedRecordsDeserializer
6
6
  end
7
- end
8
7
 
9
- module ActiveModel
10
- class Serializer
11
- module Adapter
12
- class JsonApi
13
- module Deserialization
14
- module_function
8
+ module Adapter
9
+ class JsonApi
10
+ module Deserialization
11
+ module_function
15
12
 
16
- def parse_relationship(assoc_name, assoc_data, options)
17
- prefix_key = field_key(assoc_name, options).to_s.singularize
18
- hash =
19
- if (options[:embedded] || []).include?(assoc_name.to_sym)
20
- parse_nested_attributes(assoc_name, assoc_data, options)
21
- elsif assoc_data.is_a?(Array)
22
- { "#{prefix_key}_ids".to_sym => assoc_data.map { |ri| ri['id'] } }
23
- else
24
- { "#{prefix_key}_id".to_sym => assoc_data ? assoc_data['id'] : nil }
25
- end
13
+ def parse_relationship(assoc_name, assoc_data, options)
14
+ prefix_key = field_key(assoc_name, options).to_s.singularize
15
+ hash =
16
+ if (options[:embedded] || []).include?(assoc_name.to_sym)
17
+ parse_nested_attributes(assoc_name, assoc_data, options)
18
+ elsif assoc_data.is_a?(Array)
19
+ { "#{prefix_key}_ids".to_sym => assoc_data.map { |ri| ri['id'] } }
20
+ else
21
+ { "#{prefix_key}_id".to_sym => assoc_data ? assoc_data['id'] : nil }
22
+ end
26
23
 
27
- polymorphic = (options[:polymorphic] || []).include?(assoc_name.to_sym)
28
- hash["#{prefix_key}_type".to_sym] = assoc_data['type'] if polymorphic
24
+ polymorphic = (options[:polymorphic] || []).include?(assoc_name.to_sym)
25
+ hash["#{prefix_key}_type".to_sym] = assoc_data['type'] if polymorphic
29
26
 
30
- hash
31
- end
27
+ hash
28
+ end
32
29
 
33
- def parse_nested_attributes(assoc_name, assoc_data, options)
34
- data =
35
- if assoc_data.is_a?(Array)
36
- assoc_data.map { |ri| parse({ 'data' => ri }, options) }
37
- else
38
- parse({ 'data' => assoc_data }, options)
39
- end
40
- { "#{assoc_name}_attributes".to_sym => data }
41
- end
30
+ def parse_nested_attributes(assoc_name, assoc_data, options)
31
+ data =
32
+ if assoc_data.is_a?(Array)
33
+ assoc_data.map { |ri| parse({ 'data' => ri }, options) }
34
+ else
35
+ parse({ 'data' => assoc_data }, options)
36
+ end
37
+ { "#{assoc_name}_attributes".to_sym => data }
42
38
  end
43
39
  end
44
40
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveModelSerializers
2
2
  module JsonapiEmbeddedRecordsDeserializer
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_model_serializers-jsonapi_embedded_records_deserializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Spieker
@@ -14,16 +14,16 @@ dependencies:
14
14
  name: active_model_serializers
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.0.rc4
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.10.0.rc4
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: railties
29
29
  requirement: !ruby/object:Gem::Requirement