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 +4 -4
- data/lib/schema_serializer/railtie.rb +1 -1
- data/lib/schema_serializer/schema.rb +12 -1
- data/lib/schema_serializer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94f709a1c2d51ff0aa79c34c05738103e8b7bed11bff02b5d80bb26a3eb65aa9
|
4
|
+
data.tar.gz: bf489e3759d930ea6862ed46dfc534d4d30efd84a77000723e34b0d4c031afa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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(:
|
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
|
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
|
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.
|
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-
|
11
|
+
date: 2018-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|