cbor-diag 0.7.0 → 0.7.5
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/cbor-diag.gemspec +1 -1
- data/lib/cbor-diag-parser.rb +3 -3
- data/lib/cbor-diagnostic.rb +4 -3
- data/lib/cbor-pretty.rb +6 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36101912bb86f641e4c04004a324eba80c29a7cdcee234a2a6f1164e3ea9d516
|
4
|
+
data.tar.gz: 6f816256cfdba5cdab63e732e59f42ff8359c7e4d25cb53ca0ce643cd08b44f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cab76345e0b6622175a9dcafe58c90d870e45cc09fdefa521b5b1c9166090226b3a946d845df086792137002203357b6a35e1aec9e0382345e2b2fe2c4c4b9a7
|
7
|
+
data.tar.gz: de0383207189021f25c9e37eeb563872e74d5344b9dd2087d3394dc8162de7a1052c38d60052988208242fb66ab97833ac262c09f4f6c3877c8ae3d041afab83
|
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.7.
|
3
|
+
s.version = "0.7.5"
|
4
4
|
s.summary = "CBOR (Concise Binary Object Representation) diagnostic notation"
|
5
5
|
s.description = %q{cbor-diag implements diagnostic notation for CBOR, RFC 8949 and RFC 8742}
|
6
6
|
s.author = "Carsten Bormann"
|
data/lib/cbor-diag-parser.rb
CHANGED
@@ -1101,7 +1101,7 @@ module CBOR_DIAG
|
|
1101
1101
|
end
|
1102
1102
|
|
1103
1103
|
module StringPart0
|
1104
|
-
def partval; text_value end
|
1104
|
+
def partval; text_value.b end
|
1105
1105
|
end
|
1106
1106
|
|
1107
1107
|
module StringPart1
|
@@ -1545,12 +1545,12 @@ module CBOR_DIAG
|
|
1545
1545
|
data = s.elements.map(&:partval).join.b
|
1546
1546
|
app = a.text_value
|
1547
1547
|
# Find a better place to put a default initialization
|
1548
|
-
CBOR_DIAG
|
1548
|
+
CBOR_DIAG.const_set(:APPS, Hash.new { |h, k|
|
1549
1549
|
h[k] = begin CBOR_DIAG.const_get("App_#{app}")
|
1550
1550
|
rescue NameError
|
1551
1551
|
raise ArgumentError.new("cbor-diagnostic: Unknown application-oriented extension #{k}")
|
1552
1552
|
end
|
1553
|
-
}
|
1553
|
+
}) unless CBOR_DIAG.const_defined?(:APPS)
|
1554
1554
|
CBOR_DIAG::APPS[app].decode(app, data)
|
1555
1555
|
end
|
1556
1556
|
end
|
data/lib/cbor-diagnostic.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
unless defined?(CBOR)
|
3
3
|
require 'cbor-pure'
|
4
4
|
end
|
5
|
+
require 'json'
|
5
6
|
|
6
7
|
class Object
|
7
8
|
def cbor_diagnostic(_=nil)
|
@@ -55,7 +56,7 @@ class String
|
|
55
56
|
result << dv
|
56
57
|
end
|
57
58
|
return "<< #{result.map{|x| x.cbor_diagnostic(options)}.join(", ")} >>"
|
58
|
-
rescue
|
59
|
+
rescue StandardError => e
|
59
60
|
# that didn't work out, so continue with other options
|
60
61
|
# puts e.backtrace
|
61
62
|
end
|
@@ -67,9 +68,9 @@ class String
|
|
67
68
|
end
|
68
69
|
else
|
69
70
|
if options[:utf8]
|
70
|
-
|
71
|
+
to_json
|
71
72
|
else
|
72
|
-
|
73
|
+
to_json.encode(Encoding::UTF_16BE).bytes.each_slice(2).map {
|
73
74
|
|c1, c2| c = (c1 << 8)+c2; c < 128 ? c.chr : '\u%04x' % c }.join
|
74
75
|
end
|
75
76
|
end
|
data/lib/cbor-pretty.rb
CHANGED
@@ -4,10 +4,14 @@
|
|
4
4
|
unless defined?(CBOR)
|
5
5
|
require 'cbor-pure'
|
6
6
|
end
|
7
|
+
require 'json'
|
8
|
+
|
9
|
+
UPPERCASE_HEX = ENV["UPPERCASE_HEX"]
|
10
|
+
HEX_FORMAT = UPPERCASE_HEX ? "%02X" : "%02x"
|
7
11
|
|
8
12
|
class String
|
9
13
|
def hexbytes(sep = '')
|
10
|
-
bytes.map{|x|
|
14
|
+
bytes.map{|x| HEX_FORMAT % x}.join(sep)
|
11
15
|
end
|
12
16
|
end
|
13
17
|
|
@@ -72,7 +76,7 @@ module CBOR
|
|
72
76
|
when 2, 3
|
73
77
|
@out << ' ' * (@indent)
|
74
78
|
s = take_and_print(val)
|
75
|
-
@out << " # #{s.inspect}"
|
79
|
+
@out << " # #{s.force_encoding(Encoding::UTF_8).to_json rescue s.inspect}"
|
76
80
|
@out << "\n"
|
77
81
|
when 4; val.times { pretty_item }
|
78
82
|
when 5; val.times { pretty_item; pretty_item}
|
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.7.
|
4
|
+
version: 0.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -190,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
190
|
- !ruby/object:Gem::Version
|
191
191
|
version: '0'
|
192
192
|
requirements: []
|
193
|
-
rubygems_version: 3.2.
|
193
|
+
rubygems_version: 3.2.32
|
194
194
|
signing_key:
|
195
195
|
specification_version: 4
|
196
196
|
summary: CBOR (Concise Binary Object Representation) diagnostic notation
|