strum 0.0.45 → 0.0.46

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: f7bb30342859374b985c24a047dc052fe725222770777bcbf1c7105f02b2197f
4
- data.tar.gz: ffc06d34e9c00e1816b091cd5535af45de5ed3de9266488eddc008480f59ac68
3
+ metadata.gz: 0dff86c480a8f43b04d4895e092a70054147c22220f50680fe955c781b2478ad
4
+ data.tar.gz: 753d4347e3900071ce55a9d5f27be89f9f90a5761ca25ff3233a1562fc883e19
5
5
  SHA512:
6
- metadata.gz: 6c9a50e0d2ccf3b63fe3c898f6ffb33e87b9f955b733185e0430c455bf5fd058dbeae0fcb81ad284ddc221cb69188975f474adfa286ca903cd22902a0c558bd4
7
- data.tar.gz: 024d94ae252ce046cbd899de5205f45d7251dafd320bfc08b3d5e91ba8ed71ba7ac0fd964dcd5c5a56591ebb0e10c617bed1693a1518e9cb23bcda9782a46d4c
6
+ metadata.gz: 47de68438dbfdd3db056e9d597d588a5273768d0a3faa896e347e1d8e865917dcbe60bb44b58ba2c3e99bb36a960ad80b5af6ea386b4e58144bbedd60b7c320f
7
+ data.tar.gz: bec9ac9eab2fc9488131cecbfb7c9bab0d77a9b3d90d44c89ddae077511d98e62f3d69e6045ef613da4e23e9870b1f0316e30aac3fb0fddedcf2e1184b8a374d
@@ -3,14 +3,42 @@ PATH
3
3
  specs:
4
4
  strum (0.0.45)
5
5
  dry-inflector (~> 0.2.0)
6
+ dry-struct (~> 1.2)
6
7
  thor (~> 0.20)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
11
12
  ast (2.4.0)
13
+ concurrent-ruby (1.1.5)
12
14
  diff-lcs (1.3)
15
+ dry-configurable (0.9.0)
16
+ concurrent-ruby (~> 1.0)
17
+ dry-core (~> 0.4, >= 0.4.7)
18
+ dry-container (0.7.2)
19
+ concurrent-ruby (~> 1.0)
20
+ dry-configurable (~> 0.1, >= 0.1.3)
21
+ dry-core (0.4.9)
22
+ concurrent-ruby (~> 1.0)
23
+ dry-equalizer (0.3.0)
13
24
  dry-inflector (0.2.0)
25
+ dry-logic (1.0.5)
26
+ concurrent-ruby (~> 1.0)
27
+ dry-core (~> 0.2)
28
+ dry-equalizer (~> 0.2)
29
+ dry-struct (1.2.0)
30
+ dry-core (~> 0.4, >= 0.4.3)
31
+ dry-equalizer (~> 0.3)
32
+ dry-types (~> 1.0)
33
+ ice_nine (~> 0.11)
34
+ dry-types (1.2.2)
35
+ concurrent-ruby (~> 1.0)
36
+ dry-container (~> 0.3)
37
+ dry-core (~> 0.4, >= 0.4.4)
38
+ dry-equalizer (~> 0.3)
39
+ dry-inflector (~> 0.1, >= 0.1.2)
40
+ dry-logic (~> 1.0, >= 1.0.2)
41
+ ice_nine (0.11.2)
14
42
  io-console (0.5.5)
15
43
  irb (1.2.1)
16
44
  reline (>= 0.0.1)
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "strum/serializer_class"
4
4
  require "dry/inflector"
5
+ require "dry/struct"
5
6
 
6
7
  module Strum
7
8
  module JsonSerializer
@@ -15,11 +16,19 @@ module Strum
15
16
  end
16
17
 
17
18
  define_method :model do
18
- input.is_a?(Sequel::Model) ? input : input[:model]
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) && input.first.is_a?(Sequel::Model)
22
+
23
+ input[:model]
19
24
  end
20
25
 
21
26
  define_method :options do
22
- input.is_a?(Sequel::Model) ? {} : input.except(:model)
27
+ return {} if input.is_a?(Sequel::Model)
28
+ return {} if input.is_a?(Dry::Struct)
29
+ return {} if input.is_a?(Array)
30
+
31
+ input.except(:model)
23
32
  end
24
33
  end
25
34
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Strum
4
- VERSION = "0.0.45"
4
+ VERSION = "0.0.46"
5
5
  end
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.require_paths = ["lib"]
37
37
 
38
38
  spec.add_dependency "dry-inflector", "~> 0.2.0"
39
+ spec.add_dependency "dry-struct", "~> 1.2"
39
40
  spec.add_dependency "thor", "~> 0.20"
40
41
  spec.add_development_dependency "bundler", "~> 1.17"
41
42
  spec.add_development_dependency "irb"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.45
4
+ version: 0.0.46
5
5
  platform: ruby
6
6
  authors:
7
7
  - Serhiy Nazarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-08 00:00:00.000000000 Z
11
+ date: 2020-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-inflector
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-struct
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: thor
29
43
  requirement: !ruby/object:Gem::Requirement