canoser 0.1.3 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b745e1e19b7edc1370a40fbe838de85573cabb4c5bd15c80e334411a2b12d883
4
- data.tar.gz: 0b6ec30cd496ea7161980bd765ef183e79a839639360b9b54456d813dc2043b0
3
+ metadata.gz: d70a0abafe449ee46bfb323381d0307de7c8d6e94d8b640ed5b29f72aaa5bc47
4
+ data.tar.gz: 73913dd579fb39e87fbb087abf4e9643b10285ed393061b77b7dfea4a5bec114
5
5
  SHA512:
6
- metadata.gz: fd05217db468838857f2bf3713d2557f7b9d31fe5a2d1bd69a8ae0c29547b15c669e0d80501bb7a782c6bf7235022d5047f272fe14e863f253b752845d9e0c18
7
- data.tar.gz: 178b83a2e40b543a54c78d4834b1d5a435f11ea3893fce18e4e0541fc9e75a87e9157828fdabc3b5232ec4121ca7c12d86529f06c2b67240ac88de8167b2d53b
6
+ metadata.gz: 4d93102e906c91b700f80f5bd47b2e2d5af71695aa08e8712ec92ac1a34d2f8b3d2a361d335105e47567f7ae3dde6014e22a650102f72fcbaa139cfa5f0d8ff7
7
+ data.tar.gz: 0dfd582b8feaf27e943c5cff6043c8e35a0d5c86739ba5ef5a38caffd428721c7bab5f89e9fc8f84793a607455e42e0a25e6276d30e8f7c18ca83ad6cda1e723
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- canoser (0.1.2)
4
+ canoser (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -95,7 +95,7 @@ module Canoser
95
95
  len.times do
96
96
  str << Uint8.decode(cursor)
97
97
  end
98
- str
98
+ str
99
99
  end
100
100
  end
101
101
 
@@ -110,19 +110,21 @@ module Canoser
110
110
 
111
111
  def encode(arr)
112
112
  output = ""
113
- output << Uint32.encode(arr.size) unless @fixed_len
113
+ output << Uint32.encode(arr.size)
114
114
  arr.each{|x| output << @type.encode(x)}
115
115
  output
116
116
  end
117
117
 
118
118
  def decode(cursor)
119
119
  arr = []
120
- len = @fixed_len
121
- len = Uint32.decode(cursor) unless @fixed_len
120
+ len = Uint32.decode(cursor)
121
+ if @fixed_len && len != @fixed_len
122
+ raise ParseError.new("fix-len:#{@fixed_len} != #{len}")
123
+ end
122
124
  len.times do
123
125
  arr << @type.decode(cursor)
124
126
  end
125
- arr
127
+ arr
126
128
  end
127
129
 
128
130
  def ==(other)
@@ -1,3 +1,3 @@
1
1
  module Canoser
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canoser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - yuan xinyu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-04 00:00:00.000000000 Z
11
+ date: 2019-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  requirements: []
125
125
  rubyforge_project:
126
- rubygems_version: 2.7.7
126
+ rubygems_version: 2.7.6
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: A ruby implementation of the canonical serialization for the Libra network.