schema_serializer 0.0.2 → 0.0.3

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: f5404332ba242848977ad36f8fdb7a10aca0e9075976ccbe03c439de1fe919c5
4
- data.tar.gz: c270f0b70fa19a3578cd5a7bf836d29fcbfa2085bad74eb7662a1209d39e3e8f
3
+ metadata.gz: 94f709a1c2d51ff0aa79c34c05738103e8b7bed11bff02b5d80bb26a3eb65aa9
4
+ data.tar.gz: bf489e3759d930ea6862ed46dfc534d4d30efd84a77000723e34b0d4c031afa1
5
5
  SHA512:
6
- metadata.gz: ccba07d36a8e858ec0e175d5f7353cc632babe90211e7d50edb5d5a23b9d1e49c25a5c226b2b26b8cd678ec08e1fa80a8a53b3054991d1705af8a5e123657c62
7
- data.tar.gz: b704f1f029e65c35769e7c8ab9732acf672514a63b4f123b77ae1abf2899e94861373cd48d259e2f8f3159e3f34cc8ca0de78462a73c695407778cf85ebaef2e
6
+ metadata.gz: 5de1089009d4f710cb750f7c3a09b68feeb1a25110698f6f40b4b673c3451df100354474aa666cb452361433313052ecdffc987f7fae72fe001f33dd0e76069f
7
+ data.tar.gz: fe3fc664a7d43f3c66b673922d777f4bdb5dc2cf38231d3c1ac5714031c9d129977301f37fa47a4bb2f8aacce0d67d505a17ecb05f11335e42a85136620889af
@@ -2,7 +2,7 @@ class SchemaSerializer
2
2
  class Railtie < ::Rails::Railtie
3
3
  initializer "schema_serializer" do
4
4
  ActiveSupport.on_load(:active_record) do
5
- ::ActiveRecord::Base.send(:extend, SchemaSerializer::Serializable)
5
+ ::ActiveRecord::Base.send(:include, SchemaSerializer::Serializable)
6
6
  end
7
7
  end
8
8
  end
@@ -35,9 +35,20 @@ class SchemaSerializer
35
35
  not_enough_columns = required - properties.keys
36
36
  raise RequiredNotDefined, not_enough_columns.join(", ") unless not_enough_columns.empty?
37
37
  properties.each_with_object({}) { |(column, schema), obj|
38
- obj[column] = schema.serialize(object.public_send(column))
38
+ obj[column] = schema.serialize(get_value(object, column))
39
39
  }
40
40
  end
41
41
  end
42
+
43
+ private
44
+
45
+ def get_value(object, column)
46
+ return object[column] || object[column.to_sym] if object.is_a?(Hash)
47
+
48
+ value = object.public_send(column)
49
+ return value if !object.respond_to?(:defined_enums) || !object.defined_enums.has_key?(column)
50
+
51
+ object.defined_enums[column][value]
52
+ end
42
53
  end
43
54
  end
@@ -1,3 +1,3 @@
1
1
  class SchemaSerializer
2
- VERSION = "0.0.2".freeze
2
+ VERSION = "0.0.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2bskn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-25 00:00:00.000000000 Z
11
+ date: 2018-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport