store_model 4.6.0 → 4.6.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
  SHA256:
3
- metadata.gz: e69ab65c67b3cd46e0285be5860d8cd5b1d501b38e126f9833fbe01b3dda3ee8
4
- data.tar.gz: 04b8d780feaaa6bfcb578465582b845d66960ba5f9df6e5d7aaa8d99f3d568bb
3
+ metadata.gz: c20c6465ee84ba2d0ffce4610ea14b6f6fed01e5da08cda8b165392e1d2e2952
4
+ data.tar.gz: 072ca921fd0b02814fc917b5d2c6b2df14f8c3bd99c536fda472b5df64ea7774
5
5
  SHA512:
6
- metadata.gz: f8176e449148b7b7aa04596bf75b4932a156f737bac32395e79ae4ca5af9d6e186addb5c1de47b503f754b491f3a98a2ae081ce44fb8f3608c077f81fbcbe8d7
7
- data.tar.gz: 9a771879567e9bbe266fa3825327469ac5b2e2008e7f90a7b608b72d28bbbb9704bd7f28e1498e4d65879c6014321a368557f54ec04fe23af0c7d4f8074d0613
6
+ metadata.gz: a2e4339119a3076c4d200a535267033045d0fe75b461c2dfbe9b8d95bae1b4ecff0634ea5cbc5786076029fa2aba8027ac8a70e4f9d465c750f5f4d3a404b237
7
+ data.tar.gz: 1c8e8941a81e46a1f4d082a59252fc7867bcb95684a814a17701121e69ae82005fb0ca21da2dd3fea49467d3048c0c51ea0661c9d92b706573ce4a7e265c3eb5
@@ -294,10 +294,13 @@ module StoreModel
294
294
  end
295
295
 
296
296
  def serialized_attribute(attr)
297
- if attr.value.is_a? StoreModel::Model
297
+ case attr.value
298
+ when StoreModel::Model
298
299
  Types::RawJSONEncoder.new(attr.value_for_database)
299
- elsif attr.value.is_a? Array
300
+ when Array
300
301
  serialize_array_attribute(attr.value)
302
+ when Hash # attribute :smth, json
303
+ attr.value
301
304
  else
302
305
  attr.value_for_database
303
306
  end
@@ -74,7 +74,7 @@ module StoreModel
74
74
  case value
75
75
  when String
76
76
  payload = ActiveSupport::JSON.decode(value) rescue {}
77
- model_instance(deserialize_by_types(payload))
77
+ model_instance(deserialize_by_types(payload)) unless payload.nil?
78
78
  when ::Hash
79
79
  model_instance(deserialize_by_types(value))
80
80
  when nil
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module StoreModel # :nodoc:
4
- VERSION = "4.6.0"
4
+ VERSION = "4.6.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: store_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.0
4
+ version: 4.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - DmitryTsepelev