jsonapi_deserializer 1.0.0 → 1.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: 2fdf9fafbdfca4001e1524366b2f6e53248df5ca
4
- data.tar.gz: 9e9965c7da3e9e1bdda4df87d07fe8dc57358a98
3
+ metadata.gz: 5d114171139c779e27ebf9e75c9c1f9c099af98e
4
+ data.tar.gz: 0eab51a21e34a602cfa9ce3acf9ed5ec8d48ebe4
5
5
  SHA512:
6
- metadata.gz: d178b73585336cb6cc0776c09aa61c9669fbdbba1f03fb59a2e61232959c6275da02737cdc3d302d456e00257f82bccce08ce0ec6d8394f3587a31beba4381aa
7
- data.tar.gz: 7c1aab7ff2908b3479d8d852def4ea0fa3e60234db48f6528257ab5fe77f639332985dd3b4b58e76376e70bbba16178852dc388da33089755551f64fbe6400f0
6
+ metadata.gz: ced938bbb209c7e52692f6123efc9b9ab71acd7dcd9913a1f8d50f4a594d6c08300f17c584c9e3b7d1634af656019630e951fcddcef81a5f2997c589f053ba5d
7
+ data.tar.gz: 707d4f4aa7d0b878c9f57c8cdb3e6f5011a77f5ef06e6fd7b476a1159fc27d0f3dcf537f03387657fcb843b8a0474a527f16f76a319141ad6ffa19f5e8f5e423
@@ -1,6 +1,6 @@
1
- require "hashie"
2
- require "active_support/core_ext/hash/indifferent_access"
3
- require "jsonapi_deserializer/version"
1
+ require 'hashie'
2
+ require 'active_support/core_ext/hash/indifferent_access'
3
+ require 'jsonapi_deserializer/version'
4
4
 
5
5
  module JSONApi
6
6
  class Deserializer
@@ -8,8 +8,8 @@ module JSONApi
8
8
  include Hashie::Extensions::MethodAccess
9
9
  include Hashie::Extensions::IndifferentAccess
10
10
 
11
- def initialize(hash)
12
- hash[:id] = hash[:id].to_s
11
+ def initialize(source_hash = nil, default = nil, &blk)
12
+ source_hash[:id] = source_hash[:id].to_s
13
13
  super
14
14
  end
15
15
  end
@@ -21,7 +21,7 @@ module JSONApi
21
21
  end
22
22
 
23
23
  def initialize(response)
24
- @response = response.with_indifferent_access
24
+ @response = response.is_a?(Hash) ? response.with_indifferent_access : response
25
25
  @store = {}
26
26
 
27
27
  all_data = ([] << @response[:data] << @response[:included]).flatten.compact
@@ -44,7 +44,7 @@ module JSONApi
44
44
  data.each do |datum|
45
45
  type = datum[:type]
46
46
  per_type = @store[type] ||= {}
47
- record = Record.new(id: datum[:id].to_s, type: datum[:type]).merge(datum[:attributes] || {})
47
+ record = Record.new(id: datum[:id].to_s).merge(datum[:attributes] || {})
48
48
 
49
49
  per_type[record.id] = record
50
50
  end
@@ -1,5 +1,5 @@
1
1
  module JSONApi
2
2
  class Deserializer
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsonapi_deserializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trek Glowacki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-06 00:00:00.000000000 Z
11
+ date: 2018-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.4.8
123
+ rubygems_version: 2.5.1
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Deserialize your json-api payloads into easy-to-use hashes with attribute