strum 0.0.44 → 0.0.45
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/strum/json_serializer.rb +11 -3
- data/lib/strum/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7bb30342859374b985c24a047dc052fe725222770777bcbf1c7105f02b2197f
|
4
|
+
data.tar.gz: ffc06d34e9c00e1816b091cd5535af45de5ed3de9266488eddc008480f59ac68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c9a50e0d2ccf3b63fe3c898f6ffb33e87b9f955b733185e0430c455bf5fd058dbeae0fcb81ad284ddc221cb69188975f474adfa286ca903cd22902a0c558bd4
|
7
|
+
data.tar.gz: 024d94ae252ce046cbd899de5205f45d7251dafd320bfc08b3d5e91ba8ed71ba7ac0fd964dcd5c5a56591ebb0e10c617bed1693a1518e9cb23bcda9782a46d4c
|
data/Gemfile.lock
CHANGED
@@ -11,13 +11,21 @@ module Strum
|
|
11
11
|
define_method :call do
|
12
12
|
require "serializers/#{Dry::Inflector.new.underscore(name)}_serializer"
|
13
13
|
serializer_class = Strum::SerializerClass.call(name: name)
|
14
|
-
output(serializer_class.new(
|
14
|
+
output(serializer_class.new(model, options).serializable_hash)
|
15
|
+
end
|
16
|
+
|
17
|
+
define_method :model do
|
18
|
+
input.is_a?(Sequel::Model) ? input : input[:model]
|
19
|
+
end
|
20
|
+
|
21
|
+
define_method :options do
|
22
|
+
input.is_a?(Sequel::Model) ? {} : input.except(:model)
|
15
23
|
end
|
16
24
|
end
|
17
25
|
end
|
18
26
|
|
19
|
-
def self.call(model)
|
20
|
-
model.class.call(model)
|
27
|
+
def self.call(model, **options)
|
28
|
+
const_get(model.class.name, false).call(options.merge(model: model))
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
data/lib/strum/version.rb
CHANGED