msgpack 1.1.0-java → 1.2.0-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19831b3c2ba3059a3e03396b1055b676e33073e4
4
- data.tar.gz: 4973055f8bf5490df6f53a283e6691b0ed3bf102
3
+ metadata.gz: 76195c9f274420256ead6849c75009c188463b05
4
+ data.tar.gz: f1ce6c52929a86fca9732a613eb3cd1c2f4cd158
5
5
  SHA512:
6
- metadata.gz: 8ab43e74ac44fbefcd721bed6dd941d708e14d01cb0c0ec9833538e121489ccf7f6c731e819dcc0cfa71cde237f4433dd27b663943e22440e396ff94990972e1
7
- data.tar.gz: 270ecc5aa846251f0b541798f16c2e5d46af01881b04224ea8a345554a38fda2bd430b015c6dc7edf9e005a48e6bd403b8c5c2ae8d12dd342706727c10130472
6
+ metadata.gz: 8bb780d31189fef84bf81a637cf0e8eec0132d058da7c3531ff80db02bc7a0a3dcc574b0da769525cc61bcca8f9db47108315e7f8328df3fe57d091c2f9fb8fd
7
+ data.tar.gz: b0674e2b240d88c99977df9c7e2c943a51cbc3904e211c835edc8b5aaa96bfee4a1b41fc344728451177b642de0584cbe362a57da788f127f99f49394f982969
@@ -16,3 +16,35 @@ require "msgpack/packer"
16
16
  require "msgpack/unpacker"
17
17
  require "msgpack/factory"
18
18
  require "msgpack/symbol"
19
+ require "msgpack/core_ext"
20
+
21
+ module MessagePack
22
+ DefaultFactory = MessagePack::Factory.new
23
+
24
+ def load(src, param = nil)
25
+ unpacker = nil
26
+
27
+ if src.is_a? String
28
+ unpacker = DefaultFactory.unpacker param
29
+ unpacker.feed src
30
+ else
31
+ unpacker = DefaultFactory.unpacker src, param
32
+ end
33
+
34
+ unpacker.full_unpack
35
+ end
36
+ alias :unpack :load
37
+
38
+ module_function :load
39
+ module_function :unpack
40
+
41
+ def pack(v, *rest)
42
+ packer = DefaultFactory.packer(*rest)
43
+ packer.write v
44
+ packer.full_pack
45
+ end
46
+ alias :dump :pack
47
+
48
+ module_function :pack
49
+ module_function :dump
50
+ end
@@ -0,0 +1,139 @@
1
+ module MessagePack
2
+ module CoreExt
3
+ def to_msgpack(packer_or_io = nil)
4
+ if packer_or_io
5
+ if packer_or_io.is_a?(MessagePack::Packer)
6
+ to_msgpack_with_packer packer_or_io
7
+ else
8
+ MessagePack.pack(self, packer_or_io)
9
+ end
10
+ else
11
+ MessagePack.pack(self)
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ class NilClass
18
+ include MessagePack::CoreExt
19
+
20
+ private
21
+ def to_msgpack_with_packer(packer)
22
+ packer.write_nil
23
+ packer
24
+ end
25
+ end
26
+
27
+ class TrueClass
28
+ include MessagePack::CoreExt
29
+
30
+ private
31
+ def to_msgpack_with_packer(packer)
32
+ packer.write_true
33
+ packer
34
+ end
35
+ end
36
+
37
+ class FalseClass
38
+ include MessagePack::CoreExt
39
+
40
+ private
41
+ def to_msgpack_with_packer(packer)
42
+ packer.write_false
43
+ packer
44
+ end
45
+ end
46
+
47
+ class Float
48
+ include MessagePack::CoreExt
49
+
50
+ private
51
+ def to_msgpack_with_packer(packer)
52
+ packer.write_float self
53
+ packer
54
+ end
55
+ end
56
+
57
+ class String
58
+ include MessagePack::CoreExt
59
+
60
+ private
61
+ def to_msgpack_with_packer(packer)
62
+ packer.write_string self
63
+ packer
64
+ end
65
+ end
66
+
67
+ class Array
68
+ include MessagePack::CoreExt
69
+
70
+ private
71
+ def to_msgpack_with_packer(packer)
72
+ packer.write_array self
73
+ packer
74
+ end
75
+ end
76
+
77
+ class Hash
78
+ include MessagePack::CoreExt
79
+
80
+ private
81
+ def to_msgpack_with_packer(packer)
82
+ packer.write_hash self
83
+ packer
84
+ end
85
+ end
86
+
87
+ class Symbol
88
+ include MessagePack::CoreExt
89
+
90
+ private
91
+ def to_msgpack_with_packer(packer)
92
+ packer.write_symbol self
93
+ packer
94
+ end
95
+ end
96
+
97
+ if 1.class.name == "Integer"
98
+ class Integer
99
+ include MessagePack::CoreExt
100
+
101
+ private
102
+ def to_msgpack_with_packer(packer)
103
+ packer.write_int self
104
+ packer
105
+ end
106
+ end
107
+ else
108
+ class Fixnum
109
+ include MessagePack::CoreExt
110
+
111
+ private
112
+ def to_msgpack_with_packer(packer)
113
+ packer.write_int self
114
+ packer
115
+ end
116
+ end
117
+
118
+ class Bignum
119
+ include MessagePack::CoreExt
120
+
121
+ private
122
+ def to_msgpack_with_packer(packer)
123
+ packer.write_int self
124
+ packer
125
+ end
126
+ end
127
+ end
128
+
129
+ module MessagePack
130
+ class ExtensionValue
131
+ include CoreExt
132
+
133
+ private
134
+ def to_msgpack_with_packer(packer)
135
+ packer.write_extension self
136
+ packer
137
+ end
138
+ end
139
+ end
@@ -56,5 +56,26 @@ module MessagePack
56
56
  raise ArgumentError, "class or type id"
57
57
  end
58
58
  end
59
+
60
+ def load(src, param = nil)
61
+ unpacker = nil
62
+
63
+ if src.is_a? String
64
+ unpacker = unpacker(param)
65
+ unpacker.feed(src)
66
+ else
67
+ unpacker = unpacker(src, param)
68
+ end
69
+
70
+ unpacker.full_unpack
71
+ end
72
+ alias :unpack :load
73
+
74
+ def dump(v, *rest)
75
+ packer = packer(*rest)
76
+ packer.write(v)
77
+ packer.full_pack
78
+ end
79
+ alias :pack :dump
59
80
  end
60
81
  end
@@ -1,3 +1,3 @@
1
1
  module MessagePack
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -44,6 +44,32 @@ describe MessagePack::Factory do
44
44
  end
45
45
  end
46
46
 
47
+ describe '#dump and #load' do
48
+ it 'can be used like a standard coder' do
49
+ subject.register_type(0x00, Symbol)
50
+ expect(subject.load(subject.dump(:symbol))).to be == :symbol
51
+ end
52
+
53
+ it 'is alias as pack and unpack' do
54
+ subject.register_type(0x00, Symbol)
55
+ expect(subject.unpack(subject.pack(:symbol))).to be == :symbol
56
+ end
57
+
58
+ it 'accept options' do
59
+ hash = subject.unpack(MessagePack.pack('k' => 'v'), symbolize_keys: true)
60
+ expect(hash).to be == { k: 'v' }
61
+ end
62
+ end
63
+
64
+ describe '#freeze' do
65
+ it 'can freeze factory instance to deny new registrations anymore' do
66
+ subject.register_type(0x00, Symbol)
67
+ subject.freeze
68
+ expect(subject.frozen?).to be_truthy
69
+ expect{ subject.register_type(0x01, Array) }.to raise_error(RuntimeError, "can't modify frozen Factory")
70
+ end
71
+ end
72
+
47
73
  class MyType
48
74
  def initialize(a, b)
49
75
  @a = a
@@ -178,6 +178,28 @@ describe MessagePack::Packer do
178
178
  Array.new.to_msgpack.class.should == String
179
179
  end
180
180
 
181
+ it 'to_msgpack with packer equals to_msgpack' do
182
+ nil.to_msgpack(MessagePack::Packer.new).to_str.should == nil.to_msgpack
183
+ true.to_msgpack(MessagePack::Packer.new).to_str.should == true.to_msgpack
184
+ false.to_msgpack(MessagePack::Packer.new).to_str.should == false.to_msgpack
185
+ 1.to_msgpack(MessagePack::Packer.new).to_str.should == 1.to_msgpack
186
+ 1.0.to_msgpack(MessagePack::Packer.new).to_str.should == 1.0.to_msgpack
187
+ "".to_msgpack(MessagePack::Packer.new).to_str.should == "".to_msgpack
188
+ Hash.new.to_msgpack(MessagePack::Packer.new).to_str.should == Hash.new.to_msgpack
189
+ Array.new.to_msgpack(MessagePack::Packer.new).to_str.should == Array.new.to_msgpack
190
+ end
191
+
192
+ it 'raises type error on wrong type' do
193
+ packer = MessagePack::Packer.new
194
+ expect { packer.write_float "hello" }.to raise_error(TypeError)
195
+ expect { packer.write_string 1 }.to raise_error(TypeError)
196
+ expect { packer.write_array "hello" }.to raise_error(TypeError)
197
+ expect { packer.write_hash "hello" }.to raise_error(TypeError)
198
+ expect { packer.write_symbol "hello" }.to raise_error(TypeError)
199
+ expect { packer.write_int "hello" }.to raise_error(TypeError)
200
+ expect { packer.write_extension "hello" }.to raise_error(TypeError)
201
+ end
202
+
181
203
  class CustomPack01
182
204
  def to_msgpack(pk=nil)
183
205
  return MessagePack.pack(self, pk) unless pk.class == MessagePack::Packer
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msgpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: java
6
6
  authors:
7
7
  - Sadayuki Furuhashi
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-02-28 00:00:00.000000000 Z
13
+ date: 2017-12-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  requirement: !ruby/object:Gem::Requirement
@@ -29,17 +29,17 @@ dependencies:
29
29
  - !ruby/object:Gem::Dependency
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 0.9.2
34
+ version: '0'
35
35
  name: rake
36
36
  prerelease: false
37
37
  type: :development
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "~>"
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 0.9.2
42
+ version: '0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
@@ -71,17 +71,17 @@ dependencies:
71
71
  - !ruby/object:Gem::Dependency
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "~>"
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 0.8.2
76
+ version: '0'
77
77
  name: yard
78
78
  prerelease: false
79
79
  type: :development
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - "~>"
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: 0.8.2
84
+ version: '0'
85
85
  - !ruby/object:Gem::Dependency
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
@@ -106,8 +106,8 @@ extensions: []
106
106
  extra_rdoc_files: []
107
107
  files:
108
108
  - lib/msgpack.rb
109
+ - lib/msgpack/core_ext.rb
109
110
  - lib/msgpack/factory.rb
110
- - lib/msgpack/msgpack.jar
111
111
  - lib/msgpack/packer.rb
112
112
  - lib/msgpack/symbol.rb
113
113
  - lib/msgpack/unpacker.rb
@@ -183,4 +183,3 @@ test_files:
183
183
  - spec/spec_helper.rb
184
184
  - spec/unpack_spec.rb
185
185
  - spec/unpacker_spec.rb
186
- has_rdoc: false
Binary file