hanikamu-service 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hanikamu/service.rb +7 -4
  3. metadata +7 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e83b46ded50371220d8d70bc4aa50e9eff54d3230ea0509a6658c2ab4a014e53
4
- data.tar.gz: cb27e5fade0194e20cfcbec252e374dc69d913a373878928c1a4c7ef872b97e9
3
+ metadata.gz: 70391463435ae50626470fbcc9a97f8fc2fbfa6709942fe0fb268d72a183d406
4
+ data.tar.gz: 97160e2628503754fcb428f7c78727a072607ce985cc435647f8b8a6f92da6e3
5
5
  SHA512:
6
- metadata.gz: 18a96049b7cb02ed92096607e8b741aa026265efbe2c2b63b14e86a592de107fb82137e8ba725c39f573c5aaf6ee4740589d333afc4772cbb51890528c2c71cf
7
- data.tar.gz: bfdf1f0a1bb356cf635e947394595a50c9c608d7e91b654e8fd1c035aacf8200f4c668783872fa21e271c193916facd1aac1ece7af3a0d10b583e488eea71a6a
6
+ metadata.gz: ba8f971ad29914c1162ef1badfa8f1f0e152107d2a291ba2fb106773eb723a2585383ee5309c35ffc2b71a4bfc2dd62f55c7a9c7a25df5d013dd6fb3dc479499
7
+ data.tar.gz: 245013dbd749c4434bdecef84f0ab93d74d7befed80d64b42ba32f69ec5e4fa650700682781f4badd5683d19adfc66a834b4072de96135a64df38532af0dd147
@@ -8,21 +8,24 @@ module Hanikamu
8
8
  class Service < Dry::Struct
9
9
  extend Dry::Configurable
10
10
  extend Dry::Monads[:result]
11
+
11
12
  Error = Class.new(StandardError)
12
13
 
13
14
  setting :whitelisted_errors, default: []
14
15
 
15
16
  class << self
16
- def call(options = {})
17
- Success(call!(options))
17
+ def call(options = {}, &)
18
+ Success(call!(options, &))
18
19
  rescue StandardError => e
19
20
  return Failure.new(e) if whitelisted_error?(e.class)
20
21
 
21
22
  raise e
22
23
  end
23
24
 
24
- def call!(options = {})
25
- options.empty? ? new.send(:call!) : new(options).send(:call!)
25
+ def call!(options = {}, &block)
26
+ instance = options.empty? ? new : new(options)
27
+
28
+ block ? instance.call!(&block) : instance.call!
26
29
  end
27
30
 
28
31
  private
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanikamu-service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolai Seerup
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-01-30 00:00:00.000000000 Z
12
+ date: 2025-11-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dry-configurable
@@ -31,28 +31,28 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 1.6.0
34
+ version: '1.6'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 1.6.0
41
+ version: '1.6'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: dry-struct
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 1.6.0
48
+ version: '1.8'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 1.6.0
55
+ version: '1.8'
56
56
  description:
57
57
  email:
58
58
  executables: []
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  requirements: []
85
- rubygems_version: 3.4.10
85
+ rubygems_version: 3.5.3
86
86
  signing_key:
87
87
  specification_version: 4
88
88
  summary: This is the base service for all pattern designs used in hanikamu design