cztop 0.11.0 → 0.11.1
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/CHANGES.md +4 -0
- data/Guardfile +1 -1
- data/lib/cztop/metadata.rb +18 -9
- data/lib/cztop/version.rb +1 -1
- 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: 8f1316481428acef63d4abeb76be289cd66c68b8
|
4
|
+
data.tar.gz: af1ab69820e817b6610d5aa776974c89d492e3d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfab10569af81b300ba07b378daddab55ff32445b4002af600c8dbe44e6c79908f740f53a5c20f09dac6db477c32a7486e66237d503741b04c8d03045264e8aa
|
7
|
+
data.tar.gz: d8160d639ede7013d1163c7ca770fbfa1a2fa7ef985c3b8cb5a6b1ca8ffea012e78e27223ddf2a85b0ccda03f18dc85734c3fd039e64a41e97bb80296d69789b
|
data/CHANGES.md
CHANGED
data/Guardfile
CHANGED
data/lib/cztop/metadata.rb
CHANGED
@@ -22,6 +22,8 @@ module CZTop
|
|
22
22
|
|
23
23
|
|
24
24
|
# @param metadata [Hash<Symbol, #to_s>]
|
25
|
+
# @raise [ArgumentError] when properties have an invalid, too long, or
|
26
|
+
# duplicated name, or when a value is too long
|
25
27
|
# @return [String]
|
26
28
|
def self.dump(metadata)
|
27
29
|
ic_names = Set.new
|
@@ -44,24 +46,31 @@ module CZTop
|
|
44
46
|
end.join
|
45
47
|
end
|
46
48
|
|
47
|
-
# @param
|
49
|
+
# @param data [String, Frame, #to_s] the data representing the metadata
|
48
50
|
# @return [Hash]
|
49
|
-
def self.load(
|
51
|
+
def self.load(data)
|
50
52
|
properties = {}
|
51
|
-
|
52
|
-
|
53
|
-
#
|
54
|
-
name_length =
|
53
|
+
consumed = 0
|
54
|
+
while consumed < data.bytesize # while there are bytes to read
|
55
|
+
# read property name
|
56
|
+
name_length = data.byteslice(consumed).unpack("C").first # never nil
|
55
57
|
raise InvalidData, "zero-length property name" if name_length.zero?
|
56
|
-
name =
|
58
|
+
name = data.byteslice(consumed + 1, name_length)
|
59
|
+
raise InvalidData, "incomplete name" if name.bytesize != name_length
|
57
60
|
name_sym = name.to_sym.downcase
|
58
61
|
if properties.has_key?(name_sym)
|
59
62
|
raise InvalidData, "property #{name.inspect}: duplicate name"
|
60
63
|
end
|
64
|
+
consumed += 1 + name.bytesize
|
61
65
|
|
62
|
-
|
63
|
-
|
66
|
+
# read property value
|
67
|
+
value_length = data.byteslice(consumed, 4).unpack("N").first or
|
68
|
+
raise InvalidData, "incomplete length"
|
69
|
+
value = data.byteslice(consumed + 4, value_length)
|
70
|
+
raise InvalidData, "incomplete value" if value.bytesize != value_length
|
71
|
+
consumed += 4 + value.bytesize
|
64
72
|
|
73
|
+
# remember
|
65
74
|
properties[name_sym] = value
|
66
75
|
end
|
67
76
|
new(properties)
|
data/lib/cztop/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cztop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrik Wenger
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: czmq-ffi-gen
|