hessian 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ Rake::TestTask.new do |t|
9
9
  t.warning = true
10
10
  end
11
11
 
12
- PKG_VERSION = "0.5.2"
12
+ PKG_VERSION = "0.5.3"
13
13
  PKG_FILES = FileList[
14
14
  'LICENSE',
15
15
  'Rakefile',
data/lib/hessian.rb CHANGED
@@ -144,12 +144,18 @@ module Hessian
144
144
  # Skip the list length if specified.
145
145
  @data.slice!(0, 5) if @data[0,1] == 'l'
146
146
  @refs << (list = [])
147
- list << parse_object while @data[0,1] != 'z'; list
147
+ list << parse_object while @data[0,1] != 'z'
148
+ # Get rid of the 'z'.
149
+ @data.slice!(0, 1)
150
+ list
148
151
  when 'M'
149
152
  # Skip type + type length (2 bytes) if specified.
150
153
  @data.slice!(0, 3 + @data.unpack('an')[1]) if @data[0,1] == 't'
151
154
  @refs << (map = {})
152
- map[parse_object()] = parse_object while @data[0,1] != 'z'; map
155
+ map[parse_object()] = parse_object while @data[0,1] != 'z'
156
+ # Get rid of the 'z'.
157
+ @data.slice!(0, 1)
158
+ map
153
159
  else
154
160
  raise "Invalid type: '#{t}'"
155
161
  end
@@ -46,9 +46,9 @@ class HessianParserTest < Test::Unit::TestCase
46
46
  "I\000\000\000\003zzz" ].join)
47
47
  end
48
48
  def test_map
49
- map = { 'numbers' => [ 1.1, 1.2, 1.3 ] }
49
+ map = { 'sillen' => 32, 'numbers' => [ 1.1, 1.2, 1.3 ] }
50
50
  assert_equal map, parse([ "r\001\000Mt\000\000S\000\anumbersVt\000\a[double",
51
51
  "l\000\000\000\003D?\361\231\231\231\231\231\232D?\363333333D?",
52
52
  "\364\314\314\314\314\314\315zS\000\006sillenI\000\000\000 zz" ].join)
53
53
  end
54
- end
54
+ end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: hessian
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.2
7
- date: 2006-02-25 00:00:00 +01:00
6
+ version: 0.5.3
7
+ date: 2006-04-10 00:00:00 +02:00
8
8
  summary: A Ruby Hessian client.
9
9
  require_paths:
10
10
  - lib