functional-light-service 6.1.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 (119) hide show
  1. checksums.yaml +4 -4
  2. data/lib/functional-light-service.rb +6 -31
  3. metadata +15 -297
  4. data/.github/workflows/project-build.yml +0 -71
  5. data/.gitignore +0 -22
  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 -273
  12. data/CODE_OF_CONDUCT.md +0 -22
  13. data/Gemfile +0 -4
  14. data/LICENSE +0 -22
  15. data/README.md +0 -1578
  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 -33
  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 -97
  24. data/lib/functional-light-service/configuration.rb +0 -26
  25. data/lib/functional-light-service/context/key_verifier.rb +0 -124
  26. data/lib/functional-light-service/context.rb +0 -195
  27. data/lib/functional-light-service/deprecations.rb +0 -26
  28. data/lib/functional-light-service/errors.rb +0 -8
  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/localization_adapter.rb +0 -48
  37. data/lib/functional-light-service/organizer/execute.rb +0 -16
  38. data/lib/functional-light-service/organizer/iterate.rb +0 -30
  39. data/lib/functional-light-service/organizer/reduce_if.rb +0 -19
  40. data/lib/functional-light-service/organizer/reduce_until.rb +0 -22
  41. data/lib/functional-light-service/organizer/scoped_reducable.rb +0 -15
  42. data/lib/functional-light-service/organizer/with_callback.rb +0 -28
  43. data/lib/functional-light-service/organizer/with_reducer.rb +0 -81
  44. data/lib/functional-light-service/organizer/with_reducer_factory.rb +0 -20
  45. data/lib/functional-light-service/organizer/with_reducer_log_decorator.rb +0 -110
  46. data/lib/functional-light-service/organizer.rb +0 -114
  47. data/lib/functional-light-service/testing/context_factory.rb +0 -48
  48. data/lib/functional-light-service/testing.rb +0 -3
  49. data/lib/functional-light-service/version.rb +0 -5
  50. data/resources/fail_actions.png +0 -0
  51. data/resources/light-service.png +0 -0
  52. data/resources/organizer_and_actions.png +0 -0
  53. data/resources/skip_actions.png +0 -0
  54. data/spec/acceptance/add_numbers_spec.rb +0 -11
  55. data/spec/acceptance/after_actions_spec.rb +0 -87
  56. data/spec/acceptance/around_each_spec.rb +0 -19
  57. data/spec/acceptance/before_actions_spec.rb +0 -115
  58. data/spec/acceptance/custom_log_from_organizer_spec.rb +0 -61
  59. data/spec/acceptance/deprecation_warnings_spec.rb +0 -82
  60. data/spec/acceptance/fail_spec.rb +0 -52
  61. data/spec/acceptance/log_from_organizer_spec.rb +0 -154
  62. data/spec/acceptance/message_localization_spec.rb +0 -119
  63. data/spec/acceptance/organizer/add_aliases_spec.rb +0 -28
  64. data/spec/acceptance/organizer/add_to_context_spec.rb +0 -30
  65. data/spec/acceptance/organizer/around_each_with_reduce_if_spec.rb +0 -42
  66. data/spec/acceptance/organizer/context_failure_and_skipping_spec.rb +0 -68
  67. data/spec/acceptance/organizer/execute_spec.rb +0 -46
  68. data/spec/acceptance/organizer/iterate_spec.rb +0 -44
  69. data/spec/acceptance/organizer/reduce_if_spec.rb +0 -89
  70. data/spec/acceptance/organizer/reduce_until_spec.rb +0 -49
  71. data/spec/acceptance/organizer/with_callback_spec.rb +0 -113
  72. data/spec/acceptance/organizer_entry_point_spec.rb +0 -35
  73. data/spec/acceptance/rollback_spec.rb +0 -183
  74. data/spec/acceptance/testing/context_factory_spec.rb +0 -54
  75. data/spec/action_expected_keys_spec.rb +0 -63
  76. data/spec/action_expects_and_promises_spec.rb +0 -97
  77. data/spec/action_promised_keys_spec.rb +0 -126
  78. data/spec/action_spec.rb +0 -97
  79. data/spec/context/inspect_spec.rb +0 -42
  80. data/spec/context_spec.rb +0 -289
  81. data/spec/examples/amount_spec.rb +0 -77
  82. data/spec/examples/controller_spec.rb +0 -63
  83. data/spec/examples/validate_address_spec.rb +0 -38
  84. data/spec/lib/deterministic/class_mixin_spec.rb +0 -24
  85. data/spec/lib/deterministic/currify_spec.rb +0 -90
  86. data/spec/lib/deterministic/monad_axioms.rb +0 -46
  87. data/spec/lib/deterministic/monad_spec.rb +0 -47
  88. data/spec/lib/deterministic/null_spec.rb +0 -65
  89. data/spec/lib/deterministic/option_spec.rb +0 -140
  90. data/spec/lib/deterministic/result/failure_spec.rb +0 -65
  91. data/spec/lib/deterministic/result/result_map_spec.rb +0 -155
  92. data/spec/lib/deterministic/result/result_shared.rb +0 -25
  93. data/spec/lib/deterministic/result/success_spec.rb +0 -41
  94. data/spec/lib/deterministic/result_spec.rb +0 -63
  95. data/spec/lib/deterministic/sequencer_spec.rb +0 -506
  96. data/spec/lib/edge_cases_spec.rb +0 -156
  97. data/spec/lib/enum_spec.rb +0 -114
  98. data/spec/lib/native_pattern_matching_spec.rb +0 -74
  99. data/spec/localization_adapter_spec.rb +0 -83
  100. data/spec/organizer/with_reducer_spec.rb +0 -56
  101. data/spec/organizer_key_aliases_spec.rb +0 -29
  102. data/spec/organizer_spec.rb +0 -115
  103. data/spec/readme_spec.rb +0 -45
  104. data/spec/sample/calculates_order_tax_action_spec.rb +0 -16
  105. data/spec/sample/calculates_tax_spec.rb +0 -30
  106. data/spec/sample/looks_up_tax_percentage_action_spec.rb +0 -55
  107. data/spec/sample/provides_free_shipping_action_spec.rb +0 -25
  108. data/spec/sample/tax/calculates_order_tax_action.rb +0 -10
  109. data/spec/sample/tax/calculates_tax.rb +0 -11
  110. data/spec/sample/tax/looks_up_tax_percentage_action.rb +0 -28
  111. data/spec/sample/tax/provides_free_shipping_action.rb +0 -11
  112. data/spec/spec_helper.rb +0 -29
  113. data/spec/support.rb +0 -1
  114. data/spec/test_doubles.rb +0 -628
  115. data/spec/testing/context_factory/iterate_spec.rb +0 -39
  116. data/spec/testing/context_factory/reduce_if_spec.rb +0 -40
  117. data/spec/testing/context_factory/reduce_until_spec.rb +0 -40
  118. data/spec/testing/context_factory/with_callback_spec.rb +0 -38
  119. 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 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