strum-json 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -3
- data/lib/strum/json/serializer.rb +8 -6
- data/lib/strum/json/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: 37e07cd2c107cd505d79a6f059d275d96b60e919eb3266634160f0d7d4301e91
|
4
|
+
data.tar.gz: 624c379c20a52ba20cd833d848b661b6bbc92f7bc0c6bff7dee56eec6ceaa165
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a95accb4cebabe4e1015acbb2393a9a5cf6170330c73ace6a9f6da700afa99f5f8e076386c8f32000bfcbf380e2d67959bd4605f6394a006a71ba27101f850f1
|
7
|
+
data.tar.gz: 4950117e0b759a0c7b1256a24bd9e5ad8e06d4b66d2794468324fb219edeff6ecea1893289370aaf26cb5e206d1308df8535f8f341793e075fa817d6624d0ee3
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
strum-json (0.0.
|
4
|
+
strum-json (0.0.5)
|
5
5
|
dry-inflector (~> 0.2.0)
|
6
6
|
json (~> 2.3)
|
7
7
|
json-schema (~> 2.8.1)
|
@@ -56,7 +56,7 @@ GEM
|
|
56
56
|
rubocop (~> 1.0)
|
57
57
|
rubocop-ast (>= 1.1.0)
|
58
58
|
ruby-progressbar (1.11.0)
|
59
|
-
strum-service (0.2.
|
59
|
+
strum-service (0.2.1)
|
60
60
|
unicode-display_width (2.0.0)
|
61
61
|
|
62
62
|
PLATFORMS
|
@@ -71,4 +71,4 @@ DEPENDENCIES
|
|
71
71
|
strum-json!
|
72
72
|
|
73
73
|
BUNDLED WITH
|
74
|
-
2.2.
|
74
|
+
2.2.27
|
@@ -16,16 +16,17 @@ module Strum
|
|
16
16
|
end
|
17
17
|
|
18
18
|
define_method :model do
|
19
|
-
return input if input.is_a?(Sequel::Model)
|
20
|
-
return input if input.is_a?(Dry::Struct)
|
21
|
-
return input if input.is_a?(Array) && (
|
19
|
+
return input if defined?(Sequel::Model) && input.is_a?(Sequel::Model)
|
20
|
+
return input if defined?(Dry::Struct) && input.is_a?(Dry::Struct)
|
21
|
+
return input if input.is_a?(Array) && ((defined?(Sequel::Model) && input.first.is_a?(Sequel::Model)) ||
|
22
|
+
(defined?(Dry::Struct) && input.first.is_a?(Dry::Struct)))
|
22
23
|
|
23
24
|
input[:model]
|
24
25
|
end
|
25
26
|
|
26
27
|
define_method :options do
|
27
|
-
return {} if input.is_a?(Sequel::Model)
|
28
|
-
return {} if input.is_a?(Dry::Struct)
|
28
|
+
return {} if defined?(Sequel::Model) && input.is_a?(Sequel::Model)
|
29
|
+
return {} if defined?(Dry::Struct) && input.is_a?(Dry::Struct)
|
29
30
|
return {} if input.is_a?(Array)
|
30
31
|
|
31
32
|
input.except(:model)
|
@@ -34,7 +35,8 @@ module Strum
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def self.call(model, **options)
|
37
|
-
|
38
|
+
klass = model.is_a?(Array) ? model.first.class : model.class
|
39
|
+
const_get(klass.name.split("::").last, false).call(options.merge(model: model))
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
data/lib/strum/json/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strum-json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serhiy Nazarov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-inflector
|