bcdd-result 0.12.0 → 0.13.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +16 -1
  3. data/CHANGELOG.md +70 -16
  4. data/README.md +293 -83
  5. data/Steepfile +4 -4
  6. data/examples/multiple_listeners/Rakefile +55 -0
  7. data/examples/multiple_listeners/app/models/account/member.rb +10 -0
  8. data/examples/multiple_listeners/app/models/account/owner_creation.rb +62 -0
  9. data/examples/multiple_listeners/app/models/account.rb +11 -0
  10. data/examples/multiple_listeners/app/models/user/creation.rb +67 -0
  11. data/examples/multiple_listeners/app/models/user/token/creation.rb +51 -0
  12. data/examples/multiple_listeners/app/models/user/token.rb +7 -0
  13. data/examples/multiple_listeners/app/models/user.rb +15 -0
  14. data/examples/multiple_listeners/config/boot.rb +16 -0
  15. data/examples/multiple_listeners/config/initializers/bcdd.rb +11 -0
  16. data/examples/multiple_listeners/config.rb +27 -0
  17. data/examples/multiple_listeners/db/setup.rb +61 -0
  18. data/examples/multiple_listeners/lib/bcdd/result/rollback_on_failure.rb +15 -0
  19. data/examples/multiple_listeners/lib/bcdd/result/transitions_record.rb +28 -0
  20. data/examples/multiple_listeners/lib/runtime_breaker.rb +11 -0
  21. data/examples/multiple_listeners/lib/transitions_listener/stdout.rb +54 -0
  22. data/examples/single_listener/Rakefile +92 -0
  23. data/examples/single_listener/app/models/account/member.rb +10 -0
  24. data/examples/single_listener/app/models/account/owner_creation.rb +62 -0
  25. data/examples/single_listener/app/models/account.rb +11 -0
  26. data/examples/single_listener/app/models/user/creation.rb +67 -0
  27. data/examples/single_listener/app/models/user/token/creation.rb +51 -0
  28. data/examples/single_listener/app/models/user/token.rb +7 -0
  29. data/examples/single_listener/app/models/user.rb +15 -0
  30. data/examples/single_listener/config/boot.rb +16 -0
  31. data/examples/single_listener/config/initializers/bcdd.rb +11 -0
  32. data/examples/single_listener/config.rb +23 -0
  33. data/examples/single_listener/db/setup.rb +49 -0
  34. data/examples/single_listener/lib/bcdd/result/rollback_on_failure.rb +15 -0
  35. data/examples/single_listener/lib/runtime_breaker.rb +11 -0
  36. data/examples/single_listener/lib/single_transitions_listener.rb +108 -0
  37. data/lib/bcdd/result/callable_and_then/caller.rb +1 -1
  38. data/lib/bcdd/result/config.rb +6 -1
  39. data/lib/bcdd/result/context/expectations/mixin.rb +2 -2
  40. data/lib/bcdd/result/context/mixin.rb +2 -2
  41. data/lib/bcdd/result/context/success.rb +20 -2
  42. data/lib/bcdd/result/contract/for_types.rb +1 -1
  43. data/lib/bcdd/result/contract/for_types_and_values.rb +2 -0
  44. data/lib/bcdd/result/expectations/mixin.rb +2 -2
  45. data/lib/bcdd/result/ignored_types.rb +14 -0
  46. data/lib/bcdd/result/mixin.rb +2 -2
  47. data/lib/bcdd/result/transitions/config.rb +26 -0
  48. data/lib/bcdd/result/transitions/listener.rb +51 -0
  49. data/lib/bcdd/result/transitions/listeners.rb +87 -0
  50. data/lib/bcdd/result/transitions/tracking/disabled.rb +1 -13
  51. data/lib/bcdd/result/transitions/tracking/enabled.rb +76 -17
  52. data/lib/bcdd/result/transitions/tracking.rb +8 -3
  53. data/lib/bcdd/result/transitions/tree.rb +26 -0
  54. data/lib/bcdd/result/transitions.rb +3 -4
  55. data/lib/bcdd/result/version.rb +1 -1
  56. data/lib/bcdd/result.rb +7 -5
  57. data/sig/bcdd/result/config.rbs +1 -0
  58. data/sig/bcdd/result/context.rbs +9 -0
  59. data/sig/bcdd/result/ignored_types.rbs +9 -0
  60. data/sig/bcdd/result/transitions.rbs +96 -7
  61. data/sig/bcdd/result.rbs +2 -2
  62. metadata +42 -6
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcdd-result
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Serradura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-08 00:00:00.000000000 Z
11
+ date: 2024-02-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Empower Ruby apps with pragmatic use of Result pattern (monad), Railway
14
- Oriented Programming, and B/CDD.
13
+ description: Unleash a pragmatic and observable use of Result Pattern and Railway-Oriented
14
+ Programming in Ruby.
15
15
  email:
16
16
  - rodrigo.serradura@gmail.com
17
17
  executables: []
@@ -26,6 +26,37 @@ files:
26
26
  - README.md
27
27
  - Rakefile
28
28
  - Steepfile
29
+ - examples/multiple_listeners/Rakefile
30
+ - examples/multiple_listeners/app/models/account.rb
31
+ - examples/multiple_listeners/app/models/account/member.rb
32
+ - examples/multiple_listeners/app/models/account/owner_creation.rb
33
+ - examples/multiple_listeners/app/models/user.rb
34
+ - examples/multiple_listeners/app/models/user/creation.rb
35
+ - examples/multiple_listeners/app/models/user/token.rb
36
+ - examples/multiple_listeners/app/models/user/token/creation.rb
37
+ - examples/multiple_listeners/config.rb
38
+ - examples/multiple_listeners/config/boot.rb
39
+ - examples/multiple_listeners/config/initializers/bcdd.rb
40
+ - examples/multiple_listeners/db/setup.rb
41
+ - examples/multiple_listeners/lib/bcdd/result/rollback_on_failure.rb
42
+ - examples/multiple_listeners/lib/bcdd/result/transitions_record.rb
43
+ - examples/multiple_listeners/lib/runtime_breaker.rb
44
+ - examples/multiple_listeners/lib/transitions_listener/stdout.rb
45
+ - examples/single_listener/Rakefile
46
+ - examples/single_listener/app/models/account.rb
47
+ - examples/single_listener/app/models/account/member.rb
48
+ - examples/single_listener/app/models/account/owner_creation.rb
49
+ - examples/single_listener/app/models/user.rb
50
+ - examples/single_listener/app/models/user/creation.rb
51
+ - examples/single_listener/app/models/user/token.rb
52
+ - examples/single_listener/app/models/user/token/creation.rb
53
+ - examples/single_listener/config.rb
54
+ - examples/single_listener/config/boot.rb
55
+ - examples/single_listener/config/initializers/bcdd.rb
56
+ - examples/single_listener/db/setup.rb
57
+ - examples/single_listener/lib/bcdd/result/rollback_on_failure.rb
58
+ - examples/single_listener/lib/runtime_breaker.rb
59
+ - examples/single_listener/lib/single_transitions_listener.rb
29
60
  - lib/bcdd-result.rb
30
61
  - lib/bcdd/result.rb
31
62
  - lib/bcdd/result/callable_and_then.rb
@@ -62,10 +93,14 @@ files:
62
93
  - lib/bcdd/result/failure/methods.rb
63
94
  - lib/bcdd/result/handler.rb
64
95
  - lib/bcdd/result/handler/allowed_types.rb
96
+ - lib/bcdd/result/ignored_types.rb
65
97
  - lib/bcdd/result/mixin.rb
66
98
  - lib/bcdd/result/success.rb
67
99
  - lib/bcdd/result/success/methods.rb
68
100
  - lib/bcdd/result/transitions.rb
101
+ - lib/bcdd/result/transitions/config.rb
102
+ - lib/bcdd/result/transitions/listener.rb
103
+ - lib/bcdd/result/transitions/listeners.rb
69
104
  - lib/bcdd/result/transitions/tracking.rb
70
105
  - lib/bcdd/result/transitions/tracking/disabled.rb
71
106
  - lib/bcdd/result/transitions/tracking/enabled.rb
@@ -80,6 +115,7 @@ files:
80
115
  - sig/bcdd/result/error.rbs
81
116
  - sig/bcdd/result/expectations.rbs
82
117
  - sig/bcdd/result/handler.rbs
118
+ - sig/bcdd/result/ignored_types.rbs
83
119
  - sig/bcdd/result/mixin.rbs
84
120
  - sig/bcdd/result/transitions.rbs
85
121
  - sig/bcdd/result/version.rbs
@@ -110,6 +146,6 @@ requirements: []
110
146
  rubygems_version: 3.5.3
111
147
  signing_key:
112
148
  specification_version: 4
113
- summary: Empower Ruby apps with pragmatic use of Result pattern (monad), Railway Oriented
114
- Programming, and B/CDD.
149
+ summary: Unleash a pragmatic and observable use of Result Pattern and Railway-Oriented
150
+ Programming in Ruby.
115
151
  test_files: []