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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 111ccc8519265b9428bc35c039ccf20a5cea32dc25769dac2919e69beb18994c
4
- data.tar.gz: c0dae0d07f74f3e4f94410bc26f7e26c19d74d4c67fe5c5ee9a0e134c966d1d9
3
+ metadata.gz: 845cbcc2bd820b66c2fbf7699f2e2915a7da8114f1dc1182113697abc2af6abe
4
+ data.tar.gz: a74e58d2d027cdb1877b927d663364bdab3b502af7d1cfb5761b5e60b5fe98f0
5
5
  SHA512:
6
- metadata.gz: 36459fd99d5946d2b57c749a421d607b96ef6f0bc1242bc552ab7266d377ed157c9578ad1223a124dba533ee2da60423a86beeca4492542d9289976599c1476a
7
- data.tar.gz: bc789c97af90b4b8980a2384670f0f57b02a39d454be6db21b2db046825837aed48d009bd46062d7840b6548361bdefd61ec65984aabe30fe449b20339ce9761
6
+ metadata.gz: a8170288d581bd4fcb36155c22c5d6a3c85326e3240c4dbacb26f0c2525f7af00dfd6268f87952ccc5af5e3d30b6dab651da9256a6415b175162e00a2b0fa7c5
7
+ data.tar.gz: 0b8aaba1a44e844945edbb20436ce876f45afefa1202f890303faae2e8e75c78740c492dfa41cac9206fad0d900440d7931be935518f28e1a112d07524b98641
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.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: 2021-08-04 00:00:00.000000000 Z
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
- description:
99
- email:
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
- post_install_message:
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.5'
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.4
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: []
File without changes