functional-light-service 6.2.0 → 6.3.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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/functional-light-service.rb +6 -36
  3. metadata +14 -307
  4. data/.github/workflows/project-build.yml +0 -71
  5. data/.gitignore +0 -24
  6. data/.rspec +0 -3
  7. data/.rubocop.yml +0 -101
  8. data/.solargraph.yml +0 -11
  9. data/AUDIT-functional-light-service.md +0 -352
  10. data/Appraisals +0 -7
  11. data/CHANGELOG.md +0 -292
  12. data/CODE_OF_CONDUCT.md +0 -22
  13. data/Gemfile +0 -4
  14. data/LICENSE +0 -22
  15. data/README.md +0 -1663
  16. data/Rakefile +0 -12
  17. data/VERSION +0 -1
  18. data/audit/bench.rb +0 -99
  19. data/audit/verify_findings.rb +0 -172
  20. data/functional-light-service.gemspec +0 -35
  21. data/gemfiles/dry_inflector_0_2_1.gemfile +0 -5
  22. data/gemfiles/i18n_1_8_11.gemfile +0 -5
  23. data/lib/functional-light-service/action.rb +0 -145
  24. data/lib/functional-light-service/configuration.rb +0 -36
  25. data/lib/functional-light-service/context/key_verifier.rb +0 -124
  26. data/lib/functional-light-service/context.rb +0 -208
  27. data/lib/functional-light-service/deprecations.rb +0 -26
  28. data/lib/functional-light-service/errors.rb +0 -9
  29. data/lib/functional-light-service/functional/enum.rb +0 -286
  30. data/lib/functional-light-service/functional/maybe.rb +0 -21
  31. data/lib/functional-light-service/functional/monad.rb +0 -77
  32. data/lib/functional-light-service/functional/null.rb +0 -88
  33. data/lib/functional-light-service/functional/option.rb +0 -100
  34. data/lib/functional-light-service/functional/result.rb +0 -129
  35. data/lib/functional-light-service/functional/sequencer.rb +0 -144
  36. data/lib/functional-light-service/i18n/localization_adapter.rb +0 -50
  37. data/lib/functional-light-service/localization_adapter.rb +0 -39
  38. data/lib/functional-light-service/localization_map.rb +0 -9
  39. data/lib/functional-light-service/organizer/execute.rb +0 -16
  40. data/lib/functional-light-service/organizer/iterate.rb +0 -30
  41. data/lib/functional-light-service/organizer/reduce_case.rb +0 -50
  42. data/lib/functional-light-service/organizer/reduce_if.rb +0 -19
  43. data/lib/functional-light-service/organizer/reduce_if_else.rb +0 -23
  44. data/lib/functional-light-service/organizer/reduce_until.rb +0 -22
  45. data/lib/functional-light-service/organizer/reduce_while.rb +0 -31
  46. data/lib/functional-light-service/organizer/scoped_reducable.rb +0 -15
  47. data/lib/functional-light-service/organizer/with_callback.rb +0 -28
  48. data/lib/functional-light-service/organizer/with_reducer.rb +0 -81
  49. data/lib/functional-light-service/organizer/with_reducer_factory.rb +0 -20
  50. data/lib/functional-light-service/organizer/with_reducer_log_decorator.rb +0 -111
  51. data/lib/functional-light-service/organizer.rb +0 -129
  52. data/lib/functional-light-service/testing/context_factory.rb +0 -48
  53. data/lib/functional-light-service/testing.rb +0 -3
  54. data/lib/functional-light-service/version.rb +0 -5
  55. data/resources/fail_actions.png +0 -0
  56. data/resources/light-service.png +0 -0
  57. data/resources/organizer_and_actions.png +0 -0
  58. data/resources/skip_actions.png +0 -0
  59. data/spec/acceptance/add_numbers_spec.rb +0 -11
  60. data/spec/acceptance/after_actions_spec.rb +0 -87
  61. data/spec/acceptance/around_each_spec.rb +0 -19
  62. data/spec/acceptance/before_actions_spec.rb +0 -115
  63. data/spec/acceptance/custom_log_from_organizer_spec.rb +0 -61
  64. data/spec/acceptance/deprecation_warnings_spec.rb +0 -82
  65. data/spec/acceptance/fail_spec.rb +0 -52
  66. data/spec/acceptance/log_from_organizer_spec.rb +0 -154
  67. data/spec/acceptance/message_localization_spec.rb +0 -119
  68. data/spec/acceptance/organizer/add_aliases_spec.rb +0 -28
  69. data/spec/acceptance/organizer/add_to_context_spec.rb +0 -54
  70. data/spec/acceptance/organizer/around_each_with_reduce_if_spec.rb +0 -42
  71. data/spec/acceptance/organizer/context_failure_and_skipping_spec.rb +0 -90
  72. data/spec/acceptance/organizer/execute_spec.rb +0 -67
  73. data/spec/acceptance/organizer/iterate_spec.rb +0 -44
  74. data/spec/acceptance/organizer/reduce_case_spec.rb +0 -65
  75. data/spec/acceptance/organizer/reduce_if_else_spec.rb +0 -60
  76. data/spec/acceptance/organizer/reduce_if_spec.rb +0 -89
  77. data/spec/acceptance/organizer/reduce_until_spec.rb +0 -49
  78. data/spec/acceptance/organizer/reduce_while_spec.rb +0 -96
  79. data/spec/acceptance/organizer/with_callback_spec.rb +0 -113
  80. data/spec/acceptance/organizer_entry_point_spec.rb +0 -35
  81. data/spec/acceptance/rollback_spec.rb +0 -183
  82. data/spec/acceptance/skip_all_remaining_spec.rb +0 -139
  83. data/spec/acceptance/testing/context_factory_spec.rb +0 -54
  84. data/spec/action_expected_keys_spec.rb +0 -63
  85. data/spec/action_expects_and_promises_spec.rb +0 -97
  86. data/spec/action_optional_expected_keys_spec.rb +0 -107
  87. data/spec/action_promised_keys_spec.rb +0 -126
  88. data/spec/action_spec.rb +0 -97
  89. data/spec/context/inspect_spec.rb +0 -52
  90. data/spec/context_spec.rb +0 -301
  91. data/spec/examples/amount_spec.rb +0 -77
  92. data/spec/examples/controller_spec.rb +0 -63
  93. data/spec/examples/validate_address_spec.rb +0 -38
  94. data/spec/i18n_localization_adapter_spec.rb +0 -83
  95. data/spec/lib/deterministic/class_mixin_spec.rb +0 -24
  96. data/spec/lib/deterministic/currify_spec.rb +0 -90
  97. data/spec/lib/deterministic/monad_axioms.rb +0 -46
  98. data/spec/lib/deterministic/monad_spec.rb +0 -47
  99. data/spec/lib/deterministic/null_spec.rb +0 -65
  100. data/spec/lib/deterministic/option_spec.rb +0 -140
  101. data/spec/lib/deterministic/result/failure_spec.rb +0 -65
  102. data/spec/lib/deterministic/result/result_map_spec.rb +0 -155
  103. data/spec/lib/deterministic/result/result_shared.rb +0 -25
  104. data/spec/lib/deterministic/result/success_spec.rb +0 -41
  105. data/spec/lib/deterministic/result_spec.rb +0 -63
  106. data/spec/lib/deterministic/sequencer_spec.rb +0 -506
  107. data/spec/lib/edge_cases_spec.rb +0 -156
  108. data/spec/lib/enum_spec.rb +0 -114
  109. data/spec/lib/native_pattern_matching_spec.rb +0 -74
  110. data/spec/localization_adapter_spec.rb +0 -66
  111. data/spec/organizer/with_reducer_spec.rb +0 -56
  112. data/spec/organizer_key_aliases_spec.rb +0 -29
  113. data/spec/organizer_spec.rb +0 -115
  114. data/spec/readme_spec.rb +0 -45
  115. data/spec/sample/calculates_order_tax_action_spec.rb +0 -16
  116. data/spec/sample/calculates_tax_spec.rb +0 -30
  117. data/spec/sample/looks_up_tax_percentage_action_spec.rb +0 -55
  118. data/spec/sample/provides_free_shipping_action_spec.rb +0 -25
  119. data/spec/sample/tax/calculates_order_tax_action.rb +0 -10
  120. data/spec/sample/tax/calculates_tax.rb +0 -11
  121. data/spec/sample/tax/looks_up_tax_percentage_action.rb +0 -28
  122. data/spec/sample/tax/provides_free_shipping_action.rb +0 -11
  123. data/spec/spec_helper.rb +0 -32
  124. data/spec/support.rb +0 -1
  125. data/spec/test_doubles.rb +0 -656
  126. data/spec/testing/context_factory/iterate_spec.rb +0 -39
  127. data/spec/testing/context_factory/reduce_if_spec.rb +0 -40
  128. data/spec/testing/context_factory/reduce_until_spec.rb +0 -40
  129. data/spec/testing/context_factory/with_callback_spec.rb +0 -38
  130. data/spec/testing/context_factory_spec.rb +0 -76
@@ -1,40 +0,0 @@
1
- require 'spec_helper'
2
- require 'test_doubles'
3
-
4
- RSpec.describe 'ContextFactory - used with ReduceIfOrganizer' do
5
- let(:organizer) { TestDoubles::ReduceIfOrganizer }
6
-
7
- context 'when called with a truthy argument action' do
8
- it 'executes a context up-to the callback action' do
9
- ctx =
10
- FunctionalLightService::Testing::ContextFactory
11
- .make_from(organizer)
12
- .for(TestDoubles::AddsThreeAction)
13
- .with(:number => 1)
14
-
15
- expect(ctx.number).to eq(4)
16
- end
17
-
18
- it 'creates a context up-to action with empty context steps' do
19
- ctx =
20
- FunctionalLightService::Testing::ContextFactory
21
- .make_from(organizer)
22
- .for(TestDoubles::AddsTwoAction)
23
- .with(:number => 1)
24
-
25
- expect(ctx.number).to eq(2)
26
- end
27
- end
28
-
29
- context 'when called with a false argument action' do
30
- it 'does not execute the steps' do
31
- ctx =
32
- FunctionalLightService::Testing::ContextFactory
33
- .make_from(organizer)
34
- .for(TestDoubles::AddsThreeAction)
35
- .with(:number => 0)
36
-
37
- expect(ctx.number).to eq(1)
38
- end
39
- end
40
- end
@@ -1,40 +0,0 @@
1
- require 'spec_helper'
2
- require 'test_doubles'
3
-
4
- RSpec.describe 'ContextFactory - used with ReduceUntilOrganizer' do
5
- let(:organizer) { TestDoubles::ReduceUntilOrganizer }
6
-
7
- context 'when called with truthy block' do
8
- it 'creates a context up-to the action defined before the iteration' do
9
- ctx =
10
- FunctionalLightService::Testing::ContextFactory
11
- .make_from(organizer)
12
- .for(TestDoubles::AddsTwoAction)
13
- .with(:number => 1)
14
-
15
- expect(ctx[:number]).to eq(2)
16
- end
17
-
18
- it 'creates a context only to the first step of the loop' do
19
- ctx =
20
- FunctionalLightService::Testing::ContextFactory
21
- .make_from(organizer)
22
- .for(TestDoubles::AddsThreeAction)
23
- .with(:number => 1)
24
-
25
- expect(ctx.number).to eq(4)
26
- end
27
- end
28
-
29
- context 'when called with falsey block' do
30
- it 'creates a context up-to the first step' do
31
- ctx =
32
- FunctionalLightService::Testing::ContextFactory
33
- .make_from(organizer)
34
- .for(TestDoubles::AddsThreeAction)
35
- .with(:number => 7)
36
-
37
- expect(ctx[:number]).to eq(10)
38
- end
39
- end
40
- end
@@ -1,38 +0,0 @@
1
- require 'spec_helper'
2
- require 'test_doubles'
3
-
4
- RSpec.describe 'ContextFactory - used with CallbackOrganizer' do
5
- let(:organizer) { TestDoubles::CallbackOrganizer }
6
-
7
- context 'when called with the callback action' do
8
- it 'creates a context up-to the callback action' do
9
- ctx =
10
- FunctionalLightService::Testing::ContextFactory
11
- .make_from(organizer)
12
- .for(TestDoubles::AddTenCallbackAction)
13
- .with(:number => 1)
14
-
15
- expect(ctx.number).to eq(2)
16
- end
17
-
18
- it 'creates a context up-to callback action with empty context steps' do
19
- ctx =
20
- FunctionalLightService::Testing::ContextFactory
21
- .make_from(organizer)
22
- .for(TestDoubles::AddsTwoAction)
23
- .with(:number => 1)
24
-
25
- expect(ctx.number).to eq(12)
26
- end
27
-
28
- it 'creates a context up-to the action defined in context steps' do
29
- ctx =
30
- FunctionalLightService::Testing::ContextFactory
31
- .make_from(organizer)
32
- .for(TestDoubles::AddsThreeAction)
33
- .with(:number => 1)
34
-
35
- expect(ctx.number).to eq(14)
36
- end
37
- end
38
- end
@@ -1,76 +0,0 @@
1
- require "spec_helper"
2
- require "test_doubles"
3
-
4
- describe "ContextFactory - used with AdditionOrganizer" do
5
- let(:organizer) { TestDoubles::AdditionOrganizer }
6
-
7
- after do
8
- TestDoubles::AdditionOrganizer.before_actions = nil
9
- end
10
-
11
- context "when called with the first action" do
12
- it "does not alter the context" do
13
- ctx = FunctionalLightService::Testing::ContextFactory
14
- .make_from(organizer)
15
- .for(TestDoubles::AddsOneAction)
16
- .with(1)
17
-
18
- expect(ctx[:number]).to eq(1)
19
- end
20
- end
21
-
22
- context "when called with the second action" do
23
- it "adds one to the number provided" do
24
- ctx = FunctionalLightService::Testing::ContextFactory
25
- .make_from(organizer)
26
- .for(TestDoubles::AddsTwoAction)
27
- .with(1)
28
-
29
- expect(ctx.number).to eq(2)
30
- end
31
- end
32
-
33
- context "when called with third action" do
34
- it "creates a context up-to the action defined" do
35
- ctx = FunctionalLightService::Testing::ContextFactory
36
- .make_from(organizer)
37
- .for(TestDoubles::AddsThreeAction)
38
- .with(1)
39
-
40
- expect(ctx.number).to eq(4)
41
- end
42
- end
43
-
44
- context "when there are already before_actions" do
45
- it "only appends before_actions" do
46
- TestDoubles::AdditionOrganizer.before_actions = [
47
- ->(ctx) { ctx[:number] += 1 if ctx.current_action == TestDoubles::AddsTwoAction }
48
- ]
49
-
50
- context = FunctionalLightService::Testing::ContextFactory
51
- .make_from(TestDoubles::AdditionOrganizer)
52
- .for(TestDoubles::AddsThreeAction)
53
- .with(4) # Context is a "glorified" hash
54
-
55
- expect(context.number).to eq(8)
56
- expect(context[:_before_actions].length).to eq(1)
57
- end
58
- end
59
-
60
- context "when used repeatedly" do
61
- it "does not leave its temporary hook on the organizer class" do
62
- 2.times do
63
- FunctionalLightService::Testing::ContextFactory
64
- .make_from(organizer)
65
- .for(TestDoubles::AddsTwoAction)
66
- .with(1)
67
- end
68
-
69
- hooks = organizer.instance_variable_get(:@before_actions)
70
- expect(hooks.nil? || hooks.empty?).to be(true)
71
-
72
- # e l'organizer continua a funzionare normalmente
73
- expect(organizer.call(1).fetch(:number)).to eq(7)
74
- end
75
- end
76
- end