coaster 1.3.35 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d90387f0828b0ece5fec61d33b6dd1458da6944816a877f8f222d0c732b3737e
4
- data.tar.gz: 64d540a0623b059d65789d58118c668640dd9679595eb2b3582aa5708c639480
3
+ metadata.gz: 184ceccb2f814adeae83aadb4f7740db5d2b4f0a7d7b1389bef09144c9c634e4
4
+ data.tar.gz: 98ff36f4fc6ae8f71b9d89a278e34154dbc02579e1229a17724be2f0870304e7
5
5
  SHA512:
6
- metadata.gz: 6aa3bc61db4b538553799902876097e555fcc508ee7c7c8b86d19fca60f8d19e6c7dadf74812fa79bac75b7863ce0e3052b47d70e3e682555e8394f790465f3c
7
- data.tar.gz: 0a9a86bf0baef2c0c07eb2bf3bc7c6a284eb201139c61b2536d04e00db7c0339f6a7062fdd604a39fa74c660c9cdda4eb323c2747c13825fee562cfcddca416e
6
+ metadata.gz: eeb8e4a6c489a6765ad0705e65154151d272d4a4dfad64458da94f292a6decbc086a68703070472a92b20c0344816fcc8695d5b4205d9c1efbaf3ee25aa90f04
7
+ data.tar.gz: cdfec6c9d37031b28a40403f67420900ff0f188bddfac729d4efa521a807849aa82ff3fc8b3405c1aeeb141389b880925cdcb24f14e5d07b0c027474739b4866
@@ -85,6 +85,15 @@ module Coaster
85
85
  end
86
86
  },
87
87
  default: default
88
+ elsif type == :unix_epoch
89
+ _define_serialized_property(serialize_column, key,
90
+ getter: Proc.new { |val| val.nil? ? nil : Time.zone.at(val) },
91
+ setter: Proc.new { |val|
92
+ raise TypeError, "serialized_property: only time can be accepted: #{val.class}" unless val.is_a?(Time)
93
+ val.to_i
94
+ },
95
+ default: default
96
+ )
88
97
  elsif type == Integer
89
98
  _define_serialized_property serialize_column, key,
90
99
  setter: proc { |val|
@@ -95,6 +104,8 @@ module Coaster
95
104
  default: default
96
105
  elsif type == Array
97
106
  _define_serialized_property(serialize_column, key, default: default || [])
107
+ elsif type.respond_to?(:serialized_property_settings) && (settings = type.serialized_property_settings)
108
+ _define_serialized_property(serialize_column, key, getter: settings[:getter], setter: settings[:setter], setter_callback: settings[:setter_callback], default: default)
98
109
  elsif type && type < ActiveRecord::Base
99
110
  _define_serialized_property serialize_column, "#{key}_id", default: default
100
111
 
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.3.35'
2
+ VERSION = '1.4.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.35
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - buzz jung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-10 00:00:00.000000000 Z
11
+ date: 2023-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj