cddl 0.8.7 → 0.8.8

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: a1ea2bf2dc32b878d1b13b034af9adf11e9ded105c1247dd98a759f44c2cd053
4
- data.tar.gz: be5b780a163635d0e0ff63a2e163cb4d6c3eb611b13afab275dfe34bfe6259f4
3
+ metadata.gz: 6c877883cb125426e061f527ba4375c0f021d70dfef060336fe0bb0f5e2ca3d4
4
+ data.tar.gz: 7a3dc4065f3616bf57c229b410782b35140018ecada4418c0ef45056c62aef0b
5
5
  SHA512:
6
- metadata.gz: 44b483cabbfd59e46e91629d60492bf63eeb965dd94eaee4860abe7ba3210be47a19f39870f61119610d250c14d29e2d7c9933a1ecc5da18f0b03bf5b97de97f
7
- data.tar.gz: 8933cc8d606b6c4492817414cb167211c5a13b5f9d55ec19a8b3fb50e919d6311909df99510144a78859ddd68bacb27158665d1efd60782dec7458ea3059e6c0
6
+ metadata.gz: b3987fbe82e80dddba2f650b1a12941ed6092708297302cf1a78dfe45b20b79d08e85901cb8739b5fc79eab8cde70ca8efb88698f4340da72c722a7a461565c6
7
+ data.tar.gz: 68c35688bac9b30411ee419e171860c463df28c3452bce1741399274e51295b609e0acc8df54e9876037f9d96ba02e369fd9465c2fe7c38bb9682d5ec19018cd
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'cddl'
3
- s.version = '0.8.7'
3
+ s.version = '0.8.8'
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')
@@ -392,15 +392,19 @@ module CDDL
392
392
  case where[1]
393
393
  when :size
394
394
  should_be_int = generate1(control)
395
- unless (target == [:prim, 2] || target == [:prim, 0]) && Integer === should_be_int && should_be_int >= 0
395
+ unless (Array === target && target[0] == :prim && [0, 2, 3].include?(target[1])) && Integer === should_be_int && should_be_int >= 0
396
396
  fail "Don't know yet how to generate #{where}"
397
397
  end
398
398
  s = Random.new.bytes(should_be_int)
399
- if target == [:prim, 0]
399
+ case target[1]
400
+ when 0
400
401
  # silently restrict to what we can put into a uint
401
402
  s[0...8].bytes.inject(0) {|a, b| a << 8 | b }
402
- else
403
+ when 2
403
404
  s
405
+ when 3
406
+ Base64.urlsafe_encode64(s)[0...should_be_int]
407
+ # XXX generate word a la w = gen_word
404
408
  end
405
409
  when :bits
406
410
  set_of_bits = Array.new(10) { generate1(control) } # XXX: ten?
@@ -0,0 +1,7 @@
1
+ foo = [a, b, c]
2
+
3
+ a = uint .size 4
4
+
5
+ b = bytes .size 4
6
+
7
+ c = text .size (0..30)
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.8.7
4
+ version: 0.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-04 00:00:00.000000000 Z
11
+ date: 2018-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cbor-diag
@@ -106,6 +106,7 @@ files:
106
106
  - test-data/cose.cddl
107
107
  - test-data/dcaf.cddl
108
108
  - test-data/dcaf1.cddl
109
+ - test-data/dotsize.cddl
109
110
  - test-data/extractor-demo.cddl
110
111
  - test-data/grasp-01-extract.cddl
111
112
  - test-data/grasp-01-test.cddl