cmdx 1.14.0 → 1.16.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/CHANGELOG.md +15 -0
- data/README.md +9 -1
- data/lib/cmdx/attribute.rb +22 -1
- data/lib/cmdx/{exceptions.rb → exception.rb} +1 -1
- data/lib/cmdx/validator_registry.rb +1 -0
- data/lib/cmdx/validators/absence.rb +61 -0
- data/lib/cmdx/version.rb +1 -1
- data/lib/cmdx.rb +4 -4
- data/lib/locales/af.yml +1 -0
- data/lib/locales/ar.yml +1 -0
- data/lib/locales/az.yml +1 -0
- data/lib/locales/be.yml +1 -0
- data/lib/locales/bg.yml +1 -0
- data/lib/locales/bn.yml +1 -0
- data/lib/locales/bs.yml +1 -0
- data/lib/locales/ca.yml +1 -0
- data/lib/locales/cnr.yml +1 -0
- data/lib/locales/cs.yml +1 -0
- data/lib/locales/cy.yml +1 -0
- data/lib/locales/da.yml +1 -0
- data/lib/locales/de.yml +1 -0
- data/lib/locales/dz.yml +1 -0
- data/lib/locales/el.yml +1 -0
- data/lib/locales/en.yml +1 -0
- data/lib/locales/eo.yml +1 -0
- data/lib/locales/es.yml +1 -0
- data/lib/locales/et.yml +1 -0
- data/lib/locales/eu.yml +1 -0
- data/lib/locales/fa.yml +1 -0
- data/lib/locales/fi.yml +1 -0
- data/lib/locales/fr.yml +1 -0
- data/lib/locales/fy.yml +1 -0
- data/lib/locales/gd.yml +1 -0
- data/lib/locales/gl.yml +1 -0
- data/lib/locales/he.yml +1 -0
- data/lib/locales/hi.yml +1 -0
- data/lib/locales/hr.yml +1 -0
- data/lib/locales/hu.yml +1 -0
- data/lib/locales/hy.yml +1 -0
- data/lib/locales/id.yml +1 -0
- data/lib/locales/is.yml +1 -0
- data/lib/locales/it.yml +1 -0
- data/lib/locales/ja.yml +1 -0
- data/lib/locales/ka.yml +1 -0
- data/lib/locales/kk.yml +1 -0
- data/lib/locales/km.yml +1 -0
- data/lib/locales/kn.yml +1 -0
- data/lib/locales/ko.yml +1 -0
- data/lib/locales/lb.yml +1 -0
- data/lib/locales/lo.yml +1 -0
- data/lib/locales/lt.yml +1 -0
- data/lib/locales/lv.yml +1 -0
- data/lib/locales/mg.yml +1 -0
- data/lib/locales/mk.yml +1 -0
- data/lib/locales/ml.yml +1 -0
- data/lib/locales/mn.yml +1 -0
- data/lib/locales/mr-IN.yml +1 -0
- data/lib/locales/ms.yml +1 -0
- data/lib/locales/nb.yml +1 -0
- data/lib/locales/ne.yml +1 -0
- data/lib/locales/nl.yml +1 -0
- data/lib/locales/nn.yml +1 -0
- data/lib/locales/oc.yml +1 -0
- data/lib/locales/or.yml +1 -0
- data/lib/locales/pa.yml +1 -0
- data/lib/locales/pl.yml +1 -0
- data/lib/locales/pt.yml +1 -0
- data/lib/locales/rm.yml +1 -0
- data/lib/locales/ro.yml +1 -0
- data/lib/locales/ru.yml +1 -0
- data/lib/locales/sc.yml +1 -0
- data/lib/locales/sk.yml +1 -0
- data/lib/locales/sl.yml +1 -0
- data/lib/locales/sq.yml +1 -0
- data/lib/locales/sr.yml +1 -0
- data/lib/locales/st.yml +1 -0
- data/lib/locales/sv.yml +1 -0
- data/lib/locales/sw.yml +1 -0
- data/lib/locales/ta.yml +1 -0
- data/lib/locales/te.yml +1 -0
- data/lib/locales/th.yml +1 -0
- data/lib/locales/tl.yml +1 -0
- data/lib/locales/tr.yml +1 -0
- data/lib/locales/tt.yml +1 -0
- data/lib/locales/ug.yml +1 -0
- data/lib/locales/uk.yml +1 -0
- data/lib/locales/ur.yml +1 -0
- data/lib/locales/uz.yml +1 -0
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/wo.yml +1 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-HK.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- data/lib/locales/zh-YUE.yml +1 -0
- data/mkdocs.yml +5 -3
- metadata +19 -4
- /data/lib/cmdx/{faults.rb → fault.rb} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d864a54c25ea1fd3a30f5c84b760bfa1f50207f7b26e47143876c76e2258b37a
|
|
4
|
+
data.tar.gz: f1381fc4c62e761b0553800ccdd28a1aa0315e8dab4c2504692d936635b07063
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3431a3d16f0ac92ebb52daa8c412d8f9e33975deab27482d6756e00935015100b3edeb008a419d28daf3daa5e3ba59456110b8ef9554a648ebda348d68152609
|
|
7
|
+
data.tar.gz: b7837730a25c052356e45d56c69f2f41baa932362031f4f3f2fb9f5302020fff4ed8d690973afd0b482ba22a38d13091fe47f11b54635f1c321372bcbbf0cf60
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
### Added
|
|
10
|
+
- Add `CMDx::Exception` alias for `CMDx::Error`
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Renamed `exceptions.rb` file to `exception.rb` (zeitwerk issue)
|
|
14
|
+
- Renamed `faults.rb` file to `fault.rb` (zeitwerk issue)
|
|
15
|
+
|
|
16
|
+
## [1.15.0] - 2025-01-21
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
- Add attribute `Absence` validator
|
|
20
|
+
- Add attribute `:description` option
|
|
21
|
+
|
|
22
|
+
## [1.14.0] - 2025-01-09
|
|
23
|
+
|
|
9
24
|
### Added
|
|
10
25
|
- Add Ruby 4.0 compatibility
|
|
11
26
|
- Add `Context#clear!` method to remove all context data
|
data/README.md
CHANGED
|
@@ -6,7 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
Build business logic that’s powerful, predictable, and maintainable.
|
|
8
8
|
|
|
9
|
-
[
|
|
9
|
+
[Home](https://drexed.github.io/cmdx) ·
|
|
10
|
+
[Documentation](https://drexed.github.io/cmdx/getting_started) ·
|
|
11
|
+
[Blog](https://drexed.github.io/cmdx/blog) ·
|
|
12
|
+
[Changelog](./CHANGELOG.md) ·
|
|
13
|
+
[Report Bug](https://github.com/drexed/cmdx/issues) ·
|
|
14
|
+
[Request Feature](https://github.com/drexed/cmdx/issues) ·
|
|
15
|
+
[llms.txt](https://drexed.github.io/cmdx/llms.txt) ·
|
|
16
|
+
[llms-full.txt](https://drexed.github.io/cmdx/llms-full.txt) ·
|
|
17
|
+
[SKILL.md](https://github.com/drexed/cmdx/blob/main/docs/SKILL.md)
|
|
10
18
|
|
|
11
19
|
<img alt="Version" src="https://img.shields.io/gem/v/cmdx">
|
|
12
20
|
<img alt="Build" src="https://github.com/drexed/cmdx/actions/workflows/ci.yml/badge.svg">
|
data/lib/cmdx/attribute.rb
CHANGED
|
@@ -72,6 +72,16 @@ module CMDx
|
|
|
72
72
|
# @rbs @types: Array[Class]
|
|
73
73
|
attr_reader :types
|
|
74
74
|
|
|
75
|
+
# Returns the description of the attribute.
|
|
76
|
+
#
|
|
77
|
+
# @return [String] The description of the attribute
|
|
78
|
+
#
|
|
79
|
+
# @example
|
|
80
|
+
# attribute.description # => "The user's name"
|
|
81
|
+
#
|
|
82
|
+
# @rbs @description: String
|
|
83
|
+
attr_reader :description
|
|
84
|
+
|
|
75
85
|
# Creates a new attribute with the specified name and configuration.
|
|
76
86
|
#
|
|
77
87
|
# @param name [Symbol, String] The name of the attribute
|
|
@@ -79,6 +89,7 @@ module CMDx
|
|
|
79
89
|
# @option options [Attribute] :parent The parent attribute for nested structures
|
|
80
90
|
# @option options [Boolean] :required Whether the attribute is required (default: false)
|
|
81
91
|
# @option options [Array<Class>, Class] :types The expected type(s) for the attribute value
|
|
92
|
+
# @option options [String] :description The description of the attribute
|
|
82
93
|
# @option options [Symbol, String, Proc] :source The source of the attribute value
|
|
83
94
|
# @option options [Symbol, String] :as The method name to use for this attribute
|
|
84
95
|
# @option options [Symbol, String, Boolean] :prefix The prefix to add to the method name
|
|
@@ -98,6 +109,7 @@ module CMDx
|
|
|
98
109
|
@parent = options.delete(:parent)
|
|
99
110
|
@required = options.delete(:required) || false
|
|
100
111
|
@types = Array(options.delete(:types) || options.delete(:type))
|
|
112
|
+
@description = options.delete(:description) || options.delete(:desc)
|
|
101
113
|
|
|
102
114
|
@name = name.to_sym
|
|
103
115
|
@options = options
|
|
@@ -238,13 +250,22 @@ module CMDx
|
|
|
238
250
|
# @return [Hash] A hash representation of the attribute
|
|
239
251
|
#
|
|
240
252
|
# @example
|
|
241
|
-
# attribute.to_h # => {
|
|
253
|
+
# attribute.to_h # => {
|
|
254
|
+
# name: :user_id,
|
|
255
|
+
# method_name: :current_user_id,
|
|
256
|
+
# description: "The user's name",
|
|
257
|
+
# required: true,
|
|
258
|
+
# types: [:integer],
|
|
259
|
+
# options: {},
|
|
260
|
+
# children: []
|
|
261
|
+
# }
|
|
242
262
|
#
|
|
243
263
|
# @rbs () -> Hash[Symbol, untyped]
|
|
244
264
|
def to_h
|
|
245
265
|
{
|
|
246
266
|
name: name,
|
|
247
267
|
method_name: method_name,
|
|
268
|
+
description: description,
|
|
248
269
|
required: required?,
|
|
249
270
|
types: types,
|
|
250
271
|
options: options.except(:if, :unless),
|
|
@@ -7,7 +7,7 @@ module CMDx
|
|
|
7
7
|
# This serves as the root exception class for all errors raised by the CMDx
|
|
8
8
|
# framework. It inherits from StandardError and provides a common base for
|
|
9
9
|
# handling CMDx-specific exceptions.
|
|
10
|
-
Error = Class.new(StandardError)
|
|
10
|
+
Exception = Error = Class.new(StandardError)
|
|
11
11
|
|
|
12
12
|
# Raised when attribute coercion fails during task execution.
|
|
13
13
|
#
|
|
@@ -29,6 +29,7 @@ module CMDx
|
|
|
29
29
|
# @rbs (?Hash[Symbol, Class]? registry) -> void
|
|
30
30
|
def initialize(registry = nil)
|
|
31
31
|
@registry = registry || {
|
|
32
|
+
absence: Validators::Absence,
|
|
32
33
|
exclusion: Validators::Exclusion,
|
|
33
34
|
format: Validators::Format,
|
|
34
35
|
inclusion: Validators::Inclusion,
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module CMDx
|
|
4
|
+
module Validators
|
|
5
|
+
# Validates that a value is absent or empty
|
|
6
|
+
#
|
|
7
|
+
# This validator ensures that the given value is nil, empty, or consists only of whitespace.
|
|
8
|
+
# It handles different value types appropriately:
|
|
9
|
+
# - Strings: checks for absence of non-whitespace characters
|
|
10
|
+
# - Collections: checks for empty collections
|
|
11
|
+
# - Other objects: checks for nil values
|
|
12
|
+
module Absence
|
|
13
|
+
|
|
14
|
+
extend self
|
|
15
|
+
|
|
16
|
+
# Validates that a value is absent or empty
|
|
17
|
+
#
|
|
18
|
+
# @param value [Object] The value to validate for absence
|
|
19
|
+
# @param options [Hash] Validation configuration options
|
|
20
|
+
# @option options [String] :message Custom error message
|
|
21
|
+
#
|
|
22
|
+
# @return [nil] Returns nil if validation passes
|
|
23
|
+
#
|
|
24
|
+
# @raise [ValidationError] When the value is present, not empty, or contains non-whitespace characters
|
|
25
|
+
#
|
|
26
|
+
# @example Validate string absence
|
|
27
|
+
# Absence.call("")
|
|
28
|
+
# # => nil (validation passes)
|
|
29
|
+
# @example Validate non-empty string
|
|
30
|
+
# Absence.call("hello")
|
|
31
|
+
# # => raises ValidationError
|
|
32
|
+
# @example Validate array absence
|
|
33
|
+
# Absence.call([])
|
|
34
|
+
# # => nil (validation passes)
|
|
35
|
+
# @example Validate non-empty array
|
|
36
|
+
# Absence.call([1, 2, 3])
|
|
37
|
+
# # => raises ValidationError
|
|
38
|
+
# @example Validate with custom message
|
|
39
|
+
# Absence.call("hello", message: "Value must be empty")
|
|
40
|
+
# # => raises ValidationError with custom message
|
|
41
|
+
#
|
|
42
|
+
# @rbs (untyped value, ?Hash[Symbol, untyped] options) -> nil
|
|
43
|
+
def call(value, options = {})
|
|
44
|
+
match =
|
|
45
|
+
if value.is_a?(String)
|
|
46
|
+
/\S/.match?(value)
|
|
47
|
+
elsif value.respond_to?(:empty?)
|
|
48
|
+
!value.empty?
|
|
49
|
+
else
|
|
50
|
+
!value.nil?
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
return unless match
|
|
54
|
+
|
|
55
|
+
message = options[:message] if options.is_a?(Hash)
|
|
56
|
+
raise ValidationError, message || Locale.t("cmdx.validators.absence")
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
data/lib/cmdx/version.rb
CHANGED
data/lib/cmdx.rb
CHANGED
|
@@ -35,8 +35,8 @@ end
|
|
|
35
35
|
loader = Zeitwerk::Loader.for_gem
|
|
36
36
|
loader.inflector.inflect("cmdx" => "CMDx", "json" => "JSON")
|
|
37
37
|
loader.ignore("#{__dir__}/cmdx/configuration")
|
|
38
|
-
loader.ignore("#{__dir__}/cmdx/
|
|
39
|
-
loader.ignore("#{__dir__}/cmdx/
|
|
38
|
+
loader.ignore("#{__dir__}/cmdx/exception")
|
|
39
|
+
loader.ignore("#{__dir__}/cmdx/fault")
|
|
40
40
|
loader.ignore("#{__dir__}/cmdx/railtie")
|
|
41
41
|
loader.ignore("#{__dir__}/generators")
|
|
42
42
|
loader.ignore("#{__dir__}/locales")
|
|
@@ -48,11 +48,11 @@ require_relative "cmdx/configuration"
|
|
|
48
48
|
|
|
49
49
|
# Pre-load exceptions to make them available at the top level
|
|
50
50
|
# This ensures CMDx::Error and its descendants are always available
|
|
51
|
-
require_relative "cmdx/
|
|
51
|
+
require_relative "cmdx/exception"
|
|
52
52
|
|
|
53
53
|
# Pre-load fault classes to make them available at the top level
|
|
54
54
|
# This ensures CMDx::FailFault and CMDx::SkipFault are always available
|
|
55
|
-
require_relative "cmdx/
|
|
55
|
+
require_relative "cmdx/fault"
|
|
56
56
|
|
|
57
57
|
# Conditionally load Rails components if Rails is available
|
|
58
58
|
if defined?(Rails::Generators)
|
data/lib/locales/af.yml
CHANGED
data/lib/locales/ar.yml
CHANGED
data/lib/locales/az.yml
CHANGED
data/lib/locales/be.yml
CHANGED
data/lib/locales/bg.yml
CHANGED
data/lib/locales/bn.yml
CHANGED
data/lib/locales/bs.yml
CHANGED
data/lib/locales/ca.yml
CHANGED
data/lib/locales/cnr.yml
CHANGED
data/lib/locales/cs.yml
CHANGED
data/lib/locales/cy.yml
CHANGED
data/lib/locales/da.yml
CHANGED
data/lib/locales/de.yml
CHANGED
data/lib/locales/dz.yml
CHANGED
data/lib/locales/el.yml
CHANGED
data/lib/locales/en.yml
CHANGED
data/lib/locales/eo.yml
CHANGED
data/lib/locales/es.yml
CHANGED
data/lib/locales/et.yml
CHANGED
data/lib/locales/eu.yml
CHANGED
data/lib/locales/fa.yml
CHANGED
data/lib/locales/fi.yml
CHANGED
data/lib/locales/fr.yml
CHANGED
data/lib/locales/fy.yml
CHANGED
data/lib/locales/gd.yml
CHANGED
data/lib/locales/gl.yml
CHANGED
data/lib/locales/he.yml
CHANGED
data/lib/locales/hi.yml
CHANGED
data/lib/locales/hr.yml
CHANGED
data/lib/locales/hu.yml
CHANGED
data/lib/locales/hy.yml
CHANGED
|
@@ -26,6 +26,7 @@ hy:
|
|
|
26
26
|
symbol: "սիմվոլ"
|
|
27
27
|
time: "ժամանակ"
|
|
28
28
|
validators:
|
|
29
|
+
absence: "պdelays delays delays delays delays է delays delaysdelays delays delays delays"
|
|
29
30
|
exclusion:
|
|
30
31
|
of: "չի կարող լինել հետևյալներից մեկը: %{values}"
|
|
31
32
|
within: "չի կարող լինել %{min} և %{max} միջև"
|
data/lib/locales/id.yml
CHANGED
data/lib/locales/is.yml
CHANGED
data/lib/locales/it.yml
CHANGED
data/lib/locales/ja.yml
CHANGED
data/lib/locales/ka.yml
CHANGED
data/lib/locales/kk.yml
CHANGED
data/lib/locales/km.yml
CHANGED
data/lib/locales/kn.yml
CHANGED
data/lib/locales/ko.yml
CHANGED
data/lib/locales/lb.yml
CHANGED
data/lib/locales/lo.yml
CHANGED
data/lib/locales/lt.yml
CHANGED
data/lib/locales/lv.yml
CHANGED
data/lib/locales/mg.yml
CHANGED
data/lib/locales/mk.yml
CHANGED
data/lib/locales/ml.yml
CHANGED
data/lib/locales/mn.yml
CHANGED
data/lib/locales/mr-IN.yml
CHANGED
data/lib/locales/ms.yml
CHANGED
data/lib/locales/nb.yml
CHANGED
data/lib/locales/ne.yml
CHANGED
data/lib/locales/nl.yml
CHANGED
data/lib/locales/nn.yml
CHANGED
data/lib/locales/oc.yml
CHANGED
data/lib/locales/or.yml
CHANGED
data/lib/locales/pa.yml
CHANGED
data/lib/locales/pl.yml
CHANGED
data/lib/locales/pt.yml
CHANGED
data/lib/locales/rm.yml
CHANGED
data/lib/locales/ro.yml
CHANGED
data/lib/locales/ru.yml
CHANGED
data/lib/locales/sc.yml
CHANGED
data/lib/locales/sk.yml
CHANGED
data/lib/locales/sl.yml
CHANGED
data/lib/locales/sq.yml
CHANGED
data/lib/locales/sr.yml
CHANGED
data/lib/locales/st.yml
CHANGED
data/lib/locales/sv.yml
CHANGED
data/lib/locales/sw.yml
CHANGED
data/lib/locales/ta.yml
CHANGED
data/lib/locales/te.yml
CHANGED
data/lib/locales/th.yml
CHANGED
data/lib/locales/tl.yml
CHANGED
data/lib/locales/tr.yml
CHANGED
data/lib/locales/tt.yml
CHANGED
data/lib/locales/ug.yml
CHANGED
data/lib/locales/uk.yml
CHANGED
data/lib/locales/ur.yml
CHANGED
data/lib/locales/uz.yml
CHANGED
data/lib/locales/vi.yml
CHANGED
data/lib/locales/wo.yml
CHANGED
data/lib/locales/zh-CN.yml
CHANGED
data/lib/locales/zh-HK.yml
CHANGED
data/lib/locales/zh-TW.yml
CHANGED
data/lib/locales/zh-YUE.yml
CHANGED
data/mkdocs.yml
CHANGED
|
@@ -11,6 +11,7 @@ copyright: Drexed, Inc. © 2025 - EoT
|
|
|
11
11
|
|
|
12
12
|
theme:
|
|
13
13
|
name: material
|
|
14
|
+
custom_dir: docs/overrides
|
|
14
15
|
logo: assets/favicon.svg
|
|
15
16
|
favicon: assets/favicon.ico
|
|
16
17
|
icon:
|
|
@@ -99,6 +100,7 @@ plugins:
|
|
|
99
100
|
post_date_format: long
|
|
100
101
|
post_url_format: "{slug}"
|
|
101
102
|
archive_date_format: MMMM yyyy
|
|
103
|
+
draft_if_future_date: true
|
|
102
104
|
categories_allowed:
|
|
103
105
|
- Tutorials
|
|
104
106
|
- Updates
|
|
@@ -142,9 +144,7 @@ plugins:
|
|
|
142
144
|
- workflows.md: Composing multiple tasks into sequential pipelines with conditional execution
|
|
143
145
|
More:
|
|
144
146
|
- tips_and_tricks.md: Best practices, patterns, and techniques for maintainable CMDx applications
|
|
145
|
-
|
|
146
|
-
- cmdx-rspec: RSpec test matchers (https://github.com/drexed/cmdx-rspec)
|
|
147
|
-
|
|
147
|
+
- comparison.md: Comparison with other command/service object frameworks
|
|
148
148
|
nav:
|
|
149
149
|
- Home: index.md
|
|
150
150
|
- Documentation:
|
|
@@ -180,10 +180,12 @@ nav:
|
|
|
180
180
|
- Workflows: workflows.md
|
|
181
181
|
- More:
|
|
182
182
|
- Tips and Tricks: tips_and_tricks.md
|
|
183
|
+
- Comparison: comparison.md
|
|
183
184
|
- References:
|
|
184
185
|
- API Documentation: https://drexed.github.io/cmdx/api/index.html
|
|
185
186
|
- llms.txt: https://drexed.github.io/cmdx/llms.txt
|
|
186
187
|
- llms-full.txt: https://drexed.github.io/cmdx/llms-full.txt
|
|
188
|
+
- SKILL.md: https://github.com/drexed/cmdx/blob/main/docs/SKILL.md
|
|
187
189
|
- Ecosystem:
|
|
188
190
|
- cmdx-rspec: https://github.com/drexed/cmdx-rspec
|
|
189
191
|
- Blog: blog/index.md
|
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.
|
|
4
|
+
version: 1.16.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juan Gomez
|
|
@@ -121,6 +121,20 @@ dependencies:
|
|
|
121
121
|
- - ">="
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
123
|
version: '0'
|
|
124
|
+
- !ruby/object:Gem::Dependency
|
|
125
|
+
name: rdoc
|
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - ">="
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '0'
|
|
131
|
+
type: :development
|
|
132
|
+
prerelease: false
|
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - ">="
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: '0'
|
|
124
138
|
- !ruby/object:Gem::Dependency
|
|
125
139
|
name: rspec
|
|
126
140
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -257,9 +271,9 @@ files:
|
|
|
257
271
|
- lib/cmdx/context.rb
|
|
258
272
|
- lib/cmdx/deprecator.rb
|
|
259
273
|
- lib/cmdx/errors.rb
|
|
260
|
-
- lib/cmdx/
|
|
274
|
+
- lib/cmdx/exception.rb
|
|
261
275
|
- lib/cmdx/executor.rb
|
|
262
|
-
- lib/cmdx/
|
|
276
|
+
- lib/cmdx/fault.rb
|
|
263
277
|
- lib/cmdx/identifier.rb
|
|
264
278
|
- lib/cmdx/locale.rb
|
|
265
279
|
- lib/cmdx/log_formatters/json.rb
|
|
@@ -279,6 +293,7 @@ files:
|
|
|
279
293
|
- lib/cmdx/utils/condition.rb
|
|
280
294
|
- lib/cmdx/utils/format.rb
|
|
281
295
|
- lib/cmdx/validator_registry.rb
|
|
296
|
+
- lib/cmdx/validators/absence.rb
|
|
282
297
|
- lib/cmdx/validators/exclusion.rb
|
|
283
298
|
- lib/cmdx/validators/format.rb
|
|
284
299
|
- lib/cmdx/validators/inclusion.rb
|
|
@@ -405,7 +420,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
405
420
|
- !ruby/object:Gem::Version
|
|
406
421
|
version: '0'
|
|
407
422
|
requirements: []
|
|
408
|
-
rubygems_version: 4.0.
|
|
423
|
+
rubygems_version: 4.0.4
|
|
409
424
|
specification_version: 4
|
|
410
425
|
summary: CMDx is a framework for building maintainable business processes.
|
|
411
426
|
test_files: []
|
|
File without changes
|