bcdd-result 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
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: []