sorbet-result 0.1.0 → 0.1.1

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: 7ccd5a2608d32086b0266b9fe940859619017347dc299d05bb49378c621e804e
4
- data.tar.gz: 8fb081fd6236e7670de6e43e9703d4c37c6b64919710e80af9950de1233f2b17
3
+ metadata.gz: cff6b167022f8dd885a13ad6340e5c406790578043fb6ba236c26d9bec5497ec
4
+ data.tar.gz: 6233fa6e5ab9b956c7bc2f57ccc11bed9c594eb01fb69dba9ce6816906968efe
5
5
  SHA512:
6
- metadata.gz: 88e927e89b348ee44075411233d0d97c551b3be5cb37654189c838332803559aecf030d8780e2b668834bdec133154538b7fb7e92694c58d0ef05722cf4e7532
7
- data.tar.gz: 2fbaa5dba370f482ad70fe051ed75791b37478d446a225bb9af0f2eed51dcca9bd1b83e977e4e5826be827d5f75f64a9a3a708ee05e7de6dcc18ccc43be75354
6
+ metadata.gz: 105c454951452c5102a768d26a99b0b004aa5004d071eb377be2f28117cdf9ad39d6596e2fc98596e936a33d3f180f2753a7734c9e25dde3e5e184aa963f6e3d
7
+ data.tar.gz: 68146f7dbe9d72b97702d779825750a1e76d23b76ebd30cba6c1f9902fb9efdaab44f86847c126f4f5c54c9eebf1cab21a910f26361981ce3827054da3c56e32
data/CHANGELOG.md CHANGED
@@ -4,7 +4,15 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [Unreleased]
7
+ ## [0.1.1] - 2023-04-17
8
+
9
+ ### Changed
10
+
11
+ - Updated `T::Result` to be an abstract class, instead of an interface module.
12
+
13
+ ### Fixed
14
+
15
+ - `bin/console` now requires the correct file.
8
16
 
9
17
  ## [0.1.0] - 2023-04-17
10
18
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sorbet-result (0.1.0)
4
+ sorbet-result (0.1.1)
5
5
  sorbet-runtime
6
6
 
7
7
  GEM
@@ -28,7 +28,7 @@ GEM
28
28
  parser (>= 2.6.4.0)
29
29
  sorbet-runtime (>= 0.5.9204)
30
30
  unparser
31
- regexp_parser (2.7.0)
31
+ regexp_parser (2.8.0)
32
32
  reline (0.3.3)
33
33
  io-console (~> 0.5)
34
34
  rexml (3.2.5)
data/lib/t/failure.rb CHANGED
@@ -3,12 +3,10 @@
3
3
 
4
4
  module T
5
5
  # Represents a failed result. Contains error information but no payload.
6
- class Failure
6
+ class Failure < Result
7
7
  extend Sig
8
8
  extend Generic
9
9
 
10
- include Result
11
-
12
10
  Payload = type_member
13
11
  Error = type_member
14
12
 
@@ -18,6 +16,7 @@ module T
18
16
  sig { params(error: T.nilable(Error)).void }
19
17
  def initialize(error: nil)
20
18
  @error = error
19
+ super()
21
20
  end
22
21
 
23
22
  sig { override.returns(Boolean) }
data/lib/t/result.rb CHANGED
@@ -3,12 +3,12 @@
3
3
 
4
4
  module T
5
5
  # A monad representing either a success or a failure. Contains payload and error information as well.
6
- module Result
6
+ class Result
7
7
  extend Sig
8
8
  extend Helpers
9
9
  extend Generic
10
10
 
11
- interface!
11
+ abstract!
12
12
 
13
13
  Payload = type_member
14
14
  Error = type_member
data/lib/t/success.rb CHANGED
@@ -3,12 +3,10 @@
3
3
 
4
4
  module T
5
5
  # Represents a successful result. Contains a payload and no error information.
6
- class Success
6
+ class Success < Result
7
7
  extend Sig
8
8
  extend Generic
9
9
 
10
- include Result
11
-
12
10
  Payload = type_member
13
11
  Error = type_member
14
12
 
@@ -18,6 +16,7 @@ module T
18
16
  sig { params(payload: T.nilable(Payload)).void }
19
17
  def initialize(payload: nil)
20
18
  @payload = payload
19
+ super()
21
20
  end
22
21
 
23
22
  sig { override.returns(Boolean) }