smart_core 0.5.1 → 0.5.2

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: '098bc7f0d0796b2f21e223aca8eb463de3a6d2c1aeb0327380605c85a01ef5e2'
4
- data.tar.gz: a25e84c53d4c5d26a33b7d8502a844da144c47b156743436b148e2f362b3f9cc
3
+ metadata.gz: c08a93088fea508e62a40c0f7cd403b5f4b660372a3254453cd61be4a05a6635
4
+ data.tar.gz: ba732416c5af24d0aed8d685abb5b21fc76798a56af92aa1ad12d5d4d6da6a31
5
5
  SHA512:
6
- metadata.gz: aea0166851829b3001e93bde225120fb4dcd5a3a2dda34d76e01a12b6eb98b124b28e3eddeacf4d8cd4a285095a832e78f03fa45273d4046e993e999a743468e
7
- data.tar.gz: e2d70a67158a59b54c5f62467b53a39a35e451ecbaefa5e952c9152cb7b92319e9b487f1362d66a3c8c168cddb1c5638f136717ef736a2ebd18587d91c2a537b
6
+ metadata.gz: 45bbc699159a5f9b45e84f7e4c7389bf0c64a727826156f2061bfc5b8aca514832ef8af02dbdd3623dd35da52c7395155f48ae013cef2771535b088880113de1
7
+ data.tar.gz: 824492f55c4329b76bae550a8e280e235d78d79661ecab2c8cba362d80ed4d58adab77fbd7ff84c30a44ccfe0642285e65eaaa17332e92b5c543376eeffb9dd0
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [0.5.2] - 2019-06-05
5
+ ### Added
6
+ - Common Result Object interface (realized as a mixin (`SmartCore::Operation::ResultInterface`))
7
+
4
8
  ## [0.5.1] - 2019-06-04
5
9
  ### Added
6
10
  - Support for `Symobl` type definition in `SmartCore::Initializer`
@@ -11,10 +11,13 @@ class SmartCore::Operation
11
11
  require_relative 'operation/success'
12
12
  require_relative 'operation/failure'
13
13
  require_relative 'operation/fatal'
14
+ require_relative 'operation/result_interface'
14
15
  require_relative 'operation/instance_builder'
15
16
 
16
17
  # @since 0.5.0
17
18
  include SmartCore::Initializer
19
+ # @since 0.6.0
20
+ include SmartCore::Operation::ResultInterface
18
21
 
19
22
  # @since 0.5.0
20
23
  extend_initialization_flow do |operation|
@@ -46,35 +49,4 @@ class SmartCore::Operation
46
49
  def call
47
50
  Success()
48
51
  end
49
-
50
- private
51
-
52
- # @param result_data [Hash<Symbol,Any>]
53
- # @return [SmartCore::Operation::Success]
54
- #
55
- # @api public
56
- # @since 0.2.0
57
- def Success(**result_data) # rubocop:disable Naming/MethodName
58
- SmartCore::Operation::Success.new(**result_data)
59
- end
60
-
61
- # @param errors [Array<Symbol|Any>]
62
- # @return [SmartCore::Operation::Failure]
63
- #
64
- # @api public
65
- # @since 0.2.0
66
- def Failure(*errors) # rubocop:disable Naming/MethodName
67
- SmartCore::Operation::Failure.new(*errors)
68
- end
69
-
70
- # @param errors [Array<Symbol|Any>]
71
- # @return [SmartCore::Operation::Fatal]
72
- #
73
- # @raise [SmartCore::Operation::FatalError]
74
- #
75
- # @api public
76
- # @since 0.2.0
77
- def Fatal(*errors) # rubocop:disable Naming/MethodName
78
- raise SmartCore::Operation::Fatal.new(*errors)
79
- end
80
52
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api public
4
+ # @since 0.5.2
5
+ module SmartCore::Operation::ResultInterface
6
+ # @param result_data [Hash<Symbol,Any>]
7
+ # @return [SmartCore::Operation::Success]
8
+ #
9
+ # @api public
10
+ # @since 0.5.2
11
+ def Success(**result_data) # rubocop:disable Naming/MethodName
12
+ SmartCore::Operation::Success.new(**result_data)
13
+ end
14
+
15
+ # @param errors [Array<Symbol|Any>]
16
+ # @return [SmartCore::Operation::Failure]
17
+ #
18
+ # @api public
19
+ # @since 0.5.2
20
+ def Failure(*errors) # rubocop:disable Naming/MethodName
21
+ SmartCore::Operation::Failure.new(*errors)
22
+ end
23
+
24
+ # @param errors [Array<Symbol|Any>]
25
+ # @return [SmartCore::Operation::Fatal]
26
+ #
27
+ # @raise [SmartCore::Operation::FatalError]
28
+ #
29
+ # @api public
30
+ # @since 0.5.2
31
+ def Fatal(*errors) # rubocop:disable Naming/MethodName
32
+ raise SmartCore::Operation::Fatal.new(*errors)
33
+ end
34
+ end
@@ -5,5 +5,5 @@ module SmartCore
5
5
  #
6
6
  # @api public
7
7
  # @since 0.1.0
8
- VERSION = '0.5.1'
8
+ VERSION = '0.5.2'
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-04 00:00:00.000000000 Z
11
+ date: 2019-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
@@ -176,6 +176,7 @@ files:
176
176
  - lib/smart_core/operation/fatal.rb
177
177
  - lib/smart_core/operation/instance_builder.rb
178
178
  - lib/smart_core/operation/result.rb
179
+ - lib/smart_core/operation/result_interface.rb
179
180
  - lib/smart_core/operation/state.rb
180
181
  - lib/smart_core/operation/step.rb
181
182
  - lib/smart_core/operation/step_set.rb