hanikamu-service 0.1.1 → 0.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 111ccc8519265b9428bc35c039ccf20a5cea32dc25769dac2919e69beb18994c
4
- data.tar.gz: c0dae0d07f74f3e4f94410bc26f7e26c19d74d4c67fe5c5ee9a0e134c966d1d9
3
+ metadata.gz: b2fd98fb2f0ddba884d61ce4fdee4c5d4a227515d782b427d8157262496a1027
4
+ data.tar.gz: d9ec6df7703b16a55d8364989796790c54959db9350f490d8f9a3679616c2c3a
5
5
  SHA512:
6
- metadata.gz: 36459fd99d5946d2b57c749a421d607b96ef6f0bc1242bc552ab7266d377ed157c9578ad1223a124dba533ee2da60423a86beeca4492542d9289976599c1476a
7
- data.tar.gz: bc789c97af90b4b8980a2384670f0f57b02a39d454be6db21b2db046825837aed48d009bd46062d7840b6548361bdefd61ec65984aabe30fe449b20339ce9761
6
+ metadata.gz: 5dd2458e0e61b5da798728d619fc153e461beb39439fc756156d190e4ef5d5a485db30d34692e899fdba6af797501dd927fae5960c69a3fc15944460838c69a4
7
+ data.tar.gz: 21042a51f72de8221a8be7c532eb5acc7dd14a099aed3b5a6e971cd9326f1052d8cf057692ef2218abd77470be4a2bfba5c9517a9c0abf30509e574b0c3df164
data/Rakefile CHANGED
@@ -1,23 +1,22 @@
1
- # encoding: UTF-8
2
- require 'rubygems'
3
- require 'bundler'
1
+ require "rubygems"
2
+ require "bundler"
4
3
  require "bundler/gem_tasks"
5
4
  require "rake/testtask"
6
5
 
7
6
  begin
8
7
  Bundler.setup(:default, :development, :test)
9
8
  rescue Bundler::BundlerError => e
10
- $stderr.puts e.message
11
- $stderr.puts "Run `bundle install` to install missing gems"
9
+ warn e.message
10
+ warn "Run `bundle install` to install missing gems"
12
11
  exit e.status_code
13
12
  end
14
13
 
15
- require 'rake'
14
+ require "rake"
16
15
 
17
16
  begin
18
- require 'rspec/core/rake_task'
17
+ require "rspec/core/rake_task"
19
18
  RSpec::Core::RakeTask.new(:spec)
20
19
  rescue LoadError
21
20
  end
22
21
 
23
- task default: :spec
22
+ task default: :spec
@@ -6,33 +6,37 @@ require "dry-monads"
6
6
  module Hanikamu
7
7
  # :nodoc
8
8
  class Service < Dry::Struct
9
- include Dry::Monads[:result]
9
+ extend Dry::Monads[:result]
10
10
  Error = Class.new(StandardError)
11
11
 
12
12
  class << self
13
13
  def call(options = {})
14
- options.empty? ? new.call : new(options)&.call
15
- rescue Dry::Struct::Error => e
16
- self::Failure.new(e)
14
+ Success(call!(options))
15
+ rescue StandardError => e
16
+ return Failure.new(e) if whitelisted_error?(e.class)
17
+
18
+ raise e
17
19
  end
18
20
 
19
21
  def call!(options = {})
20
- options.empty? ? new.call! : new(options).call!
22
+ options.empty? ? new.send(:call!) : new(options).send(:call!)
21
23
  end
22
- end
23
24
 
24
- # `call` should not be implemented in subclasses
25
- def call
26
- Success(call!)
27
- rescue => e
28
- return Failure(e) if whitelisted_error?(e.class)
25
+ private
29
26
 
30
- raise
27
+ def whitelisted_error?(error_klass)
28
+ error_klass == Hanikamu::Service::Error ||
29
+ error_klass.superclass == Hanikamu::Service::Error ||
30
+ error_klass == Dry::Struct::Error
31
+ end
31
32
  end
32
33
 
33
- def whitelisted_error?(error_klass)
34
- error_klass == Hanikamu::Service::Error ||
35
- error_klass.superclass == Hanikamu::Service::Error
34
+ private
35
+
36
+ def response(**args)
37
+ klass = self.class
38
+ klass.const_set(:Response, Struct.new(*args.keys, keyword_init: true)) unless klass.const_defined?(:Response)
39
+ klass::Response.new(**args)
36
40
  end
37
41
 
38
42
  private_class_method :new
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanikamu-service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolai Seerup
8
8
  - Alejandro Jimenez
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-08-04 00:00:00.000000000 Z
12
+ date: 2023-09-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dry-monads
@@ -17,86 +17,30 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1'
20
+ version: 1.6.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1'
27
+ version: 1.6.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: dry-struct
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1'
34
+ version: 1.6.0
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'
42
- - !ruby/object:Gem::Dependency
43
- name: bundler
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: '2'
49
- type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: '2'
56
- - !ruby/object:Gem::Dependency
57
- name: pry
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 0.14.0
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: 0.14.0
70
- - !ruby/object:Gem::Dependency
71
- name: rake
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: rspec
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '3.0'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '3.0'
98
- description:
99
- email:
41
+ version: 1.6.0
42
+ description:
43
+ email:
100
44
  executables: []
101
45
  extensions: []
102
46
  extra_rdoc_files: []
@@ -104,28 +48,28 @@ files:
104
48
  - Rakefile
105
49
  - lib/hanikamu-service.rb
106
50
  - lib/hanikamu/service.rb
107
- - lib/hanikamu/version.rb
108
51
  homepage: https://github.com/Hanikamu/hanikamu-service
109
52
  licenses:
110
53
  - MIT
111
- metadata: {}
112
- post_install_message:
54
+ metadata:
55
+ rubygems_mfa_required: 'true'
56
+ post_install_message:
113
57
  rdoc_options: []
114
58
  require_paths:
115
59
  - lib
116
60
  required_ruby_version: !ruby/object:Gem::Requirement
117
61
  requirements:
118
- - - ">"
62
+ - - ">="
119
63
  - !ruby/object:Gem::Version
120
- version: '2.5'
64
+ version: '3.1'
121
65
  required_rubygems_version: !ruby/object:Gem::Requirement
122
66
  requirements:
123
67
  - - ">="
124
68
  - !ruby/object:Gem::Version
125
69
  version: '0'
126
70
  requirements: []
127
- rubygems_version: 3.1.4
128
- signing_key:
71
+ rubygems_version: 3.4.1
72
+ signing_key:
129
73
  specification_version: 4
130
74
  summary: This is the base service for all pattern designs used in hanikamu design
131
75
  test_files: []
File without changes