hanikamu-service 0.1.1 → 0.1.2

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: 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