dry-monads 1.6.0 → 1.7.0

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.
@@ -39,13 +39,11 @@ module Dry
39
39
  # Returns self.
40
40
  #
41
41
  # @return [Validated::Valid, Validated::Invalid]
42
- def to_monad
43
- self
44
- end
42
+ def to_monad = self
45
43
 
46
44
  # Bind/flat_map is not implemented
47
45
  #
48
- def bind(*)
46
+ def bind(...)
49
47
  # See https://typelevel.org/cats/datatypes/validated.html for details on why
50
48
  raise NotImplementedError,
51
49
  "Validated is not a monad because it would violate the monad laws"
@@ -65,9 +63,7 @@ module Dry
65
63
  # Extracts the value
66
64
  #
67
65
  # @return [Object]
68
- def value!
69
- @value
70
- end
66
+ def value! = @value
71
67
 
72
68
  # Applies another Valid to the stored function
73
69
  #
@@ -85,8 +81,8 @@ module Dry
85
81
  # @yieldreturn [Validated::Valid,Validated::Invalid]
86
82
  # @return [Validated::Valid,Validated::Invalid]
87
83
  #
88
- def apply(val = Undefined, &block)
89
- Undefined.default(val, &block).fmap(Curry.(value!))
84
+ def apply(val = Undefined, &)
85
+ Undefined.default(val, &).fmap(Curry.(value!))
90
86
  end
91
87
 
92
88
  # Lifts a block/proc over Valid
@@ -107,16 +103,12 @@ module Dry
107
103
  # Ignores values and returns self, see {Invalid#alt_map}
108
104
  #
109
105
  # @return [Validated::Valid]
110
- def alt_map(_ = nil)
111
- self
112
- end
106
+ def alt_map(_ = nil) = self
113
107
 
114
108
  # Ignores arguments, returns self
115
109
  #
116
110
  # @return [Validated::Valid]
117
- def or(_ = nil)
118
- self
119
- end
111
+ def or(_ = nil) = self
120
112
 
121
113
  # @return [String]
122
114
  def inspect
@@ -193,9 +185,7 @@ module Dry
193
185
  # Ignores the passed argument and returns self
194
186
  #
195
187
  # @return [Validated::Invalid]
196
- def fmap(_ = nil)
197
- self
198
- end
188
+ def fmap(_ = nil) = self
199
189
 
200
190
  # Yields the given callable and returns the result
201
191
  #
@@ -212,9 +202,7 @@ module Dry
212
202
  end
213
203
 
214
204
  # @return [String]
215
- def inspect
216
- "Invalid(#{@error.inspect})"
217
- end
205
+ def inspect = "Invalid(#{@error.inspect})"
218
206
  alias_method :to_s, :inspect
219
207
 
220
208
  # @param other [Object]
@@ -289,18 +277,14 @@ module Dry
289
277
  # Transforms to Validated
290
278
  #
291
279
  # @return [Validated::Valid]
292
- def to_validated
293
- Validated::Valid.new(value!)
294
- end
280
+ def to_validated = Validated::Valid.new(value!)
295
281
  end
296
282
 
297
283
  class Failure < Result
298
284
  # Transforms to Validated
299
285
  #
300
286
  # @return [Validated::Invalid]
301
- def to_validated
302
- Validated::Invalid.new(failure, trace)
303
- end
287
+ def to_validated = Validated::Invalid.new(failure, trace)
304
288
  end
305
289
  end
306
290
 
@@ -3,6 +3,6 @@
3
3
  module Dry
4
4
  module Monads
5
5
  # Gem version
6
- VERSION = "1.6.0"
6
+ VERSION = "1.7.0"
7
7
  end
8
8
  end
data/lib/dry/monads.rb CHANGED
@@ -14,10 +14,10 @@ module Dry
14
14
  module Monads
15
15
  # @api private
16
16
  def self.loader
17
- @loader ||= Zeitwerk::Loader.new.tap do |loader|
18
- root = File.expand_path("..", __dir__)
17
+ @loader ||= ::Zeitwerk::Loader.new.tap do |loader|
18
+ root = ::File.expand_path("..", __dir__)
19
19
  loader.tag = "dry-monads"
20
- loader.inflector = Zeitwerk::GemInflector.new("#{root}/dry-monads.rb")
20
+ loader.inflector = ::Zeitwerk::GemInflector.new("#{root}/dry-monads.rb")
21
21
  loader.push_dir(root)
22
22
  loader.ignore(
23
23
  "#{root}/dry-monads.rb",
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: false
2
2
 
3
- require "json" unless defined?(::JSON::JSON_LOADED) && ::JSON::JSON_LOADED
3
+ require "json" unless defined?(JSON::JSON_LOADED) && JSON::JSON_LOADED
4
4
 
5
5
  require "dry/monads"
6
6
 
@@ -17,7 +17,7 @@ module Dry
17
17
 
18
18
  # Returns a hash, that will be turned into a JSON object and represent this
19
19
  # object.
20
- def as_json(*)
20
+ def as_json(*, **)
21
21
  {
22
22
  JSON.create_id => self.class.name,
23
23
  value: none? ? nil : @value
@@ -26,9 +26,7 @@ module Dry
26
26
 
27
27
  # Stores class name (Dry::Monads::Maybe::Some or Dry::Monads::Maybe::None)
28
28
  # with the monad value as JSON string
29
- def to_json(...)
30
- as_json.to_json(...)
31
- end
29
+ def to_json(...) = as_json.to_json(...)
32
30
  end
33
31
  end
34
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-monads
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikita Shilnikov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-04 00:00:00.000000000 Z
11
+ date: 2025-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -30,20 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '2'
33
+ version: '1.1'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '1.0'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '2'
40
+ version: '1.1'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: zeitwerk
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,48 +52,6 @@ dependencies:
58
52
  - - "~>"
59
53
  - !ruby/object:Gem::Version
60
54
  version: '2.6'
61
- - !ruby/object:Gem::Dependency
62
- name: bundler
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
- - !ruby/object:Gem::Dependency
76
- name: rake
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- - !ruby/object:Gem::Dependency
90
- name: rspec
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
55
  description: Common monads for Ruby
104
56
  email:
105
57
  - fg@flashgordon.ru
@@ -144,7 +96,8 @@ metadata:
144
96
  changelog_uri: https://github.com/dry-rb/dry-monads/blob/main/CHANGELOG.md
145
97
  source_code_uri: https://github.com/dry-rb/dry-monads
146
98
  bug_tracker_uri: https://github.com/dry-rb/dry-monads/issues
147
- post_install_message:
99
+ rubygems_mfa_required: 'true'
100
+ post_install_message:
148
101
  rdoc_options: []
149
102
  require_paths:
150
103
  - lib
@@ -152,15 +105,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
105
  requirements:
153
106
  - - ">="
154
107
  - !ruby/object:Gem::Version
155
- version: 2.7.0
108
+ version: 3.1.0
156
109
  required_rubygems_version: !ruby/object:Gem::Requirement
157
110
  requirements:
158
111
  - - ">="
159
112
  - !ruby/object:Gem::Version
160
113
  version: '0'
161
114
  requirements: []
162
- rubygems_version: 3.1.6
163
- signing_key:
115
+ rubygems_version: 3.3.27
116
+ signing_key:
164
117
  specification_version: 4
165
118
  summary: Common monads for Ruby
166
119
  test_files: []