workflow_template 0.0.4

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 (78) hide show
  1. checksums.yaml +7 -0
  2. data/lib/workflow_template/action/abstract.rb +40 -0
  3. data/lib/workflow_template/action/description/validated.rb +58 -0
  4. data/lib/workflow_template/action/description/wrapper.rb +28 -0
  5. data/lib/workflow_template/action/nested.rb +59 -0
  6. data/lib/workflow_template/action/simple.rb +28 -0
  7. data/lib/workflow_template/action/validated.rb +104 -0
  8. data/lib/workflow_template/action/wrapper.rb +32 -0
  9. data/lib/workflow_template/action.rb +20 -0
  10. data/lib/workflow_template/adapters/state/default.rb +72 -0
  11. data/lib/workflow_template/adapters/state/dry_monads.rb +70 -0
  12. data/lib/workflow_template/adapters/validation/active_model/builder.rb +18 -0
  13. data/lib/workflow_template/adapters/validation/active_model/failure.rb +17 -0
  14. data/lib/workflow_template/adapters/validation/active_model/null_model.rb +24 -0
  15. data/lib/workflow_template/adapters/validation/active_model/validator.rb +35 -0
  16. data/lib/workflow_template/adapters/validation/active_model.rb +24 -0
  17. data/lib/workflow_template/adapters/validation/dry_validation/builder.rb +18 -0
  18. data/lib/workflow_template/adapters/validation/dry_validation/failure.rb +19 -0
  19. data/lib/workflow_template/adapters/validation/dry_validation/validator.rb +46 -0
  20. data/lib/workflow_template/adapters/validation/dry_validation.rb +24 -0
  21. data/lib/workflow_template/adapters/validation/generic/block.rb +24 -0
  22. data/lib/workflow_template/adapters/validation/generic/builder.rb +28 -0
  23. data/lib/workflow_template/adapters/validation/generic/object.rb +30 -0
  24. data/lib/workflow_template/adapters/validation/generic/validator.rb +25 -0
  25. data/lib/workflow_template/adapters/validation/generic.rb +24 -0
  26. data/lib/workflow_template/definer/has_actions/actions.rb +90 -0
  27. data/lib/workflow_template/definer/has_actions/description.rb +48 -0
  28. data/lib/workflow_template/definer/has_actions/dsl.rb +64 -0
  29. data/lib/workflow_template/definer/has_actions/insert.rb +28 -0
  30. data/lib/workflow_template/definer/has_actions/inside.rb +27 -0
  31. data/lib/workflow_template/definer/has_actions/nested.rb +65 -0
  32. data/lib/workflow_template/definer/has_actions/position.rb +83 -0
  33. data/lib/workflow_template/definer/has_actions/redefine.rb +28 -0
  34. data/lib/workflow_template/definer/has_actions/root.rb +22 -0
  35. data/lib/workflow_template/definer/has_actions.rb +45 -0
  36. data/lib/workflow_template/definer/has_default_state_transition_strategy.rb +34 -0
  37. data/lib/workflow_template/definer/has_output_normalizer.rb +35 -0
  38. data/lib/workflow_template/definer/has_state_adapter.rb +30 -0
  39. data/lib/workflow_template/definer/has_validations/action.rb +20 -0
  40. data/lib/workflow_template/definer/has_validations/description.rb +38 -0
  41. data/lib/workflow_template/definer/has_validations/validations.rb +162 -0
  42. data/lib/workflow_template/definer/has_validations.rb +70 -0
  43. data/lib/workflow_template/error.rb +99 -0
  44. data/lib/workflow_template/outcome/block.rb +58 -0
  45. data/lib/workflow_template/outcome/handler.rb +106 -0
  46. data/lib/workflow_template/outcome/status.rb +33 -0
  47. data/lib/workflow_template/outcome/statuses.rb +60 -0
  48. data/lib/workflow_template/outcome.rb +53 -0
  49. data/lib/workflow_template/performer.rb +46 -0
  50. data/lib/workflow_template/state/abstract.rb +33 -0
  51. data/lib/workflow_template/state/adapter.rb +67 -0
  52. data/lib/workflow_template/state/class_methods.rb +43 -0
  53. data/lib/workflow_template/state/final.rb +74 -0
  54. data/lib/workflow_template/state/intermediate.rb +102 -0
  55. data/lib/workflow_template/state/meta.rb +35 -0
  56. data/lib/workflow_template/state/normalizer.rb +34 -0
  57. data/lib/workflow_template/state/validation.rb +32 -0
  58. data/lib/workflow_template/state.rb +41 -0
  59. data/lib/workflow_template/validation/adapter/abstract/builder.rb +28 -0
  60. data/lib/workflow_template/validation/adapter/abstract/result/failure.rb +25 -0
  61. data/lib/workflow_template/validation/adapter/abstract/validator.rb +23 -0
  62. data/lib/workflow_template/validation/adapter.rb +35 -0
  63. data/lib/workflow_template/validation/builder/error.rb +11 -0
  64. data/lib/workflow_template/validation/builder/proxy.rb +129 -0
  65. data/lib/workflow_template/validation/error.rb +16 -0
  66. data/lib/workflow_template/validation/evaluation/abstract.rb +57 -0
  67. data/lib/workflow_template/validation/evaluation/boolean.rb +28 -0
  68. data/lib/workflow_template/validation/evaluation/canonical.rb +21 -0
  69. data/lib/workflow_template/validation/evaluation.rb +4 -0
  70. data/lib/workflow_template/validation/result/failure/abstract.rb +15 -0
  71. data/lib/workflow_template/validation/result/failure.rb +52 -0
  72. data/lib/workflow_template/validation/result/success.rb +19 -0
  73. data/lib/workflow_template/validation/validator/result/failure.rb +36 -0
  74. data/lib/workflow_template/validation/validator/result/success.rb +21 -0
  75. data/lib/workflow_template/workflow/description.rb +56 -0
  76. data/lib/workflow_template/workflow.rb +69 -0
  77. data/lib/workflow_template.rb +11 -0
  78. metadata +126 -0
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: workflow_template
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ platform: ruby
6
+ authors:
7
+ - Tomas Milsimer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-02-26 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |
14
+ The purpose of this library is to provide a framework
15
+ for defining and executing complex workflows as a series of actions,
16
+ with robust error handling, validation, and state management.
17
+ By extending or inheriting from the library's classes and modules,
18
+ developers can create flexible and maintainable workflows that seamlessly
19
+ integrate with existing projects, supporting custom validation adapters
20
+ and state adapters to bridge different control mechanisms.
21
+ email: tomas.milsimer@protonmail.com
22
+ executables: []
23
+ extensions: []
24
+ extra_rdoc_files: []
25
+ files:
26
+ - lib/workflow_template.rb
27
+ - lib/workflow_template/action.rb
28
+ - lib/workflow_template/action/abstract.rb
29
+ - lib/workflow_template/action/description/validated.rb
30
+ - lib/workflow_template/action/description/wrapper.rb
31
+ - lib/workflow_template/action/nested.rb
32
+ - lib/workflow_template/action/simple.rb
33
+ - lib/workflow_template/action/validated.rb
34
+ - lib/workflow_template/action/wrapper.rb
35
+ - lib/workflow_template/adapters/state/default.rb
36
+ - lib/workflow_template/adapters/state/dry_monads.rb
37
+ - lib/workflow_template/adapters/validation/active_model.rb
38
+ - lib/workflow_template/adapters/validation/active_model/builder.rb
39
+ - lib/workflow_template/adapters/validation/active_model/failure.rb
40
+ - lib/workflow_template/adapters/validation/active_model/null_model.rb
41
+ - lib/workflow_template/adapters/validation/active_model/validator.rb
42
+ - lib/workflow_template/adapters/validation/dry_validation.rb
43
+ - lib/workflow_template/adapters/validation/dry_validation/builder.rb
44
+ - lib/workflow_template/adapters/validation/dry_validation/failure.rb
45
+ - lib/workflow_template/adapters/validation/dry_validation/validator.rb
46
+ - lib/workflow_template/adapters/validation/generic.rb
47
+ - lib/workflow_template/adapters/validation/generic/block.rb
48
+ - lib/workflow_template/adapters/validation/generic/builder.rb
49
+ - lib/workflow_template/adapters/validation/generic/object.rb
50
+ - lib/workflow_template/adapters/validation/generic/validator.rb
51
+ - lib/workflow_template/definer/has_actions.rb
52
+ - lib/workflow_template/definer/has_actions/actions.rb
53
+ - lib/workflow_template/definer/has_actions/description.rb
54
+ - lib/workflow_template/definer/has_actions/dsl.rb
55
+ - lib/workflow_template/definer/has_actions/insert.rb
56
+ - lib/workflow_template/definer/has_actions/inside.rb
57
+ - lib/workflow_template/definer/has_actions/nested.rb
58
+ - lib/workflow_template/definer/has_actions/position.rb
59
+ - lib/workflow_template/definer/has_actions/redefine.rb
60
+ - lib/workflow_template/definer/has_actions/root.rb
61
+ - lib/workflow_template/definer/has_default_state_transition_strategy.rb
62
+ - lib/workflow_template/definer/has_output_normalizer.rb
63
+ - lib/workflow_template/definer/has_state_adapter.rb
64
+ - lib/workflow_template/definer/has_validations.rb
65
+ - lib/workflow_template/definer/has_validations/action.rb
66
+ - lib/workflow_template/definer/has_validations/description.rb
67
+ - lib/workflow_template/definer/has_validations/validations.rb
68
+ - lib/workflow_template/error.rb
69
+ - lib/workflow_template/outcome.rb
70
+ - lib/workflow_template/outcome/block.rb
71
+ - lib/workflow_template/outcome/handler.rb
72
+ - lib/workflow_template/outcome/status.rb
73
+ - lib/workflow_template/outcome/statuses.rb
74
+ - lib/workflow_template/performer.rb
75
+ - lib/workflow_template/state.rb
76
+ - lib/workflow_template/state/abstract.rb
77
+ - lib/workflow_template/state/adapter.rb
78
+ - lib/workflow_template/state/class_methods.rb
79
+ - lib/workflow_template/state/final.rb
80
+ - lib/workflow_template/state/intermediate.rb
81
+ - lib/workflow_template/state/meta.rb
82
+ - lib/workflow_template/state/normalizer.rb
83
+ - lib/workflow_template/state/validation.rb
84
+ - lib/workflow_template/validation/adapter.rb
85
+ - lib/workflow_template/validation/adapter/abstract/builder.rb
86
+ - lib/workflow_template/validation/adapter/abstract/result/failure.rb
87
+ - lib/workflow_template/validation/adapter/abstract/validator.rb
88
+ - lib/workflow_template/validation/builder/error.rb
89
+ - lib/workflow_template/validation/builder/proxy.rb
90
+ - lib/workflow_template/validation/error.rb
91
+ - lib/workflow_template/validation/evaluation.rb
92
+ - lib/workflow_template/validation/evaluation/abstract.rb
93
+ - lib/workflow_template/validation/evaluation/boolean.rb
94
+ - lib/workflow_template/validation/evaluation/canonical.rb
95
+ - lib/workflow_template/validation/result/failure.rb
96
+ - lib/workflow_template/validation/result/failure/abstract.rb
97
+ - lib/workflow_template/validation/result/success.rb
98
+ - lib/workflow_template/validation/validator/result/failure.rb
99
+ - lib/workflow_template/validation/validator/result/success.rb
100
+ - lib/workflow_template/workflow.rb
101
+ - lib/workflow_template/workflow/description.rb
102
+ homepage: https://github.com/lame-impala/workflow_template
103
+ licenses:
104
+ - MIT
105
+ metadata:
106
+ homepage_uri: https://github.com/lame-impala/workflow_template
107
+ post_install_message:
108
+ rdoc_options: []
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: 2.7.3
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ requirements: []
122
+ rubygems_version: 3.1.6
123
+ signing_key:
124
+ specification_version: 4
125
+ summary: Compose actions into workflows
126
+ test_files: []