edn-abnf 0.5.37 → 0.5.38

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: e0f64289932889f6db2279a914988e7216a97977abaa03d7cf94ce185d7318c2
4
- data.tar.gz: 619f9b5f1e029409c668eb5a43794523519f8a8789d69bc918264ab74f8cfe4f
3
+ metadata.gz: 66e20181db646536c0fa4eabd1527ba580085825de03eb89e0e26f4437e215ed
4
+ data.tar.gz: 15e82108df4dede7ab0dc29bebbfc7c6fc5e6e028a3a16de86615d3691c6db9d
5
5
  SHA512:
6
- metadata.gz: '05696d0f506625417e09b429819aee2c6905d6250b85f8e8df48b66922ccea56db6c5ecc0b6657bc383daa3c9170aa9b5b5c14bc59d32eab20d80f00ce8ad7fa'
7
- data.tar.gz: dbdf3d08c3ad50af80f0285692fd655855419e38e88e0e6aab9561262fce195296f9c2c96465fd2a6fe8ad46df8f79f6478a28c1b54e7dfcb4c33e8bbe16f0f8
6
+ metadata.gz: a95ef3f7c9c857cdbff5b6d1e60854fc6c268afc3d98052c3f236686505cd10b62e6e52e8f320b35b0514039b0e77d1fb3ab09f4bc561dd4741654970fa1d4b0
7
+ data.tar.gz: 72ba10c6341a342dc2b19030fb0d0993094564fc398c24ec8673911ce9453eca0950e7a954829c413c348e71625481038612025a3a34cc506d346e99580b0776
data/bin/edn-abnf CHANGED
@@ -104,6 +104,9 @@ begin
104
104
  opts.on("-f", "--[no-]fallback", "use tag 999 for unknown app-extensions") do |v|
105
105
  $options.fallback = v
106
106
  end
107
+ opts.on("-b", "--[no-]brace", "retry parsind with braces around added") do |v|
108
+ $options.brace = v
109
+ end
107
110
  opts.on("-wCOL", "--wrap=COL", Integer, "EDN: wrap at column COL") do |v|
108
111
  $options.wrap = v
109
112
  end
@@ -200,7 +203,15 @@ begin
200
203
  if $options.cbor
201
204
  result = CBOR.decode(edn_file)
202
205
  else
203
- edn = EDN.from_edn(edn_file)
206
+ if $options.brace
207
+ begin
208
+ edn = EDN.from_edn(edn_file)
209
+ rescue ArgumentError # Parse error
210
+ edn = EDN.from_edn("{\n" + edn_file + "}\n")
211
+ end
212
+ else
213
+ edn = EDN.from_edn(edn_file)
214
+ end
204
215
  result = edn.tree # XXX .tree?
205
216
  end
206
217
  rescue CBOR_DIAG::AppParseError, ArgumentError => e
data/edn-abnf.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "edn-abnf"
3
- s.version = "0.5.37"
3
+ s.version = "0.5.38"
4
4
  s.summary = "CBOR Extended Diagnostic Notation (EDN) implemented in ABNF"
5
5
  s.description = %q{edn-abnf implements converters and miscellaneous tools for CBOR EDN's ABNF}
6
6
  s.author = "Carsten Bormann"
@@ -64,6 +64,8 @@ module CBOR
64
64
  end
65
65
 
66
66
  class Xbox < Box
67
+ def encoding; value.encoding end
68
+ def size; value.size end
67
69
  def to_cbor
68
70
  enc = CBOR.encode(value)
69
71
  if ei = options[:ei]
@@ -4792,7 +4792,12 @@ module EDNGRAMMAR
4792
4792
  unless Set[*strings.map(&:encoding)].size == 1
4793
4793
  warn "*** mixed streamstring #{strings.cbor_diagnostic}"
4794
4794
  end
4795
- strings.join.cbor_stream!(strings.map(&:size))
4795
+ strings.each do |s|
4796
+ if CBOR::Xbox === s && (ei = s.options[:ei])
4797
+ warn "*** unimplemented encoding indicator #{ei.inspect} for #{s.inspect}"
4798
+ end
4799
+ end
4800
+ strings.join.cbor_stream!(strings.map(&:size)) # XXX loses EI
4796
4801
  end
4797
4802
  end
4798
4803
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edn-abnf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.37
4
+ version: 0.5.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann