cbor-diag 0.5.3 → 0.5.9
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 +4 -4
- data/bin/cbor2diag.rb +7 -1
- data/bin/cborleader2diag.rb +10 -0
- data/bin/cborseq2neatjson.rb +11 -0
- data/cbor-diag.gemspec +2 -1
- data/lib/cbor-diag-parser.rb +5 -5
- data/lib/cbor-diagnostic.rb +14 -0
- metadata +24 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c881af90822830a91b0437b51dcc4f321c4672adf94bacea8e22b756ff87474c
|
4
|
+
data.tar.gz: 1c35d18f9f7df6690f4930e26da43e1f50282e0b227a8da0e905b86d262e9866
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75f6d9bccbb3f122f8873b7614b52c93a597f21447a42c9961c289611e22d00644a954307323213a0ec74ad003321fac1541499a8d1d7a0b30a262b57d014628
|
7
|
+
data.tar.gz: 19b4d359e3e3d9702e7aae54347e018c74999f11af36c7a88525885114ba82e4e8631287d4ab32ae344580d772c59ffe41a6f6144558e4430e04ca85e4f35b7d
|
data/bin/cbor2diag.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'cbor-diagnostic'
|
3
3
|
|
4
|
+
options = ''
|
5
|
+
while /\A-([et]+)\z/ === ARGV[0]
|
6
|
+
options << $1
|
7
|
+
ARGV.shift
|
8
|
+
end
|
9
|
+
|
4
10
|
ARGF.binmode
|
5
11
|
i = ARGF.read
|
6
12
|
o = CBOR.decode(i)
|
7
|
-
puts o.cbor_diagnostic
|
13
|
+
puts o.cbor_diagnostic(try_decode_embedded: /e/ === options, bytes_as_text: /t/ === options)
|
data/cbor-diag.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cbor-diag"
|
3
|
-
s.version = "0.5.
|
3
|
+
s.version = "0.5.9"
|
4
4
|
s.summary = "CBOR (Concise Binary Object Representation) diagnostic notation"
|
5
5
|
s.description = %q{cbor-diag implements diagnostic notation for CBOR, RFC 7049}
|
6
6
|
s.author = "Carsten Bormann"
|
@@ -19,4 +19,5 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_development_dependency 'bundler', '~>1'
|
20
20
|
s.add_dependency 'treetop', '~>1'
|
21
21
|
s.add_dependency 'json'
|
22
|
+
s.add_dependency 'neatjson'
|
22
23
|
end
|
data/lib/cbor-diag-parser.rb
CHANGED
@@ -2265,7 +2265,7 @@ module CBOR_DIAG
|
|
2265
2265
|
module B64string2
|
2266
2266
|
#"
|
2267
2267
|
def to_rb;
|
2268
|
-
t = s.text_value.chars.each_slice(4).map(&:join)
|
2268
|
+
t = s.text_value.gsub(/\s/, '').chars.each_slice(4).map(&:join)
|
2269
2269
|
if last = t[-1]
|
2270
2270
|
last << "=" * (4 - last.size)
|
2271
2271
|
end
|
@@ -2297,11 +2297,11 @@ module CBOR_DIAG
|
|
2297
2297
|
i2, s2 = index, []
|
2298
2298
|
s3, i3 = [], index
|
2299
2299
|
loop do
|
2300
|
-
if has_terminal?(@regexps[gr = '\A[0-9a-zA-Z_
|
2300
|
+
if has_terminal?(@regexps[gr = '\A[0-9a-zA-Z_\\-+/\\s]'] ||= Regexp.new(gr), :regexp, index)
|
2301
2301
|
r4 = true
|
2302
2302
|
@index += 1
|
2303
2303
|
else
|
2304
|
-
terminal_parse_failure('[0-9a-zA-Z_
|
2304
|
+
terminal_parse_failure('[0-9a-zA-Z_\\-+/\\s]')
|
2305
2305
|
r4 = nil
|
2306
2306
|
end
|
2307
2307
|
if r4
|
@@ -2315,11 +2315,11 @@ module CBOR_DIAG
|
|
2315
2315
|
if r3
|
2316
2316
|
s5, i5 = [], index
|
2317
2317
|
loop do
|
2318
|
-
if has_terminal?(@regexps[gr = '\A[
|
2318
|
+
if has_terminal?(@regexps[gr = '\A[=\\s]'] ||= Regexp.new(gr), :regexp, index)
|
2319
2319
|
r6 = true
|
2320
2320
|
@index += 1
|
2321
2321
|
else
|
2322
|
-
terminal_parse_failure('[
|
2322
|
+
terminal_parse_failure('[=\\s]')
|
2323
2323
|
r6 = nil
|
2324
2324
|
end
|
2325
2325
|
if r6
|
data/lib/cbor-diagnostic.rb
CHANGED
@@ -46,6 +46,20 @@ class String
|
|
46
46
|
"(_ #{lengths.map{|l| r = self[pos, l].cbor_diagnostic(options); pos += l; r}.join(", ")})"
|
47
47
|
else
|
48
48
|
if encoding == Encoding::BINARY
|
49
|
+
if options[:try_decode_embedded] && self != ''
|
50
|
+
begin
|
51
|
+
rest = self
|
52
|
+
result = []
|
53
|
+
while rest != ''
|
54
|
+
dv, rest = CBOR.decode_with_rest(rest)
|
55
|
+
result << dv
|
56
|
+
end
|
57
|
+
return "<< #{result.map{|x| x.cbor_diagnostic(options)}.join(", ")} >>"
|
58
|
+
rescue RuntimeError => e
|
59
|
+
# that didn't work out, so continue with other options
|
60
|
+
# puts e.backtrace
|
61
|
+
end
|
62
|
+
end
|
49
63
|
if options[:bytes_as_text] && (u8 = dup.force_encoding(Encoding::UTF_8)).valid_encoding?
|
50
64
|
"'#{u8.cbor_diagnostic(options)[1..-2].gsub("'", "\\\\'")}'" # \' is a backref, so needs \\'
|
51
65
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cbor-diag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: neatjson
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description: cbor-diag implements diagnostic notation for CBOR, RFC 7049
|
56
70
|
email: cabo@tzi.org
|
57
71
|
executables:
|
@@ -59,7 +73,9 @@ executables:
|
|
59
73
|
- cbor2json.rb
|
60
74
|
- cbor2pretty.rb
|
61
75
|
- cbor2yaml.rb
|
76
|
+
- cborleader2diag.rb
|
62
77
|
- cborseq2json.rb
|
78
|
+
- cborseq2neatjson.rb
|
63
79
|
- cborseq2yaml.rb
|
64
80
|
- diag2cbor.rb
|
65
81
|
- diag2pretty.rb
|
@@ -75,7 +91,9 @@ files:
|
|
75
91
|
- bin/cbor2json.rb
|
76
92
|
- bin/cbor2pretty.rb
|
77
93
|
- bin/cbor2yaml.rb
|
94
|
+
- bin/cborleader2diag.rb
|
78
95
|
- bin/cborseq2json.rb
|
96
|
+
- bin/cborseq2neatjson.rb
|
79
97
|
- bin/cborseq2yaml.rb
|
80
98
|
- bin/diag2cbor.rb
|
81
99
|
- bin/diag2pretty.rb
|
@@ -94,7 +112,7 @@ homepage: http://cbor.io/
|
|
94
112
|
licenses:
|
95
113
|
- Apache-2.0
|
96
114
|
metadata: {}
|
97
|
-
post_install_message:
|
115
|
+
post_install_message:
|
98
116
|
rdoc_options: []
|
99
117
|
require_paths:
|
100
118
|
- lib
|
@@ -109,9 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
127
|
- !ruby/object:Gem::Version
|
110
128
|
version: '0'
|
111
129
|
requirements: []
|
112
|
-
|
113
|
-
|
114
|
-
signing_key:
|
130
|
+
rubygems_version: 3.2.3
|
131
|
+
signing_key:
|
115
132
|
specification_version: 4
|
116
133
|
summary: CBOR (Concise Binary Object Representation) diagnostic notation
|
117
134
|
test_files: []
|