beefcake 0.3.2 → 0.3.4
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.
- data/lib/beefcake.rb +4 -7
- data/lib/beefcake/version.rb +1 -1
- data/test/message_test.rb +13 -0
- metadata +4 -4
data/lib/beefcake.rb
CHANGED
@@ -161,21 +161,18 @@ module Beefcake
|
|
161
161
|
while tmp.length > 0
|
162
162
|
o[fld.name] << tmp.read(fld.type)
|
163
163
|
end
|
164
|
-
|
165
|
-
|
166
|
-
end
|
167
|
-
|
168
|
-
val = buf.read(fld.type)
|
169
|
-
if fld.rule == :repeated
|
164
|
+
elsif fld.rule == :repeated
|
165
|
+
val = buf.read(fld.type)
|
170
166
|
(o[fld.name] ||= []) << val
|
171
167
|
else
|
168
|
+
val = buf.read(fld.type)
|
172
169
|
o[fld.name] = val
|
173
170
|
end
|
174
|
-
|
175
171
|
end
|
176
172
|
|
177
173
|
# Set defaults
|
178
174
|
fields.values.each do |f|
|
175
|
+
next if o[f.name] == false
|
179
176
|
o[f.name] ||= f.opts[:default]
|
180
177
|
end
|
181
178
|
|
data/lib/beefcake/version.rb
CHANGED
data/test/message_test.rb
CHANGED
@@ -82,6 +82,12 @@ class RepeatedNestedMessage
|
|
82
82
|
repeated :simple, SimpleMessage, 1
|
83
83
|
end
|
84
84
|
|
85
|
+
class BoolMessage
|
86
|
+
include Beefcake::Message
|
87
|
+
|
88
|
+
required :bool, :bool, 1
|
89
|
+
end
|
90
|
+
|
85
91
|
class MessageTest < Test::Unit::TestCase
|
86
92
|
B = Beefcake::Buffer
|
87
93
|
|
@@ -172,6 +178,13 @@ class MessageTest < Test::Unit::TestCase
|
|
172
178
|
end
|
173
179
|
end
|
174
180
|
|
181
|
+
def test_decode_required_bool
|
182
|
+
msg = BoolMessage.new :bool => false
|
183
|
+
enc = msg.encode
|
184
|
+
dec = BoolMessage.decode(enc)
|
185
|
+
assert_equal false, dec.bool
|
186
|
+
end
|
187
|
+
|
175
188
|
def test_encode_repeated_field
|
176
189
|
buf = Beefcake::Buffer.new
|
177
190
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beefcake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 4
|
10
|
+
version: 0.3.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Blake Mizerany
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-06-
|
18
|
+
date: 2011-06-15 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|