cddlc 0.4.3 → 0.4.4

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/bin/cddlc +8 -0
  3. data/cddlc.gemspec +1 -1
  4. data/lib/cddlc.rb +1 -0
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95eae361039777040d1a588dbb9ada107b6e747e4a164381be1fe49368b121e0
4
- data.tar.gz: 53420da6a203324093d55b2a31e2b36f0ad069403ae163369c81899ff0f4780a
3
+ metadata.gz: 170d7338cde350c8b6ee58e02b2c7b0ada1c72a1500b4ea9ce81414f9915f8a9
4
+ data.tar.gz: 6ac50c47755da10bea332c53b4986393541284197e266d1450d8035d11bf9333
5
5
  SHA512:
6
- metadata.gz: 79e2cb555fce8db52ad7657914c7bc2535683a7190609df6ddee83340e5aecde3122cb5cf1cea9144eb3c9abca3dbaff2abb0553eb9cc9baa71dae35c4eefbb6
7
- data.tar.gz: dedba1afd3df98b54d1c0ceeb584798c67ffe8a8fd414dbb1b80c516bee161d33f45711c44bf11075bbf85253d90a428312bf9f39d9a5936e55b6d97c28c1b0c
6
+ metadata.gz: 53a637266de716c2e8e3a20b225f1ec1a141e0a91ee84a0666bcf8698eb85f7044e842e3735288071da6a66aa72bd9fd34be2ad1db35bfe7fbbcfac834be9c2c
7
+ data.tar.gz: c4f41f0fb34bc103e5d667a82b27757ea044e974689044e0d56df842452748e359903d56d7a4d8bad9918bd3a7bdf04a09e413ddc3281b3d8247c6b40634d7e8
data/bin/cddlc CHANGED
@@ -42,6 +42,8 @@ require 'optparse'
42
42
  require 'ostruct'
43
43
 
44
44
  $options = OpenStruct.new
45
+ $options.auto_choices = {}
46
+
45
47
  begin
46
48
  op = OptionParser.new do |opts|
47
49
  opts.banner = "Usage: cddlc [options] [-e cddl | file.cddl... | -]"
@@ -100,6 +102,12 @@ begin
100
102
  $options.include ||= []
101
103
  $options.include << v
102
104
  end
105
+ opts.on("-TRULE", "--type-choice=RULE", String, "Treat multiple assignments to RULE as type choice") do |v|
106
+ $options.auto_choices[v] = ["tcho", "tadd"]
107
+ end
108
+ opts.on("-GRULE", "--group-choice=RULE", String, "Treat multiple assignments to RULE as group choice") do |v|
109
+ $options.auto_choices[v] = ["gcho", "gadd"]
110
+ end
103
111
  end
104
112
  op.parse!
105
113
  rescue StandardError => e
data/cddlc.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cddlc"
3
- s.version = "0.4.3"
3
+ s.version = "0.4.4"
4
4
  s.summary = "CDDL (Concise Data Definition Language) converters and miscellaneous tools"
5
5
  s.description = %q{cddlc implements converters and miscellaneous tools for CDDL, RFC 8610}
6
6
  s.author = "Carsten Bormann"
data/lib/cddlc.rb CHANGED
@@ -280,6 +280,7 @@ class CDDL
280
280
  when "name"
281
281
  fail unless name.size == 2
282
282
  name = name[1]
283
+ cho ||= $options.auto_choices[name] if @rules[name]
283
284
  when "gen"
284
285
  parmnames = name[2..-1]
285
286
  name = name[1] # XXX update val with parm/arg
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cddlc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  requirements: []
133
- rubygems_version: 3.7.2
133
+ rubygems_version: 4.0.8
134
134
  specification_version: 4
135
135
  summary: CDDL (Concise Data Definition Language) converters and miscellaneous tools
136
136
  test_files: []