cbor-diag 0.4.0 → 0.5.0
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-diagnostic.rb +1 -1
- data/lib/cbor-pretty.rb +6 -2
- data/lib/cbor-pure.rb +27 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13e320fc5d92c4a1b1b94320c49548de74e047a0
|
4
|
+
data.tar.gz: e897c69215772160e7336baa86b0d37ab76d12c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e681c9c67393f2790fbdcd4e2f53f878fb8b39b58a74b814d897221010609ccd6ef1851fef674f96f61db2b48aa90c1c16d59ff57e761368f45c86c7c4360224
|
7
|
+
data.tar.gz: dbd1bb358112ad7eb5de9737b5e8e98d9b6dd6095db0f4eca96bb3e49167cfd4fa11ad8467488f75e09ed6639df09dff244277a6bd2d7c441f82060038bfa2d2
|
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.
|
3
|
+
s.version = "0.5.0"
|
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"
|
data/lib/cbor-diagnostic.rb
CHANGED
data/lib/cbor-pretty.rb
CHANGED
@@ -12,11 +12,13 @@ class String
|
|
12
12
|
end
|
13
13
|
|
14
14
|
|
15
|
-
|
15
|
+
module CBOR
|
16
16
|
def self.pretty(s, indent = 0, max_target = 40)
|
17
|
-
new(s).pretty_item_final(indent, max_target)
|
17
|
+
Buffer.new(s).pretty_item_final(indent, max_target)
|
18
18
|
end
|
19
19
|
|
20
|
+
class Buffer
|
21
|
+
|
20
22
|
def take_and_print(n, prefix = '')
|
21
23
|
s = take(n)
|
22
24
|
@out << prefix
|
@@ -85,4 +87,6 @@ class CBOR
|
|
85
87
|
}.join
|
86
88
|
end
|
87
89
|
|
90
|
+
end
|
91
|
+
|
88
92
|
end
|
data/lib/cbor-pure.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require "half.rb"
|
4
4
|
|
5
5
|
|
6
|
-
|
6
|
+
module CBOR
|
7
7
|
class OutOfBytesError < RuntimeError
|
8
8
|
def initialize(bytes)
|
9
9
|
@bytes = bytes
|
@@ -28,16 +28,26 @@ class CBOR
|
|
28
28
|
Hash.send(:include, Streaming)
|
29
29
|
String.send(:include, Streaming)
|
30
30
|
|
31
|
+
module CoreExt
|
32
|
+
def to_cbor
|
33
|
+
CBOR.encode(self)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
Object.send(:include, CoreExt)
|
37
|
+
|
31
38
|
class Break
|
32
39
|
end
|
33
40
|
BREAK = Break.new.freeze
|
34
41
|
|
35
|
-
Tagged = Struct.new(:tag, :
|
42
|
+
Tagged = Struct.new(:tag, :value) do
|
36
43
|
def to_s
|
37
|
-
"#{tag}(#{
|
44
|
+
"#{tag}(#{value})"
|
38
45
|
end
|
39
46
|
def inspect
|
40
|
-
"#{tag}(#{
|
47
|
+
"#{tag}(#{value.inspect})"
|
48
|
+
end
|
49
|
+
def data # backwards compat to pre-0.5.0
|
50
|
+
value
|
41
51
|
end
|
42
52
|
end
|
43
53
|
|
@@ -55,25 +65,27 @@ class CBOR
|
|
55
65
|
end
|
56
66
|
|
57
67
|
def self.encode(d)
|
58
|
-
new.add(d).buffer
|
68
|
+
Buffer.new.add(d).buffer
|
59
69
|
end
|
60
70
|
def self.encode_seq(ds)
|
61
|
-
out = new
|
71
|
+
out = Buffer.new
|
62
72
|
ds.each do |d|
|
63
73
|
out.add(d)
|
64
74
|
end
|
65
75
|
out.buffer
|
66
76
|
end
|
67
77
|
def self.decode(s)
|
68
|
-
new(s).decode_item_final
|
78
|
+
Buffer.new(s).decode_item_final
|
69
79
|
end
|
70
80
|
def self.decode_with_rest(s)
|
71
|
-
new(s).decode_item_with_rest
|
81
|
+
Buffer.new(s).decode_item_with_rest
|
72
82
|
end
|
73
83
|
def self.decode_seq(s)
|
74
|
-
new(s).decode_items
|
84
|
+
Buffer.new(s).decode_items
|
75
85
|
end
|
76
86
|
|
87
|
+
class Buffer
|
88
|
+
|
77
89
|
attr_reader :buffer
|
78
90
|
def initialize(s = String.new)
|
79
91
|
@buffer = s
|
@@ -149,7 +161,7 @@ class CBOR
|
|
149
161
|
when nil; head(0xe0, 22)
|
150
162
|
when Tagged # we don't handle :simple here
|
151
163
|
head(0xc0, d.tag)
|
152
|
-
add(d.
|
164
|
+
add(d.value)
|
153
165
|
when String
|
154
166
|
lengths = d.cbor_stream?
|
155
167
|
e = d
|
@@ -301,4 +313,9 @@ class CBOR
|
|
301
313
|
end
|
302
314
|
ret
|
303
315
|
end
|
316
|
+
|
317
|
+
|
318
|
+
end
|
319
|
+
|
320
|
+
|
304
321
|
end
|
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.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|