hanikamu-service 0.1.1 → 0.1.3

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