cddl 0.9.1 → 0.9.2

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/cddl.gemspec +1 -1
  3. data/data/cddl.abnf +1 -1
  4. data/lib/cddl.rb +9 -8
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c5fe473658f795abcc5e1599dd18ea3e62525c2f595a8e6c36d4fc9fa7654e8
4
- data.tar.gz: 1d3789efc876946703170afb3aca08e458ad19c18ef8c8a5477852ab02fcc78d
3
+ metadata.gz: d0421b3c93de64adf3d90584becbfa60257bb370e3db6e565a1843125e4832f9
4
+ data.tar.gz: 2a9d2a7bd2cfe35ce4a7417118310c041c6181c3ad5a3da453e4f1e9930e572b
5
5
  SHA512:
6
- metadata.gz: f108776ab78dd95aa075e3450bcf121c8374508cbe9df27a539090af5faa4f9e70d378b39318bdd0b47ef97b29228ec4796e32b0229084942ee7106cdcb567c4
7
- data.tar.gz: b642fe30b4c4aef6ee12fc42a7f1caab6b94ef3797789c5d7b8f190b447fdc4133669ddfa9ba923b91ce31760cfb41da6859b1e1c2d0d5b976f8133c2e742dc9
6
+ metadata.gz: b4296b97de561560d8464e3b96881f6574da70c8c10fba257feef0e0f6486a53b6edf0951e0deec74c5245e2e78a3dd0db83df16a7e45b62f94f3ed3817e1884
7
+ data.tar.gz: d0b2bcc1b06c5f06128696690704d1baff8cbd566c2a80fd172ef19b92ffb007ab70d430221fc989fefa658c6878d331f12c7532e7747241e806ecd670a176ff
data/cddl.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'cddl'
3
- s.version = '0.9.1'
3
+ s.version = '0.9.2'
4
4
  s.summary = "CDDL generator and validator."
5
5
  s.description = %{A parser, generator, and validator for CDDL}
6
6
  s.add_dependency('cbor-diag')
data/data/cddl.abnf CHANGED
@@ -71,7 +71,7 @@ SCHAR = %x20-21 / %x23-7E / SESC
71
71
  SESC = "\" %x20-7E
72
72
 
73
73
  bytes = [bsqual] %x27 *BCHAR %x27
74
- BCHAR = %x20-26 / %x28-7E / SESC / CRLF
74
+ BCHAR = %x20-26 / %x28-5B / %x5D-7E / SESC / CRLF
75
75
  bsqual = %x68 ; "h"
76
76
  / %x62.36.34 ; "b64"
77
77
 
data/lib/cddl.rb CHANGED
@@ -1119,20 +1119,21 @@ module CDDL
1119
1119
  # warn n
1120
1120
  s = n.to_s
1121
1121
  if s[-1] == "'"
1122
- parts = s.split("'", 3)
1123
- if parts[2] != "" || parts[1] =~ /\\/
1124
- warn "*** Can't handle backslashes in #{s.inspect} yet"
1122
+ bsqual, *parts = s.split("'", -1)
1123
+ if parts[-1] != ""
1124
+ warn "*** Problem decoding byte string #{s.inspect}"
1125
1125
  end
1126
+ bsval = parts[0...-1].join("'").gsub(/\\(.)/){$1}
1126
1127
  [:bytes,
1127
- case parts[0]
1128
+ case bsqual
1128
1129
  when ""
1129
- parts[1].b
1130
+ bsval.b
1130
1131
  when "h"
1131
- parts[1].gsub(/\s/, "").chars.each_slice(2).map{ |x| Integer(x.join, 16).chr("BINARY") }.join.b
1132
+ bsval.gsub(/\s/, "").chars.each_slice(2).map{ |x| Integer(x.join, 16).chr("BINARY") }.join.b
1132
1133
  when "b64"
1133
- Base64.urlsafe_decode64(parts[1])
1134
+ Base64.urlsafe_decode64(bsval)
1134
1135
  else
1135
- warn "*** Can't handle byte string type #{parts[0].inspect} yet"
1136
+ warn "*** Can't handle byte string type #{bsqual.inspect} yet"
1136
1137
  end
1137
1138
  ]
1138
1139
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-05 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cbor-diag