cmdx 1.10.0 → 1.10.1
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.
- checksums.yaml +4 -4
- data/.yardopts +7 -0
- data/CHANGELOG.md +9 -0
- data/Rakefile +21 -0
- data/docs/configuration.md +314 -0
- data/docs/getting_started.md +37 -300
- data/docs/index.md +4 -2
- data/docs/retries.md +1 -1
- data/docs/stylesheets/extra.css +26 -26
- data/docs/tips_and_tricks.md +2 -1
- data/examples/sidekiq_async_execution.md +29 -0
- data/lib/cmdx/executor.rb +0 -7
- data/lib/cmdx/version.rb +1 -1
- data/mkdocs.yml +65 -19
- metadata +18 -2
- data/LLM.md +0 -3727
data/mkdocs.yml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
|
|
2
2
|
|
|
3
3
|
site_name: CMDx
|
|
4
|
-
site_url: https://drexed.github.io/cmdx/
|
|
5
4
|
site_description: Build business logic that's powerful, predictable, and maintainable.
|
|
6
5
|
site_author: drexed
|
|
6
|
+
site_url: https://drexed.github.io/cmdx/
|
|
7
7
|
repo_name: drexed/cmdx
|
|
8
8
|
repo_url: https://github.com/drexed/cmdx
|
|
9
9
|
edit_uri: edit/main/docs/
|
|
@@ -43,25 +43,27 @@ theme:
|
|
|
43
43
|
icon: material/brightness-4
|
|
44
44
|
name: Switch to system preference
|
|
45
45
|
features:
|
|
46
|
+
- content.code.annotate
|
|
47
|
+
- content.code.copy
|
|
48
|
+
- content.tabs.link
|
|
49
|
+
- content.tooltips
|
|
46
50
|
- navigation.footer
|
|
47
51
|
- navigation.instant
|
|
48
52
|
- navigation.instant.prefetch
|
|
49
53
|
- navigation.instant.progress
|
|
50
|
-
- navigation.tracking
|
|
51
|
-
- navigation.sections
|
|
52
54
|
- navigation.expand
|
|
53
55
|
- navigation.path
|
|
56
|
+
- navigation.sections
|
|
54
57
|
- navigation.top
|
|
58
|
+
- navigation.tracking
|
|
59
|
+
- search.highlight
|
|
55
60
|
- search.share
|
|
56
61
|
- search.suggest
|
|
57
|
-
- search.highlight
|
|
58
|
-
- content.code.copy
|
|
59
|
-
- content.code.annotate
|
|
60
|
-
- content.tabs.link
|
|
61
|
-
- content.tooltips
|
|
62
62
|
|
|
63
63
|
markdown_extensions:
|
|
64
64
|
- admonition
|
|
65
|
+
- attr_list
|
|
66
|
+
- md_in_html
|
|
65
67
|
- pymdownx.details
|
|
66
68
|
- pymdownx.superfences
|
|
67
69
|
- pymdownx.highlight:
|
|
@@ -73,17 +75,56 @@ markdown_extensions:
|
|
|
73
75
|
- pymdownx.tabbed:
|
|
74
76
|
alternate_style: true
|
|
75
77
|
- tables
|
|
76
|
-
- attr_list
|
|
77
|
-
- md_in_html
|
|
78
78
|
- toc:
|
|
79
79
|
permalink: true
|
|
80
80
|
|
|
81
81
|
plugins:
|
|
82
82
|
- search
|
|
83
|
+
- llmstxt:
|
|
84
|
+
markdown_description: >-
|
|
85
|
+
CMDx is a Ruby framework for building maintainable, observable business logic through composable command/service objects.
|
|
86
|
+
It brings structure, consistency, and powerful developer tools to your business processes.
|
|
87
|
+
full_output: llms-full.txt
|
|
88
|
+
sections:
|
|
89
|
+
"Getting Started":
|
|
90
|
+
- index.md: CMDx framework overview, installation, quick examples, and core concepts
|
|
91
|
+
- getting_started.md: Task setup and framework fundamentals (CERO pattern)
|
|
92
|
+
- configuration.md: Comprehensive guide to CMDx configuration
|
|
93
|
+
Basics:
|
|
94
|
+
- basics/setup.md: Task structure, inheritance, and basic setup requirements
|
|
95
|
+
- basics/execution.md: Task execution methods (execute vs execute!), error handling, and control flow
|
|
96
|
+
- basics/context.md: Context object for data sharing, input/output management, and attribute access
|
|
97
|
+
- basics/chain.md: Execution chain tracking for related tasks within threads
|
|
98
|
+
Interruptions:
|
|
99
|
+
- interruptions/halt.md: Intentional task interruption using skip! and fail! methods
|
|
100
|
+
- interruptions/faults.md: Fault exceptions (SkipFault, FailFault) raised by execute! with rich context
|
|
101
|
+
- interruptions/exceptions.md: Exception handling differences between execute and execute! methods
|
|
102
|
+
Outcomes:
|
|
103
|
+
- outcomes/result.md: Result objects exposing execution state, status, context, and metadata
|
|
104
|
+
- outcomes/states.md: Execution lifecycle states (initialized, executing, complete, interrupted)
|
|
105
|
+
- outcomes/statuses.md: Business outcome statuses (success, skipped, failed) and transitions
|
|
106
|
+
Attributes:
|
|
107
|
+
- attributes/definitions.md: Attribute declarations (required/optional), validation, and type coercion
|
|
108
|
+
- attributes/naming.md: Customizing accessor method names with prefixes and suffixes
|
|
109
|
+
- attributes/coercions.md: Automatic type conversion for inputs (string to integer, date parsing, etc.)
|
|
110
|
+
- attributes/validations.md: Input validation rules (presence, length, format, numeric, inclusion, exclusion)
|
|
111
|
+
- attributes/defaults.md: Default values for optional attributes (static, dynamic, callable)
|
|
112
|
+
- attributes/transformations.md: Value transformation after coercion but before validation
|
|
113
|
+
Features:
|
|
114
|
+
- callbacks.md: Execution lifecycle callbacks (before_execution, on_success, on_failure, etc.)
|
|
115
|
+
- middlewares.md: Cross-cutting concerns wrapping task execution (authentication, caching, timeouts)
|
|
116
|
+
- logging.md: Structured logging with multiple formatters (JSON, KeyValue, Logstash, Line, Raw)
|
|
117
|
+
- internationalization.md: Multi-language support for error messages and validations (90+ locales)
|
|
118
|
+
- retries.md: Automatic retry functionality for transient failures with jitter and selective retries
|
|
119
|
+
- deprecation.md: Managing deprecated tasks with logging, warnings, or execution prevention
|
|
120
|
+
- workflows.md: Composing multiple tasks into sequential pipelines with conditional execution
|
|
121
|
+
More:
|
|
122
|
+
- tips_and_tricks.md: Best practices, patterns, and techniques for maintainable CMDx applications
|
|
83
123
|
|
|
84
124
|
nav:
|
|
85
125
|
- Home: index.md
|
|
86
126
|
- Getting Started: getting_started.md
|
|
127
|
+
- Configuration: configuration.md
|
|
87
128
|
- Basics:
|
|
88
129
|
- Setup: basics/setup.md
|
|
89
130
|
- Execution: basics/execution.md
|
|
@@ -104,15 +145,20 @@ nav:
|
|
|
104
145
|
- Validations: attributes/validations.md
|
|
105
146
|
- Defaults: attributes/defaults.md
|
|
106
147
|
- Transformations: attributes/transformations.md
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
-
|
|
148
|
+
- Features:
|
|
149
|
+
- Callbacks: callbacks.md
|
|
150
|
+
- Middlewares: middlewares.md
|
|
151
|
+
- Logging: logging.md
|
|
152
|
+
- Internationalization: internationalization.md
|
|
153
|
+
- Retries: retries.md
|
|
154
|
+
- Deprecation: deprecation.md
|
|
155
|
+
- Workflows: workflows.md
|
|
156
|
+
- More:
|
|
157
|
+
- Tips and Tricks: tips_and_tricks.md
|
|
158
|
+
- References:
|
|
159
|
+
- API YARDocs: https://drexed.github.io/cmdx/api/index.html
|
|
160
|
+
- llms.txt: https://drexed.github.io/cmdx/llms.txt
|
|
161
|
+
- llms-full.txt: https://drexed.github.io/cmdx/llms-full.txt
|
|
116
162
|
|
|
117
163
|
extra:
|
|
118
164
|
generator: false
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cmdx
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.10.
|
|
4
|
+
version: 1.10.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juan Gomez
|
|
@@ -191,6 +191,20 @@ dependencies:
|
|
|
191
191
|
- - ">="
|
|
192
192
|
- !ruby/object:Gem::Version
|
|
193
193
|
version: '0'
|
|
194
|
+
- !ruby/object:Gem::Dependency
|
|
195
|
+
name: yard
|
|
196
|
+
requirement: !ruby/object:Gem::Requirement
|
|
197
|
+
requirements:
|
|
198
|
+
- - ">="
|
|
199
|
+
- !ruby/object:Gem::Version
|
|
200
|
+
version: '0'
|
|
201
|
+
type: :development
|
|
202
|
+
prerelease: false
|
|
203
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
204
|
+
requirements:
|
|
205
|
+
- - ">="
|
|
206
|
+
- !ruby/object:Gem::Version
|
|
207
|
+
version: '0'
|
|
194
208
|
description: CMDx is a framework for building maintainable business processes.
|
|
195
209
|
email:
|
|
196
210
|
- drexed@users.noreply.github.com
|
|
@@ -208,10 +222,10 @@ files:
|
|
|
208
222
|
- ".rspec"
|
|
209
223
|
- ".rubocop.yml"
|
|
210
224
|
- ".ruby-version"
|
|
225
|
+
- ".yardopts"
|
|
211
226
|
- CHANGELOG.md
|
|
212
227
|
- CODE_OF_CONDUCT.md
|
|
213
228
|
- LICENSE.txt
|
|
214
|
-
- LLM.md
|
|
215
229
|
- README.md
|
|
216
230
|
- Rakefile
|
|
217
231
|
- docs/.DS_Store
|
|
@@ -228,6 +242,7 @@ files:
|
|
|
228
242
|
- docs/basics/execution.md
|
|
229
243
|
- docs/basics/setup.md
|
|
230
244
|
- docs/callbacks.md
|
|
245
|
+
- docs/configuration.md
|
|
231
246
|
- docs/deprecation.md
|
|
232
247
|
- docs/getting_started.md
|
|
233
248
|
- docs/index.md
|
|
@@ -246,6 +261,7 @@ files:
|
|
|
246
261
|
- docs/workflows.md
|
|
247
262
|
- examples/active_record_query_tagging.md
|
|
248
263
|
- examples/paper_trail_whatdunnit.md
|
|
264
|
+
- examples/sidekiq_async_execution.md
|
|
249
265
|
- examples/stoplight_circuit_breaker.md
|
|
250
266
|
- lib/cmdx.rb
|
|
251
267
|
- lib/cmdx/.DS_Store
|