statelint 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5262124338dfbdc1d35c192fdd7489f32fa033b00d0d770fd4401b65f867f7af
4
- data.tar.gz: ffa8f53eb75b50b9f19e3ffe9921bbf21b375ba46f9bca34d33f26bd1f07f60e
3
+ metadata.gz: b265a73a0ab59d8d34ec2285e29ca463dc4f2ac7fbc0942d6eeb7295402817c2
4
+ data.tar.gz: 223c1e1292d88a6cd7eb20f893dc7056726fe50e70574dced35c87240886c519
5
5
  SHA512:
6
- metadata.gz: 7d90e211e7e76d11b1086a07df8b57c6a364abd36ddaa0132d9cae3282e4eca57e087fed77edb977303369edd094b8c8aa839166ec506095449e6819c2ecdc95
7
- data.tar.gz: 381c044574782f87de89426762fb235dbf209c0e9e89b5af9d4ab843db78cecc4be9ff2fe7e26deb1ba324eb373a2369331f37dc4dfd8bf40bc642eb417a6de0
6
+ metadata.gz: 03ef73ee9234477a19a34c7aedba1c618145eb7c76e9450099b0a1ebb2578e590b4730f737eccd7b3ba8561d2302ddaa7b8511e8f82ce5fcf5a83818207f4b01
7
+ data.tar.gz: a9205eda59c3134572975fe8947175b3a5c3346d602aeaf6a9aaabce1a21f6d392fb3538b4db7c9884a85341ab3fa9d7cc49b1fb0490adf1ac79a8995dc6bd99
@@ -0,0 +1,27 @@
1
+ name: Ruby CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ matrix:
16
+ ruby-version: ['3.2', '2.7']
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - name: Set up Ruby ${{ matrix.ruby-version }}
21
+ uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby-version }}
24
+ - name: Install dependencies
25
+ run: bundle install
26
+ - name: Run tests
27
+ run: bundle exec rspec
data/.gitignore CHANGED
@@ -1,2 +1,4 @@
1
1
  *~
2
2
  *.gem
3
+ .bundle
4
+ vendor
data/README.md CHANGED
@@ -36,3 +36,10 @@ in objects, so neither does statelint.
36
36
 
37
37
  Bug reports and pull requests are welcome on GitHub
38
38
 
39
+ ### Testing
40
+
41
+ All changes should be covered by unit tests in the `spec` directory. To run tests, execute the following from the package root:
42
+
43
+ ```
44
+ bundle exec rspec
45
+ ```
@@ -41,6 +41,7 @@ A Task State MAY have a referencePath field named "TimeoutSecondsPath".
41
41
  A Task State MAY have a referencePath field named "HeartbeatSecondsPath".
42
42
  A Task State MAY have only one of "TimeoutSeconds" and "TimeoutSecondsPath".
43
43
  A Task State MAY have only one of "HeartbeatSeconds" and "HeartbeatSecondsPath".
44
+ A Task State MAY have an object field named "Credentials".
44
45
  A Retrier MUST have a nonempty-string-array field named "ErrorEquals".
45
46
  A Retrier MAY have an positive-integer field named "IntervalSeconds".
46
47
  A Retrier MAY have a nonnegative-integer field named "MaxAttempts" whose value MUST be less than 99999999.
@@ -64,6 +65,7 @@ A Choice Rule with an "Or" field is a "Boolean".
64
65
  A Choice Rule with a "Not" field is a "Boolean".
65
66
  A Choice Rule MAY have a field named "Variable".
66
67
  A Choice Rule with a "Variable" field is a "Comparison".
68
+ A Choice Rule MAY have a string field named "Comment".
67
69
  A Comparison MUST have a field named one of "StringEquals", "StringLessThan", "StringGreaterThan", "StringLessThanEquals", "StringGreaterThanEquals", "NumericEquals", "NumericLessThan", "NumericGreaterThan", "NumericLessThanEquals", "NumericGreaterThanEquals", "BooleanEquals", "TimestampEquals", "TimestampLessThan", "TimestampGreaterThan", "TimestampLessThanEquals", "TimestampGreaterThanEquals", "StringEqualsPath", "StringLessThanPath", "StringGreaterThanPath", "StringLessThanEqualsPath", "StringGreaterThanEqualsPath", "NumericEqualsPath", "NumericLessThanPath", "NumericGreaterThanPath", "NumericLessThanEqualsPath", "NumericGreaterThanEqualsPath", "BooleanEqualsPath", "TimestampEqualsPath", "TimestampLessThanPath", "TimestampGreaterThanPath", "TimestampLessThanEqualsPath", "TimestampGreaterThanEqualsPath", "IsNull", "IsPresent", "IsNumeric", "IsString", "IsBoolean", "IsTimestamp", or "StringMatches".
68
70
  A Comparison MAY have a string field named "StringEquals".
69
71
  A Comparison MAY have a string field named "StringLessThan".
@@ -165,9 +167,18 @@ A Wait State MAY have a referencePath field named "TimestampPath".
165
167
  A Wait State MUST have only one of "Seconds", "SecondsPath", "Timestamp", and "TimestampPath".
166
168
  A Wait State MUST have a field named one of "Seconds", "SecondsPath", "Timestamp", or "TimestampPath".
167
169
  A Parallel State MUST have an object-array field named "Branches"; each element is a "Branch".
168
- A Map State MUST have an object field named "Iterator"; its value is a "Branch".
170
+ A Map State MAY have an object field named "Iterator"; its value is a "ItemProcessor".
171
+ A Map State MAY have an object field named "ItemProcessor"; its value is a "ItemProcessor".
172
+ A Map State MUST have only one of "Iterator" and "ItemProcessor".
169
173
  A Map State MAY have a field named "ItemsPath".
174
+ A Map State MAY have an object field named "ItemSelector".
175
+ A Map State MAY have only one of "ItemSelector" and "Parameters".
170
176
  A Map State MAY have a numeric field named "MaxConcurrency".
171
177
  A Branch MUST have an object field named "States"; each field is a "State".
172
178
  A Branch MUST have a string field named "StartAt".
173
179
  A Branch MAY have a string field named "Comment".
180
+ A Catcher MAY have a string field named "Comment".
181
+ A ItemProcessor MAY have an object field named "ProcessorConfig".
182
+ A ItemProcessor MAY have a string field named "Comment".
183
+ A ItemProcessor MUST have a string field named "StartAt".
184
+ A ItemProcessor MUST have an object field named "States"; each field is a "State".
data/statelint.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'statelint'
3
- s.version = '0.6.0'
3
+ s.version = '0.7.0'
4
4
  s.summary = "State Machine JSON validator"
5
5
  s.description = "Validates a JSON object representing a State Machine"
6
6
  s.authors = ["Tim Bray"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statelint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Bray
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-28 00:00:00.000000000 Z
11
+ date: 2024-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: j2119
@@ -37,6 +37,7 @@ executables:
37
37
  extensions: []
38
38
  extra_rdoc_files: []
39
39
  files:
40
+ - ".github/workflows/ruby.yml"
40
41
  - ".gitignore"
41
42
  - Gemfile
42
43
  - LICENSE
@@ -54,7 +55,7 @@ licenses:
54
55
  metadata:
55
56
  source_code_uri: https://github.com/awslabs/statelint
56
57
  bug_tracker_uri: https://github.com/awslabs/statelint/issues
57
- post_install_message:
58
+ post_install_message:
58
59
  rdoc_options: []
59
60
  require_paths:
60
61
  - lib
@@ -69,8 +70,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
70
  - !ruby/object:Gem::Version
70
71
  version: '0'
71
72
  requirements: []
72
- rubygems_version: 3.4.10
73
- signing_key:
73
+ rubygems_version: 3.1.6
74
+ signing_key:
74
75
  specification_version: 4
75
76
  summary: State Machine JSON validator
76
77
  test_files: []