rsmp_schema 0.9.1 → 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8fc20cc1d05617986e855941274ff5b84d631f563802dbfd9640d00bf02bc4a6
4
- data.tar.gz: a341f9ad7a2d57311b4328d673af2cbbadd2db102c97995a1701af2b3036abd5
3
+ metadata.gz: 4af83efed00aedf5d2a9b23ac6c35196410e675b027e031458c1bce89a1cb95c
4
+ data.tar.gz: 36d01a93675359c7c0765d1b2074ddda784bbf72103966c3225e92e3b98c274a
5
5
  SHA512:
6
- metadata.gz: 4e22ab72a7fb96ce53dc2a950d3b1fa53144da6b7d25c684127640eec7a8f1d6e90bf24c79abc49113bbcdc1ca815b27d9c0aa3eedcfddd9fa26c410142dc21d
7
- data.tar.gz: f5606e2da1e282ffef489d546587be20a26d28e3b7332478c638d66173809bb36d63f3287696341e2e8c9b05905e3cd62bbb42d66b820b8137f9c522818b66bd
6
+ metadata.gz: 73ae42bfcaa494b84d81033bdee27afbe9ccab2ffd6e804f5d870f48b69250d0f2261f106934d6082d3bf386a7b7eb4d8e06572e726d8eb252302c0003e50b13
7
+ data.tar.gz: 59ec0746df9e384d242fa853db34a0dd8670c097a9494c75daac46efe7a4d560173e809158e29977a94170d3261320891860097b9763f71e2a47f2f446129acf
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.4
1
+ ruby 4.0
data/Gemfile.lock CHANGED
@@ -1,47 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp_schema (0.9.1)
5
- json_schemer (~> 2.4.0)
6
- thor (~> 1.4.0)
4
+ rsmp_schema (0.10.0)
5
+ json_schemer (~> 2.5)
6
+ thor (~> 1.5)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- bigdecimal (3.2.3)
11
+ bigdecimal (4.0.1)
12
12
  diff-lcs (1.6.2)
13
13
  hana (1.3.7)
14
- json_schemer (2.4.0)
14
+ json_schemer (2.5.0)
15
15
  bigdecimal
16
16
  hana (~> 1.3)
17
17
  regexp_parser (~> 2.0)
18
18
  simpleidn (~> 0.2)
19
- rake (13.3.0)
19
+ rake (13.3.1)
20
20
  regexp_parser (2.11.3)
21
- rspec (3.13.1)
21
+ rspec (3.13.2)
22
22
  rspec-core (~> 3.13.0)
23
23
  rspec-expectations (~> 3.13.0)
24
24
  rspec-mocks (~> 3.13.0)
25
- rspec-core (3.13.5)
25
+ rspec-core (3.13.6)
26
26
  rspec-support (~> 3.13.0)
27
27
  rspec-expectations (3.13.5)
28
28
  diff-lcs (>= 1.2.0, < 2.0)
29
29
  rspec-support (~> 3.13.0)
30
- rspec-mocks (3.13.5)
30
+ rspec-mocks (3.13.8)
31
31
  diff-lcs (>= 1.2.0, < 2.0)
32
32
  rspec-support (~> 3.13.0)
33
- rspec-support (3.13.6)
33
+ rspec-support (3.13.7)
34
34
  simpleidn (0.2.3)
35
- thor (1.4.0)
35
+ thor (1.5.0)
36
36
 
37
37
  PLATFORMS
38
38
  ruby
39
39
 
40
40
  DEPENDENCIES
41
- rake (~> 13.3.0)
41
+ rake (~> 13.3)
42
42
  rsmp_schema!
43
- rspec (~> 3.13.0)
44
- rspec-expectations (~> 3.13.0)
43
+ rspec (~> 3.13)
44
+ rspec-expectations (~> 3.13)
45
45
 
46
46
  BUNDLED WITH
47
47
  2.7.2
@@ -167,6 +167,20 @@ module RSMP::Schema
167
167
  find_schema(type,version, options) != nil
168
168
  end
169
169
 
170
+ # return a catalogue of statuses for a particular schema type and version
171
+ # returns a hash of { status_code_id_sym => [arg_name_sym, ...] }
172
+ # raises an error if the schema type/version is not found, or has no sxl.yaml
173
+ def self.status_catalogue type, version
174
+ find_schema! type, version
175
+ schemas_path = File.expand_path( File.join(__dir__,'..','..','schemas') )
176
+ yaml_path = File.join(schemas_path, type.to_s, version, 'sxl.yaml')
177
+ raise RuntimeError.new("No sxl.yaml for #{type} #{version}") unless File.exist?(yaml_path)
178
+ sxl = RSMP::Convert::Import::YAML.read(yaml_path)
179
+ sxl[:statuses].transform_keys(&:to_sym).transform_values do |status|
180
+ (status['arguments'] || {}).keys.map(&:to_sym)
181
+ end
182
+ end
183
+
170
184
  # validate using a particular schema and version
171
185
  # raises error if schema is not found
172
186
  # return nil if validation succeds, otherwise returns an array of errors
@@ -1,5 +1,5 @@
1
1
  module RSMP
2
2
  module Schema
3
- VERSION = "0.9.1"
3
+ VERSION = "0.10.0"
4
4
  end
5
5
  end
data/rsmp_schema.gemspec CHANGED
@@ -30,10 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_dependency "json_schemer", "~> 2.4.0"
34
- spec.add_dependency "thor", "~> 1.4.0"
33
+ spec.add_dependency "json_schemer", "~> 2.5"
34
+ spec.add_dependency "thor", "~> 1.5"
35
35
 
36
- spec.add_development_dependency "rake", "~> 13.3.0"
37
- spec.add_development_dependency "rspec", "~> 3.13.0"
38
- spec.add_development_dependency "rspec-expectations", "~> 3.13.0"
36
+ spec.add_development_dependency "rake", "~> 13.3"
37
+ spec.add_development_dependency "rspec", "~> 3.13"
38
+ spec.add_development_dependency "rspec-expectations", "~> 3.13"
39
39
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp_schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-09-19 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: json_schemer
@@ -15,70 +15,70 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 2.4.0
18
+ version: '2.5'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 2.4.0
25
+ version: '2.5'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: thor
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 1.4.0
32
+ version: '1.5'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 1.4.0
39
+ version: '1.5'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rake
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 13.3.0
46
+ version: '13.3'
47
47
  type: :development
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 13.3.0
53
+ version: '13.3'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: rspec
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 3.13.0
60
+ version: '3.13'
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 3.13.0
67
+ version: '3.13'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: rspec-expectations
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 3.13.0
74
+ version: '3.13'
75
75
  type: :development
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 3.13.0
81
+ version: '3.13'
82
82
  description: Validate RSMP message using RSMP JSON Schema. Support validating against
83
83
  core and different SXL's, in different versions.
84
84
  email:
@@ -980,7 +980,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
980
980
  - !ruby/object:Gem::Version
981
981
  version: '0'
982
982
  requirements: []
983
- rubygems_version: 3.6.2
983
+ rubygems_version: 4.0.3
984
984
  specification_version: 4
985
985
  summary: Validate RSMP message using RSMP JSON Schema.
986
986
  test_files: []