rsmp_schema 0.2.2 → 0.2.5

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: 8c5718eb96e00289525b0997cc296fcc93b029966d40c80a544d7b075d4c870b
4
- data.tar.gz: c64cabf0d6cf081bd1434401eb9794691ac126dcf2fe64316ddbfe3fbef31f5e
3
+ metadata.gz: da6aa7917da1551ed490189b8b6d782c9ae6c6d4baf4b46adabcc21cc801cc19
4
+ data.tar.gz: a916a1d6fbc64fcdc050f1be7a4d6c2a603497c54e73baa58c7d775c8c39c803
5
5
  SHA512:
6
- metadata.gz: 454414a51cf1e8ffa4f978a997ca702726058d82a0e1e0e6645fc74122e945d42584b38926a97a464ecbb591ec3afaf23e85a4639f704815abf431895c3e2f52
7
- data.tar.gz: a48f7a8aa43283cd5448376c7f26f7c060d10fda7caf7e95f1b0f6e54c81432af867a9cbfa25ff6cb7608d1868e04fa1c9b6b5677e7550358e11073b18539634
6
+ metadata.gz: 675151863b4bbbffa9d6598e833dcda25d48cf0ce332c9ce05e035fe7f6567269e1b180032182335eeeaf2ae915fc78a75478116f21fcfa496809cffdbeeaf49
7
+ data.tar.gz: baf90db70f6950c2a7c20bec201d4b347fd478e5716f71fdef263db690edf8423df45ad0531fef3a26b8ade57eec0eacfb3ac1004dde88420f197a9740345285
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp_schema (0.2.2)
4
+ rsmp_schema (0.2.5)
5
5
  json_schemer (~> 0.2.21)
6
6
  thor (~> 1.2.1)
7
7
 
@@ -108,13 +108,19 @@ module RSMP
108
108
  # convert yaml values to jsons schema enum
109
109
  def self.handle_enum item, out
110
110
  if item["values"]
111
- case item["values"]
111
+ out["enum"] = case item["values"]
112
112
  when Hash
113
- out["enum"] = item["values"].keys.sort
113
+ item["values"].keys.sort
114
114
  when Array
115
- out["enum"] = item["values"].sort
115
+ item["values"].sort
116
116
  else
117
- raise "Error: Values must be specified as either a Hash or an Array"
117
+ raise "Error: Values must be specified as either a Hash or an Array, got #{item["values"].class}"
118
+ end.map do |v|
119
+ if v.is_a?(Integer) || v.is_a?(Float)
120
+ v.to_s
121
+ else
122
+ v
123
+ end
118
124
  end
119
125
  end
120
126
  end
@@ -1,5 +1,5 @@
1
1
  module RSMP
2
2
  module Schema
3
- VERSION = "0.2.2"
3
+ VERSION = "0.2.5"
4
4
  end
5
5
  end
@@ -99,7 +99,7 @@
99
99
  "properties": { "type": { "const": "StatusResponse" } }
100
100
  },
101
101
  "then": {
102
- "$ref": "../3.1.3/status_response.json"
102
+ "$ref": "../3.2/status_response.json"
103
103
  }
104
104
  },
105
105
  {
@@ -126,7 +126,7 @@
126
126
  "properties": { "type": { "const": "StatusUpdate" } }
127
127
  },
128
128
  "then": {
129
- "$ref": "../3.1.3/status_update.json"
129
+ "$ref": "../3.2/status_update.json"
130
130
  }
131
131
  }
132
132
  ]
@@ -0,0 +1,30 @@
1
+ {
2
+ "title" : "StatusResponse",
3
+ "description" : "Status response",
4
+ "properties" : {
5
+ "mId" : { "$ref": "../3.1.1/definitions.json#/message_id" },
6
+ "cId" : { "$ref": "../3.1.1/definitions.json#/component_id" },
7
+ "sTs" : { "$ref": "../3.1.1/definitions.json#/timestamp" },
8
+ "sS" : {
9
+ "description" : "Status response arguments",
10
+ "type" : "array",
11
+ "minItems": 1,
12
+ "items" : {
13
+ "type" : "object",
14
+ "properties": {
15
+ "sCI" : { "$ref": "../3.1.1/definitions.json#/status_code" },
16
+ "n" : { "description" : "Unique reference of the value", "type" : "string" },
17
+ "s" : { "description" : "Value", "type" : ["string"," array"] }, // 3.2 allow arrays
18
+ "q" : {
19
+ "description" : "Value",
20
+ "type" : "string",
21
+ "enum" : [ "recent", "old", "undefined", "unknown" ]
22
+ }
23
+ },
24
+ "required" : [ "sCI", "n", "s", "q" ],
25
+ "additionalProperties": false
26
+ }
27
+ }
28
+ },
29
+ "required" : [ "mId", "cId", "sTs", "sS" ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "title" : "StatusUpdate",
3
+ "description" : "Status update",
4
+ "properties" : {
5
+ "mId" : { "$ref": "../3.1.1/definitions.json#/message_id" },
6
+ "cId" : { "$ref": "../3.1.1/definitions.json#/component_id" },
7
+ "sTs" : { "$ref": "../3.1.1/definitions.json#/timestamp" },
8
+ "sS" : {
9
+ "description" : "Status update arguments",
10
+ "type" : "array",
11
+ "minItems": 1,
12
+ "items" : {
13
+ "type" : "object",
14
+ "properties": {
15
+ "sCI" : { "$ref": "../3.1.1/definitions.json#/status_code" },
16
+ "n" : { "description" : "Unique reference of the value", "type" : "string" },
17
+ "s" : { "description" : "Value", "type" : ["string","array"] }, // array is allowed from 3.2
18
+ "q" : {
19
+ "description" : "Value",
20
+ "type" : "string",
21
+ "enum" : [ "recent", "old", "undefined", "unknown" ]
22
+ }
23
+ },
24
+ "required" : [ "sCI", "n", "s", "q" ],
25
+ "additionalProperties": false
26
+ }
27
+ }
28
+ },
29
+ "required" : [ "mId", "cId", "sTs", "sS" ]
30
+ }
@@ -26,11 +26,10 @@
26
26
  "s" : {
27
27
  "allOf" : [
28
28
  {
29
- "description" : "0: Nobody logged in \n1: Operator logged in at level 1 (read only) \n2: Operator logged in at level 2 (read/write)",
30
29
  "enum" : [
31
- 0,
32
- 1,
33
- 2
30
+ "0",
31
+ "1",
32
+ "2"
34
33
  ]
35
34
  },
36
35
  {
@@ -26,11 +26,10 @@
26
26
  "s" : {
27
27
  "allOf" : [
28
28
  {
29
- "description" : "0: Nobody logged in \n1: Operator logged in at level 1 (read only) \n2: Operator logged in at level 2 (read/write)",
30
29
  "enum" : [
31
- 0,
32
- 1,
33
- 2
30
+ "0",
31
+ "1",
32
+ "2"
34
33
  ]
35
34
  },
36
35
  {
@@ -781,8 +781,7 @@ objects:
781
781
  arguments:
782
782
  user:
783
783
  type: integer
784
- values: [0,1,2]
785
- description: |-
784
+ values:
786
785
  0: Nobody logged in
787
786
  1: Operator logged in at level 1 (read only)
788
787
  2: Operator logged in at level 2 (read/write)
@@ -793,8 +792,7 @@ objects:
793
792
  arguments:
794
793
  user:
795
794
  type: integer
796
- values: [0,1,2]
797
- description: |-
795
+ values:
798
796
  0: Nobody logged in
799
797
  1: Operator logged in at level 1 (read only)
800
798
  2: Operator logged in at level 2 (read/write)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp_schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-25 00:00:00.000000000 Z
11
+ date: 2022-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_schemer
@@ -155,6 +155,8 @@ files:
155
155
  - schemas/core/3.2/alarm.json
156
156
  - schemas/core/3.2/core.json
157
157
  - schemas/core/3.2/rsmp.json
158
+ - schemas/core/3.2/status_response.json
159
+ - schemas/core/3.2/status_update.json
158
160
  - schemas/tlc/1.0.10/alarms/A0001.json
159
161
  - schemas/tlc/1.0.10/alarms/A0002.json
160
162
  - schemas/tlc/1.0.10/alarms/A0003.json