hanikamu-service 0.1.1 → 0.1.2
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 +4 -4
- data/Rakefile +7 -8
- data/lib/hanikamu/service.rb +19 -15
- metadata +54 -12
- data/lib/hanikamu/version.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 845cbcc2bd820b66c2fbf7699f2e2915a7da8114f1dc1182113697abc2af6abe
|
|
4
|
+
data.tar.gz: a74e58d2d027cdb1877b927d663364bdab3b502af7d1cfb5761b5e60b5fe98f0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a8170288d581bd4fcb36155c22c5d6a3c85326e3240c4dbacb26f0c2525f7af00dfd6268f87952ccc5af5e3d30b6dab651da9256a6415b175162e00a2b0fa7c5
|
|
7
|
+
data.tar.gz: 0b8aaba1a44e844945edbb20436ce876f45afefa1202f890303faae2e8e75c78740c492dfa41cac9206fad0d900440d7931be935518f28e1a112d07524b98641
|
data/Rakefile
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
require
|
|
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
|
-
|
|
11
|
-
|
|
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
|
|
14
|
+
require "rake"
|
|
16
15
|
|
|
17
16
|
begin
|
|
18
|
-
require
|
|
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
|
data/lib/hanikamu/service.rb
CHANGED
|
@@ -6,33 +6,37 @@ require "dry-monads"
|
|
|
6
6
|
module Hanikamu
|
|
7
7
|
# :nodoc
|
|
8
8
|
class Service < Dry::Struct
|
|
9
|
-
|
|
9
|
+
extend Dry::Monads[:result]
|
|
10
10
|
Error = Class.new(StandardError)
|
|
11
11
|
|
|
12
12
|
class << self
|
|
13
13
|
def call(options = {})
|
|
14
|
-
|
|
15
|
-
rescue
|
|
16
|
-
|
|
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
|
-
|
|
25
|
-
def call
|
|
26
|
-
Success(call!)
|
|
27
|
-
rescue => e
|
|
28
|
-
return Failure(e) if whitelisted_error?(e.class)
|
|
25
|
+
private
|
|
29
26
|
|
|
30
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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.
|
|
4
|
+
version: 0.1.2
|
|
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:
|
|
12
|
+
date: 2022-03-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: dry-monads
|
|
@@ -95,8 +95,50 @@ dependencies:
|
|
|
95
95
|
- - "~>"
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
97
|
version: '3.0'
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
- !ruby/object:Gem::Dependency
|
|
99
|
+
name: rubocop
|
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
|
101
|
+
requirements:
|
|
102
|
+
- - ">"
|
|
103
|
+
- !ruby/object:Gem::Version
|
|
104
|
+
version: '1.25'
|
|
105
|
+
type: :development
|
|
106
|
+
prerelease: false
|
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
108
|
+
requirements:
|
|
109
|
+
- - ">"
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
version: '1.25'
|
|
112
|
+
- !ruby/object:Gem::Dependency
|
|
113
|
+
name: rubocop-performance
|
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - ">="
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '0'
|
|
119
|
+
type: :development
|
|
120
|
+
prerelease: false
|
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
+
requirements:
|
|
123
|
+
- - ">="
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: '0'
|
|
126
|
+
- !ruby/object:Gem::Dependency
|
|
127
|
+
name: rubocop-rspec
|
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
|
129
|
+
requirements:
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: '0'
|
|
133
|
+
type: :development
|
|
134
|
+
prerelease: false
|
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
136
|
+
requirements:
|
|
137
|
+
- - ">="
|
|
138
|
+
- !ruby/object:Gem::Version
|
|
139
|
+
version: '0'
|
|
140
|
+
description:
|
|
141
|
+
email:
|
|
100
142
|
executables: []
|
|
101
143
|
extensions: []
|
|
102
144
|
extra_rdoc_files: []
|
|
@@ -104,28 +146,28 @@ files:
|
|
|
104
146
|
- Rakefile
|
|
105
147
|
- lib/hanikamu-service.rb
|
|
106
148
|
- lib/hanikamu/service.rb
|
|
107
|
-
- lib/hanikamu/version.rb
|
|
108
149
|
homepage: https://github.com/Hanikamu/hanikamu-service
|
|
109
150
|
licenses:
|
|
110
151
|
- MIT
|
|
111
|
-
metadata:
|
|
112
|
-
|
|
152
|
+
metadata:
|
|
153
|
+
rubygems_mfa_required: 'true'
|
|
154
|
+
post_install_message:
|
|
113
155
|
rdoc_options: []
|
|
114
156
|
require_paths:
|
|
115
157
|
- lib
|
|
116
158
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
117
159
|
requirements:
|
|
118
|
-
- - "
|
|
160
|
+
- - ">="
|
|
119
161
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: '2.
|
|
162
|
+
version: '2.7'
|
|
121
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
164
|
requirements:
|
|
123
165
|
- - ">="
|
|
124
166
|
- !ruby/object:Gem::Version
|
|
125
167
|
version: '0'
|
|
126
168
|
requirements: []
|
|
127
|
-
rubygems_version: 3.1.
|
|
128
|
-
signing_key:
|
|
169
|
+
rubygems_version: 3.1.2
|
|
170
|
+
signing_key:
|
|
129
171
|
specification_version: 4
|
|
130
172
|
summary: This is the base service for all pattern designs used in hanikamu design
|
|
131
173
|
test_files: []
|
data/lib/hanikamu/version.rb
DELETED
|
File without changes
|