cuban_linx 1.0.1 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9c0733e1cd979ff0fff600b08ceac8499b600f5df11be54a6c36dadf0cedc7e
4
- data.tar.gz: '099f2ec34692805b8b37cf2f33cebad5e1b7278cb8a66ed58c7d9eb5d8e7a1b1'
3
+ metadata.gz: 69827f91b3ca22877c94f9eb12acffcfe2821f0b0e74f4b34b6720ef96291050
4
+ data.tar.gz: 3533ba6435f9c87b193592243e76623dff0dbb62f180bb9ce0ef0dbfc70e8707
5
5
  SHA512:
6
- metadata.gz: 3632e4b5004e08e865ba8e627338e2e1db4006b1d9819d98ebc75a4ac5afa5d0620853994d2236cc7a7f79cc3aa45d892a3f3d24de1be4efa2631ac325acffcd
7
- data.tar.gz: 74e01e3d30debd14581269c772cefb88f6c83b857d8f79e6a3eb2998445351bb427401ab8e833e74ae42452fc1d734247c3ea4911d1ae8c60017181830f05fc3
6
+ metadata.gz: c918ef41257308ec9cb51ce335a230e223f0562bc62d5c92531a88837f8eb498b064cd691b4864ccea0c8cd227af632281e65a2cbb6c8e8e17d89d087969f181
7
+ data.tar.gz: 5d723ae40836a3f172355c2a870318e161e0fca36d7b06d7e3700067e35fb0cfe317eb13a68eb4facd4272d0bbdf27ef93abbfed8edb53e739d40c75532fb4d2
@@ -6,10 +6,11 @@ module CubanLinx
6
6
  end
7
7
  end
8
8
 
9
- def call(**initial_args, &block)
10
- function_chain.reduce(Payload.new(:ok, initial_args),
11
- &reducer).as_result.then do |result|
12
- block_given? ? block.call(result) : result
9
+ def call(status = :ok, messages = {}, errors = {})
10
+ Payload.new(status, messages, errors).then do |payload|
11
+ function_chain.reduce(payload, &reducer).then do |result|
12
+ block_given? ? yield(result) : result.tuple
13
+ end
13
14
  end
14
15
  end
15
16
 
@@ -19,6 +19,14 @@ module CubanLinx
19
19
  end
20
20
  end
21
21
 
22
+ def ok?
23
+ status == :ok
24
+ end
25
+
26
+ def error?
27
+ status == :error
28
+ end
29
+
22
30
  def tuple
23
31
  [status, messages, errors]
24
32
  end
@@ -86,6 +94,6 @@ module CubanLinx
86
94
  end
87
95
  }
88
96
  end
89
- # rubocop:enable Metrics/MethodLength
97
+ # rubocop:disable Metrics/MethodLength
90
98
  end
91
99
  end
data/lib/version.rb CHANGED
@@ -1 +1 @@
1
- VERSION = "1.0.1".freeze
1
+ VERSION = "1.1.0".freeze
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuban_linx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Moret
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-25 00:00:00.000000000 Z
11
+ date: 2023-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faker
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubygems_version: 3.2.15
87
+ rubygems_version: 3.4.1
88
88
  signing_key:
89
89
  specification_version: 4
90
90
  summary: Chainable functions