cmdx 1.1.2 → 1.5.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.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/.cursor/prompts/docs.md +4 -1
- data/.cursor/prompts/llms.md +20 -0
- data/.cursor/prompts/rspec.md +4 -1
- data/.cursor/prompts/yardoc.md +3 -2
- data/.cursor/rules/cursor-instructions.mdc +56 -1
- data/.irbrc +6 -0
- data/.rubocop.yml +29 -18
- data/CHANGELOG.md +5 -133
- data/LLM.md +3317 -0
- data/README.md +68 -44
- data/docs/attributes/coercions.md +162 -0
- data/docs/attributes/defaults.md +90 -0
- data/docs/attributes/definitions.md +281 -0
- data/docs/attributes/naming.md +78 -0
- data/docs/attributes/validations.md +309 -0
- data/docs/basics/chain.md +56 -249
- data/docs/basics/context.md +56 -289
- data/docs/basics/execution.md +114 -0
- data/docs/basics/setup.md +37 -334
- data/docs/callbacks.md +89 -467
- data/docs/deprecation.md +91 -174
- data/docs/getting_started.md +212 -202
- data/docs/internationalization.md +11 -647
- data/docs/interruptions/exceptions.md +23 -198
- data/docs/interruptions/faults.md +71 -151
- data/docs/interruptions/halt.md +109 -186
- data/docs/logging.md +44 -256
- data/docs/middlewares.md +113 -426
- data/docs/outcomes/result.md +81 -228
- data/docs/outcomes/states.md +33 -221
- data/docs/outcomes/statuses.md +21 -311
- data/docs/tips_and_tricks.md +120 -70
- data/docs/workflows.md +99 -283
- data/lib/cmdx/.DS_Store +0 -0
- data/lib/cmdx/attribute.rb +229 -0
- data/lib/cmdx/attribute_registry.rb +94 -0
- data/lib/cmdx/attribute_value.rb +193 -0
- data/lib/cmdx/callback_registry.rb +69 -77
- data/lib/cmdx/chain.rb +56 -73
- data/lib/cmdx/coercion_registry.rb +52 -68
- data/lib/cmdx/coercions/array.rb +19 -18
- data/lib/cmdx/coercions/big_decimal.rb +20 -24
- data/lib/cmdx/coercions/boolean.rb +26 -25
- data/lib/cmdx/coercions/complex.rb +21 -22
- data/lib/cmdx/coercions/date.rb +25 -23
- data/lib/cmdx/coercions/date_time.rb +24 -25
- data/lib/cmdx/coercions/float.rb +25 -22
- data/lib/cmdx/coercions/hash.rb +31 -32
- data/lib/cmdx/coercions/integer.rb +30 -24
- data/lib/cmdx/coercions/rational.rb +29 -24
- data/lib/cmdx/coercions/string.rb +19 -22
- data/lib/cmdx/coercions/symbol.rb +37 -0
- data/lib/cmdx/coercions/time.rb +26 -25
- data/lib/cmdx/configuration.rb +49 -108
- data/lib/cmdx/context.rb +222 -44
- data/lib/cmdx/deprecator.rb +61 -0
- data/lib/cmdx/errors.rb +42 -252
- data/lib/cmdx/exceptions.rb +39 -0
- data/lib/cmdx/faults.rb +78 -39
- data/lib/cmdx/freezer.rb +51 -0
- data/lib/cmdx/identifier.rb +30 -0
- data/lib/cmdx/locale.rb +52 -0
- data/lib/cmdx/log_formatters/json.rb +21 -22
- data/lib/cmdx/log_formatters/key_value.rb +20 -22
- data/lib/cmdx/log_formatters/line.rb +15 -22
- data/lib/cmdx/log_formatters/logstash.rb +22 -23
- data/lib/cmdx/log_formatters/raw.rb +16 -22
- data/lib/cmdx/middleware_registry.rb +70 -74
- data/lib/cmdx/middlewares/correlate.rb +90 -54
- data/lib/cmdx/middlewares/runtime.rb +58 -0
- data/lib/cmdx/middlewares/timeout.rb +48 -68
- data/lib/cmdx/railtie.rb +12 -45
- data/lib/cmdx/result.rb +229 -314
- data/lib/cmdx/task.rb +194 -366
- data/lib/cmdx/utils/call.rb +49 -0
- data/lib/cmdx/utils/condition.rb +71 -0
- data/lib/cmdx/utils/format.rb +61 -0
- data/lib/cmdx/validator_registry.rb +63 -72
- data/lib/cmdx/validators/exclusion.rb +38 -67
- data/lib/cmdx/validators/format.rb +48 -49
- data/lib/cmdx/validators/inclusion.rb +43 -74
- data/lib/cmdx/validators/length.rb +91 -154
- data/lib/cmdx/validators/numeric.rb +87 -162
- data/lib/cmdx/validators/presence.rb +37 -50
- data/lib/cmdx/version.rb +1 -1
- data/lib/cmdx/worker.rb +178 -0
- data/lib/cmdx/workflow.rb +85 -81
- data/lib/cmdx.rb +19 -13
- data/lib/generators/cmdx/install_generator.rb +14 -13
- data/lib/generators/cmdx/task_generator.rb +25 -50
- data/lib/generators/cmdx/templates/install.rb +11 -46
- data/lib/generators/cmdx/templates/task.rb.tt +3 -2
- data/lib/locales/en.yml +18 -4
- data/src/cmdx-logo.png +0 -0
- metadata +32 -116
- data/docs/ai_prompts.md +0 -393
- data/docs/basics/call.md +0 -317
- data/docs/configuration.md +0 -344
- data/docs/parameters/coercions.md +0 -396
- data/docs/parameters/defaults.md +0 -335
- data/docs/parameters/definitions.md +0 -446
- data/docs/parameters/namespacing.md +0 -378
- data/docs/parameters/validations.md +0 -405
- data/docs/testing.md +0 -553
- data/lib/cmdx/callback.rb +0 -53
- data/lib/cmdx/chain_inspector.rb +0 -56
- data/lib/cmdx/chain_serializer.rb +0 -63
- data/lib/cmdx/coercion.rb +0 -57
- data/lib/cmdx/coercions/virtual.rb +0 -29
- data/lib/cmdx/core_ext/hash.rb +0 -83
- data/lib/cmdx/core_ext/module.rb +0 -98
- data/lib/cmdx/core_ext/object.rb +0 -125
- data/lib/cmdx/correlator.rb +0 -122
- data/lib/cmdx/error.rb +0 -67
- data/lib/cmdx/fault.rb +0 -140
- data/lib/cmdx/immutator.rb +0 -52
- data/lib/cmdx/lazy_struct.rb +0 -246
- data/lib/cmdx/log_formatters/pretty_json.rb +0 -40
- data/lib/cmdx/log_formatters/pretty_key_value.rb +0 -38
- data/lib/cmdx/log_formatters/pretty_line.rb +0 -41
- data/lib/cmdx/logger.rb +0 -49
- data/lib/cmdx/logger_ansi.rb +0 -68
- data/lib/cmdx/logger_serializer.rb +0 -116
- data/lib/cmdx/middleware.rb +0 -70
- data/lib/cmdx/parameter.rb +0 -312
- data/lib/cmdx/parameter_evaluator.rb +0 -231
- data/lib/cmdx/parameter_inspector.rb +0 -66
- data/lib/cmdx/parameter_registry.rb +0 -106
- data/lib/cmdx/parameter_serializer.rb +0 -59
- data/lib/cmdx/result_ansi.rb +0 -71
- data/lib/cmdx/result_inspector.rb +0 -71
- data/lib/cmdx/result_logger.rb +0 -59
- data/lib/cmdx/result_serializer.rb +0 -104
- data/lib/cmdx/rspec/matchers.rb +0 -28
- data/lib/cmdx/rspec/result_matchers/be_executed.rb +0 -42
- data/lib/cmdx/rspec/result_matchers/be_failed_task.rb +0 -94
- data/lib/cmdx/rspec/result_matchers/be_skipped_task.rb +0 -94
- data/lib/cmdx/rspec/result_matchers/be_state_matchers.rb +0 -59
- data/lib/cmdx/rspec/result_matchers/be_status_matchers.rb +0 -57
- data/lib/cmdx/rspec/result_matchers/be_successful_task.rb +0 -87
- data/lib/cmdx/rspec/result_matchers/have_bad_outcome.rb +0 -51
- data/lib/cmdx/rspec/result_matchers/have_caused_failure.rb +0 -58
- data/lib/cmdx/rspec/result_matchers/have_chain_index.rb +0 -59
- data/lib/cmdx/rspec/result_matchers/have_context.rb +0 -86
- data/lib/cmdx/rspec/result_matchers/have_empty_metadata.rb +0 -54
- data/lib/cmdx/rspec/result_matchers/have_good_outcome.rb +0 -52
- data/lib/cmdx/rspec/result_matchers/have_metadata.rb +0 -114
- data/lib/cmdx/rspec/result_matchers/have_preserved_context.rb +0 -66
- data/lib/cmdx/rspec/result_matchers/have_received_thrown_failure.rb +0 -64
- data/lib/cmdx/rspec/result_matchers/have_runtime.rb +0 -78
- data/lib/cmdx/rspec/result_matchers/have_thrown_failure.rb +0 -76
- data/lib/cmdx/rspec/task_matchers/be_well_formed_task.rb +0 -62
- data/lib/cmdx/rspec/task_matchers/have_callback.rb +0 -85
- data/lib/cmdx/rspec/task_matchers/have_cmd_setting.rb +0 -68
- data/lib/cmdx/rspec/task_matchers/have_executed_callbacks.rb +0 -92
- data/lib/cmdx/rspec/task_matchers/have_middleware.rb +0 -46
- data/lib/cmdx/rspec/task_matchers/have_parameter.rb +0 -181
- data/lib/cmdx/task_deprecator.rb +0 -58
- data/lib/cmdx/task_processor.rb +0 -246
- data/lib/cmdx/task_serializer.rb +0 -57
- data/lib/cmdx/utils/ansi_color.rb +0 -73
- data/lib/cmdx/utils/log_timestamp.rb +0 -36
- data/lib/cmdx/utils/monotonic_runtime.rb +0 -34
- data/lib/cmdx/utils/name_affix.rb +0 -52
- data/lib/cmdx/validator.rb +0 -57
- data/lib/generators/cmdx/templates/workflow.rb.tt +0 -7
- data/lib/generators/cmdx/workflow_generator.rb +0 -84
- data/lib/locales/ar.yml +0 -35
- data/lib/locales/cs.yml +0 -35
- data/lib/locales/da.yml +0 -35
- data/lib/locales/de.yml +0 -35
- data/lib/locales/el.yml +0 -35
- data/lib/locales/es.yml +0 -35
- data/lib/locales/fi.yml +0 -35
- data/lib/locales/fr.yml +0 -35
- data/lib/locales/he.yml +0 -35
- data/lib/locales/hi.yml +0 -35
- data/lib/locales/it.yml +0 -35
- data/lib/locales/ja.yml +0 -35
- data/lib/locales/ko.yml +0 -35
- data/lib/locales/nl.yml +0 -35
- data/lib/locales/no.yml +0 -35
- data/lib/locales/pl.yml +0 -35
- data/lib/locales/pt.yml +0 -35
- data/lib/locales/ru.yml +0 -35
- data/lib/locales/sv.yml +0 -35
- data/lib/locales/th.yml +0 -35
- data/lib/locales/tr.yml +0 -35
- data/lib/locales/vi.yml +0 -35
- data/lib/locales/zh.yml +0 -35
data/lib/locales/th.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
th:
|
2
|
-
cmdx:
|
3
|
-
coercions:
|
4
|
-
into_a: "ไม่สามารถแปลงเป็น %{type} ได้"
|
5
|
-
into_an: "ไม่สามารถแปลงเป็น %{type} ได้"
|
6
|
-
into_any: "ไม่สามารถแปลงเป็นหนึ่งใน: %{values}"
|
7
|
-
unknown: "ประเภทการแปลง %{type} ที่ไม่รู้จัก"
|
8
|
-
faults:
|
9
|
-
unspecified: "ไม่ได้ระบุเหตุผล"
|
10
|
-
parameters:
|
11
|
-
required: "เป็นพารามิเตอร์ที่จำเป็น"
|
12
|
-
undefined: "ส่งต่อไปยังเมธอดที่ไม่ได้กำหนด %{source}"
|
13
|
-
validators:
|
14
|
-
exclusion:
|
15
|
-
of: "ต้องไม่เป็นหนึ่งใน: %{values}"
|
16
|
-
within: "ต้องไม่อยู่ระหว่าง %{min} และ %{max}"
|
17
|
-
format: "มีรูปแบบที่ไม่ถูกต้อง"
|
18
|
-
inclusion:
|
19
|
-
of: "ต้องเป็นหนึ่งใน: %{values}"
|
20
|
-
within: "ต้องอยู่ระหว่าง %{min} และ %{max}"
|
21
|
-
length:
|
22
|
-
is: "ความยาวต้องเป็น %{is}"
|
23
|
-
is_not: "ความยาวต้องไม่เป็น %{is_not}"
|
24
|
-
min: "ความยาวต้องมีอย่างน้อย %{min}"
|
25
|
-
max: "ความยาวต้องมีมากที่สุด %{max}"
|
26
|
-
not_within: "ความยาวต้องไม่อยู่ระหว่าง %{min} และ %{max}"
|
27
|
-
within: "ความยาวต้องอยู่ระหว่าง %{min} และ %{max}"
|
28
|
-
numeric:
|
29
|
-
is: "ต้องเป็น %{is}"
|
30
|
-
is_not: "ต้องไม่เป็น %{is_not}"
|
31
|
-
min: "ต้องมีอย่างน้อย %{min}"
|
32
|
-
max: "ต้องมีมากที่สุด %{max}"
|
33
|
-
not_within: "ต้องไม่อยู่ระหว่าง %{min} และ %{max}"
|
34
|
-
within: "ต้องอยู่ระหว่าง %{min} และ %{max}"
|
35
|
-
presence: "ไม่สามารถเป็นค่าว่างได้"
|
data/lib/locales/tr.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
tr:
|
2
|
-
cmdx:
|
3
|
-
coercions:
|
4
|
-
into_a: "%{type} türüne dönüştürülemedi"
|
5
|
-
into_an: "%{type} türüne dönüştürülemedi"
|
6
|
-
into_any: "şunlardan birine dönüştürülemedi: %{values}"
|
7
|
-
unknown: "bilinmeyen %{type} dönüşüm türü"
|
8
|
-
faults:
|
9
|
-
unspecified: "sebep belirtilmedi"
|
10
|
-
parameters:
|
11
|
-
required: "gerekli bir parametredir"
|
12
|
-
undefined: "tanımsız metoda %{source} yetki verir"
|
13
|
-
validators:
|
14
|
-
exclusion:
|
15
|
-
of: "şunlardan biri olmamalı: %{values}"
|
16
|
-
within: "%{min} ve %{max} arasında olmamalı"
|
17
|
-
format: "geçersiz biçime sahip"
|
18
|
-
inclusion:
|
19
|
-
of: "şunlardan biri olmalı: %{values}"
|
20
|
-
within: "%{min} ve %{max} arasında olmalı"
|
21
|
-
length:
|
22
|
-
is: "uzunluk %{is} olmalı"
|
23
|
-
is_not: "uzunluk %{is_not} olmamalı"
|
24
|
-
min: "uzunluk en az %{min} olmalı"
|
25
|
-
max: "uzunluk en fazla %{max} olmalı"
|
26
|
-
not_within: "uzunluk %{min} ve %{max} arasında olmamalı"
|
27
|
-
within: "uzunluk %{min} ve %{max} arasında olmalı"
|
28
|
-
numeric:
|
29
|
-
is: "%{is} olmalı"
|
30
|
-
is_not: "%{is_not} olmamalı"
|
31
|
-
min: "en az %{min} olmalı"
|
32
|
-
max: "en fazla %{max} olmalı"
|
33
|
-
not_within: "%{min} ve %{max} arasında olmamalı"
|
34
|
-
within: "%{min} ve %{max} arasında olmalı"
|
35
|
-
presence: "boş olamaz"
|
data/lib/locales/vi.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
vi:
|
2
|
-
cmdx:
|
3
|
-
coercions:
|
4
|
-
into_a: "không thể chuyển đổi thành %{type}"
|
5
|
-
into_an: "không thể chuyển đổi thành %{type}"
|
6
|
-
into_any: "không thể chuyển đổi thành một trong: %{values}"
|
7
|
-
unknown: "loại chuyển đổi %{type} không rõ"
|
8
|
-
faults:
|
9
|
-
unspecified: "không có lý do được đưa ra"
|
10
|
-
parameters:
|
11
|
-
required: "là một tham số bắt buộc"
|
12
|
-
undefined: "ủy quyền cho phương thức không xác định %{source}"
|
13
|
-
validators:
|
14
|
-
exclusion:
|
15
|
-
of: "không được là một trong: %{values}"
|
16
|
-
within: "không được nằm giữa %{min} và %{max}"
|
17
|
-
format: "có định dạng không hợp lệ"
|
18
|
-
inclusion:
|
19
|
-
of: "phải là một trong: %{values}"
|
20
|
-
within: "phải nằm giữa %{min} và %{max}"
|
21
|
-
length:
|
22
|
-
is: "độ dài phải là %{is}"
|
23
|
-
is_not: "độ dài không được là %{is_not}"
|
24
|
-
min: "độ dài phải ít nhất %{min}"
|
25
|
-
max: "độ dài tối đa %{max}"
|
26
|
-
not_within: "độ dài không được nằm giữa %{min} và %{max}"
|
27
|
-
within: "độ dài phải nằm giữa %{min} và %{max}"
|
28
|
-
numeric:
|
29
|
-
is: "phải là %{is}"
|
30
|
-
is_not: "không được là %{is_not}"
|
31
|
-
min: "phải ít nhất %{min}"
|
32
|
-
max: "tối đa %{max}"
|
33
|
-
not_within: "không được nằm giữa %{min} và %{max}"
|
34
|
-
within: "phải nằm giữa %{min} và %{max}"
|
35
|
-
presence: "không thể để trống"
|
data/lib/locales/zh.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
zh:
|
2
|
-
cmdx:
|
3
|
-
coercions:
|
4
|
-
into_a: "无法转换为%{type}"
|
5
|
-
into_an: "无法转换为%{type}"
|
6
|
-
into_any: "无法转换为以下任一类型: %{values}"
|
7
|
-
unknown: "未知的%{type}转换类型"
|
8
|
-
faults:
|
9
|
-
unspecified: "未提供原因"
|
10
|
-
parameters:
|
11
|
-
required: "是必需参数"
|
12
|
-
undefined: "委托给未定义的方法%{source}"
|
13
|
-
validators:
|
14
|
-
exclusion:
|
15
|
-
of: "不能是以下任一值: %{values}"
|
16
|
-
within: "不能在%{min}和%{max}之间"
|
17
|
-
format: "格式无效"
|
18
|
-
inclusion:
|
19
|
-
of: "必须是以下任一值: %{values}"
|
20
|
-
within: "必须在%{min}和%{max}之间"
|
21
|
-
length:
|
22
|
-
is: "长度必须是%{is}"
|
23
|
-
is_not: "长度不能是%{is_not}"
|
24
|
-
min: "长度至少为%{min}"
|
25
|
-
max: "长度最多为%{max}"
|
26
|
-
not_within: "长度不能在%{min}和%{max}之间"
|
27
|
-
within: "长度必须在%{min}和%{max}之间"
|
28
|
-
numeric:
|
29
|
-
is: "必须是%{is}"
|
30
|
-
is_not: "不能是%{is_not}"
|
31
|
-
min: "至少为%{min}"
|
32
|
-
max: "最多为%{max}"
|
33
|
-
not_within: "不能在%{min}和%{max}之间"
|
34
|
-
within: "必须在%{min}和%{max}之间"
|
35
|
-
presence: "不能为空"
|