qrpc 0.4.0 → 0.9.0
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/CHANGES.txt +9 -6
- data/Gemfile +10 -4
- data/Gemfile.lock +34 -12
- data/LICENSE.txt +1 -1
- data/README.md +92 -25
- data/Rakefile +2 -1
- data/TODO.md +1 -3
- data/VERSION +1 -1
- data/lib/qrpc/client.rb +13 -5
- data/lib/qrpc/client/dispatcher.rb +66 -50
- data/lib/qrpc/client/exception.rb +8 -37
- data/lib/qrpc/client/job.rb +49 -16
- data/lib/qrpc/general.rb +61 -1
- data/lib/qrpc/generator/object-id.rb +43 -0
- data/lib/qrpc/generator/uuid.rb +43 -0
- data/lib/qrpc/locator.rb +11 -85
- data/lib/qrpc/locator/em-jack.rb +160 -0
- data/lib/qrpc/locator/evented-queue.rb +101 -0
- data/lib/qrpc/protocol/abstract.rb +119 -0
- data/lib/qrpc/protocol/abstract/error.rb +54 -0
- data/lib/qrpc/protocol/abstract/object.rb +81 -0
- data/lib/qrpc/protocol/abstract/request.rb +126 -0
- data/lib/qrpc/protocol/abstract/response.rb +103 -0
- data/lib/qrpc/protocol/json-rpc.rb +32 -0
- data/lib/qrpc/protocol/json-rpc/error.rb +71 -0
- data/lib/qrpc/protocol/json-rpc/native/exception-data.rb +247 -0
- data/lib/qrpc/protocol/json-rpc/native/qrpc-object.rb +137 -0
- data/lib/qrpc/protocol/json-rpc/request.rb +140 -0
- data/lib/qrpc/protocol/json-rpc/response.rb +146 -0
- data/lib/qrpc/protocol/object.rb +32 -0
- data/lib/qrpc/protocol/object/error.rb +46 -0
- data/lib/qrpc/protocol/object/request.rb +111 -0
- data/lib/qrpc/protocol/object/response.rb +93 -0
- data/lib/qrpc/server.rb +63 -48
- data/lib/qrpc/server/dispatcher.rb +5 -107
- data/lib/qrpc/server/job.rb +69 -19
- data/qrpc.gemspec +55 -19
- data/test-both.rb +85 -0
- data/test-client.rb +36 -8
- data/test-server.rb +17 -12
- metadata +181 -31
- data/lib/qrpc/protocol/exception-data.rb +0 -227
- data/lib/qrpc/protocol/qrpc-object.rb +0 -103
- data/lib/qrpc/protocol/request.rb +0 -46
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qrpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,44 +9,123 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json-rpc-objects
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.4.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.4.1
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement:
|
31
|
+
name: PriorityQueue
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
31
36
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
37
|
+
version: 0.1.2
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.1.2
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
47
|
+
name: unified-queues
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0
|
53
|
+
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: evented-queue
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
47
78
|
- !ruby/object:Gem::Dependency
|
48
79
|
name: eventmachine
|
49
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: hash-utils
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.1.0
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.1.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: em-wrapper
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: abstract
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
50
129
|
none: false
|
51
130
|
requirements:
|
52
131
|
- - ! '>='
|
@@ -54,21 +133,63 @@ dependencies:
|
|
54
133
|
version: '0'
|
55
134
|
type: :runtime
|
56
135
|
prerelease: false
|
57
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: em-jack
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 0.1.3
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.1.3
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: hashie
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 1.0.0
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 1.0.0
|
58
174
|
- !ruby/object:Gem::Dependency
|
59
175
|
name: uuid
|
60
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
61
177
|
none: false
|
62
178
|
requirements:
|
63
179
|
- - ! '>='
|
64
180
|
- !ruby/object:Gem::Version
|
65
|
-
version: 2.
|
181
|
+
version: 2.0.0
|
66
182
|
type: :runtime
|
67
183
|
prerelease: false
|
68
|
-
version_requirements:
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 2.0.0
|
69
190
|
- !ruby/object:Gem::Dependency
|
70
191
|
name: bundler
|
71
|
-
requirement:
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
72
193
|
none: false
|
73
194
|
requirements:
|
74
195
|
- - ! '>='
|
@@ -76,10 +197,15 @@ dependencies:
|
|
76
197
|
version: 1.0.0
|
77
198
|
type: :development
|
78
199
|
prerelease: false
|
79
|
-
version_requirements:
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 1.0.0
|
80
206
|
- !ruby/object:Gem::Dependency
|
81
207
|
name: jeweler2
|
82
|
-
requirement:
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
83
209
|
none: false
|
84
210
|
requirements:
|
85
211
|
- - ! '>='
|
@@ -87,7 +213,12 @@ dependencies:
|
|
87
213
|
version: 2.0.0
|
88
214
|
type: :development
|
89
215
|
prerelease: false
|
90
|
-
version_requirements:
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 2.0.0
|
91
222
|
description:
|
92
223
|
email: martinkozak@martinkozak.net
|
93
224
|
executables: []
|
@@ -110,20 +241,39 @@ files:
|
|
110
241
|
- lib/qrpc/client/exception.rb
|
111
242
|
- lib/qrpc/client/job.rb
|
112
243
|
- lib/qrpc/general.rb
|
244
|
+
- lib/qrpc/generator/object-id.rb
|
245
|
+
- lib/qrpc/generator/uuid.rb
|
113
246
|
- lib/qrpc/locator.rb
|
114
|
-
- lib/qrpc/
|
115
|
-
- lib/qrpc/
|
116
|
-
- lib/qrpc/protocol/
|
247
|
+
- lib/qrpc/locator/em-jack.rb
|
248
|
+
- lib/qrpc/locator/evented-queue.rb
|
249
|
+
- lib/qrpc/protocol/abstract.rb
|
250
|
+
- lib/qrpc/protocol/abstract/error.rb
|
251
|
+
- lib/qrpc/protocol/abstract/object.rb
|
252
|
+
- lib/qrpc/protocol/abstract/request.rb
|
253
|
+
- lib/qrpc/protocol/abstract/response.rb
|
254
|
+
- lib/qrpc/protocol/json-rpc.rb
|
255
|
+
- lib/qrpc/protocol/json-rpc/error.rb
|
256
|
+
- lib/qrpc/protocol/json-rpc/native/exception-data.rb
|
257
|
+
- lib/qrpc/protocol/json-rpc/native/qrpc-object.rb
|
258
|
+
- lib/qrpc/protocol/json-rpc/request.rb
|
259
|
+
- lib/qrpc/protocol/json-rpc/response.rb
|
260
|
+
- lib/qrpc/protocol/object.rb
|
261
|
+
- lib/qrpc/protocol/object/error.rb
|
262
|
+
- lib/qrpc/protocol/object/request.rb
|
263
|
+
- lib/qrpc/protocol/object/response.rb
|
117
264
|
- lib/qrpc/server.rb
|
118
265
|
- lib/qrpc/server/dispatcher.rb
|
119
266
|
- lib/qrpc/server/job.rb
|
120
267
|
- qrpc.gemspec
|
268
|
+
- test-both.rb
|
121
269
|
- test-client.rb
|
122
270
|
- test-server.rb
|
123
271
|
homepage: http://github.com/martinkozak/qrpc
|
124
272
|
licenses:
|
125
273
|
- MIT
|
126
|
-
post_install_message:
|
274
|
+
post_install_message: ! "\nQRPC: API of the 0.9.x version (and 1.0 in future) is partialy
|
275
|
+
incompatible with the older versions. Modifications of your current applications
|
276
|
+
may be necessary for upgrading them to the latest version. \n\n"
|
127
277
|
rdoc_options: []
|
128
278
|
require_paths:
|
129
279
|
- lib
|
@@ -135,7 +285,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
285
|
version: '0'
|
136
286
|
segments:
|
137
287
|
- 0
|
138
|
-
hash: -
|
288
|
+
hash: -3326613635152724256
|
139
289
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
290
|
none: false
|
141
291
|
requirements:
|
@@ -144,11 +294,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
294
|
version: '0'
|
145
295
|
requirements: []
|
146
296
|
rubyforge_project:
|
147
|
-
rubygems_version: 1.8.
|
297
|
+
rubygems_version: 1.8.24
|
148
298
|
signing_key:
|
149
299
|
specification_version: 3
|
150
|
-
summary: Queued
|
151
|
-
|
152
|
-
|
300
|
+
summary: Queued RPC client and server. Works as normal RPC server, but through queue
|
301
|
+
interface, so allows highly scalable, distributed and asynchronous remote API implementation
|
302
|
+
and fast data processing. It's based on EventMachine and typically on Beanstalk,
|
153
303
|
so it's fast and thread safe.
|
154
304
|
test_files: []
|
@@ -1,227 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require "json-rpc-objects/generic/object"
|
3
|
-
require "qrpc/protocol/qrpc-object"
|
4
|
-
require "base64"
|
5
|
-
|
6
|
-
##
|
7
|
-
# General QRPC module.
|
8
|
-
#
|
9
|
-
|
10
|
-
module QRPC
|
11
|
-
|
12
|
-
##
|
13
|
-
# JSON RPC helper module.
|
14
|
-
# @since 0.2.0
|
15
|
-
#
|
16
|
-
|
17
|
-
module Protocol
|
18
|
-
|
19
|
-
##
|
20
|
-
# Exception data QRPC JSON-RPC object.
|
21
|
-
# @since 0.2.0
|
22
|
-
#
|
23
|
-
|
24
|
-
class ExceptionData < JsonRpcObjects::Generic::Object
|
25
|
-
|
26
|
-
##
|
27
|
-
# Holds JSON-RPC version indication.
|
28
|
-
#
|
29
|
-
|
30
|
-
VERSION = QRPC::Protocol::QrpcObject::VERSION
|
31
|
-
|
32
|
-
##
|
33
|
-
# Holds exception name.
|
34
|
-
# @return [Symbol]
|
35
|
-
#
|
36
|
-
|
37
|
-
attr_accessor :name
|
38
|
-
@name
|
39
|
-
|
40
|
-
##
|
41
|
-
# Holds exception message.
|
42
|
-
# @return [String]
|
43
|
-
#
|
44
|
-
|
45
|
-
attr_accessor :message
|
46
|
-
@message
|
47
|
-
|
48
|
-
##
|
49
|
-
# Holds backtrace. See readme for structure details.
|
50
|
-
# @return [Array]
|
51
|
-
#
|
52
|
-
|
53
|
-
attr_accessor :backtrace
|
54
|
-
@backtrace
|
55
|
-
|
56
|
-
##
|
57
|
-
# Holds native dump. See readme for structure details.
|
58
|
-
# @return [Class]
|
59
|
-
#
|
60
|
-
|
61
|
-
attr_accessor :dump
|
62
|
-
@dump
|
63
|
-
|
64
|
-
##
|
65
|
-
# Indicates, data are encoded and should be decoded.
|
66
|
-
#
|
67
|
-
|
68
|
-
@__encoded
|
69
|
-
|
70
|
-
##
|
71
|
-
# Creates new QRPC JSON-RPC object.
|
72
|
-
#
|
73
|
-
# @overload create(exception, nil, opts = { })
|
74
|
-
# Creates from exception.
|
75
|
-
# @param [Exception] exception exception object
|
76
|
-
# @param [NilClass] nil (not applicable)
|
77
|
-
# @param [Hash] opts optional members of object
|
78
|
-
# @overload create(name, message, opts = { })
|
79
|
-
# Creates from exception description.
|
80
|
-
# @param [Symbol, String] name exception name
|
81
|
-
# @param [Object] exception message
|
82
|
-
# @param [Hash] opts optional members of object
|
83
|
-
# @return [QRPC::Protocol::ExceptionData] new instance
|
84
|
-
#
|
85
|
-
|
86
|
-
def self.create(arg1, message = nil, opts = { })
|
87
|
-
if arg1.kind_of? ::Exception
|
88
|
-
mode = :decoded
|
89
|
-
data = {
|
90
|
-
:name => arg1.class.name,
|
91
|
-
:message => arg1.message,
|
92
|
-
:backtrace => arg1.backtrace,
|
93
|
-
:dump => {
|
94
|
-
"format" => "ruby",
|
95
|
-
"object" => arg1
|
96
|
-
}
|
97
|
-
}
|
98
|
-
else
|
99
|
-
mode = :encoded
|
100
|
-
data = {
|
101
|
-
:name => arg1,
|
102
|
-
:message => message
|
103
|
-
}
|
104
|
-
end
|
105
|
-
|
106
|
-
data.merge! opts
|
107
|
-
return self::new(data, mode)
|
108
|
-
end
|
109
|
-
|
110
|
-
##
|
111
|
-
# Constructor.
|
112
|
-
# @param [Hash] data for initializing the object
|
113
|
-
#
|
114
|
-
|
115
|
-
def initialize(data, mode = :encoded)
|
116
|
-
@__encoded = (mode == :encoded)
|
117
|
-
super(data)
|
118
|
-
end
|
119
|
-
|
120
|
-
##
|
121
|
-
# Checks correctness of the object data.
|
122
|
-
#
|
123
|
-
|
124
|
-
def check!
|
125
|
-
self.normalize!
|
126
|
-
|
127
|
-
if not @name.kind_of? Symbol
|
128
|
-
raise Exception::new("Exception name is expected to be Symbol or convertable to symbol.")
|
129
|
-
end
|
130
|
-
|
131
|
-
if not @backtrace.nil? and not @backtrace.kind_of? Array
|
132
|
-
raise Exception::new("Backtrace is expected to be an Array.")
|
133
|
-
end
|
134
|
-
|
135
|
-
if not @dump.nil?
|
136
|
-
if @dump.object.nil? and @dump.raw.nil?
|
137
|
-
raise Exception::new("Either object or RAW form of the dump must be set if dump is set.")
|
138
|
-
elsif @dump.format.nil? or not @dump.format.kind_of? Symbol
|
139
|
-
raise Exception::new("Dump format must be set and must be Symbol.")
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
##
|
145
|
-
# Renders data to output form.
|
146
|
-
# @return [Hash] with data of object
|
147
|
-
#
|
148
|
-
|
149
|
-
def output
|
150
|
-
result = {
|
151
|
-
:name => @name.to_s,
|
152
|
-
:message => @message,
|
153
|
-
}
|
154
|
-
|
155
|
-
# Backtrace
|
156
|
-
if @backtrace.kind_of? Array
|
157
|
-
result[:backtrace] = @backtrace.map { |i| Base64.encode64(i) }
|
158
|
-
end
|
159
|
-
|
160
|
-
# Dump
|
161
|
-
if not @dump.nil?
|
162
|
-
result[:dump] = {
|
163
|
-
:format => @dump.format,
|
164
|
-
}
|
165
|
-
|
166
|
-
if not dump.object.nil?
|
167
|
-
raw = Base64.encode64(Marshal.dump(dump.object))
|
168
|
-
else
|
169
|
-
raw = dump.raw
|
170
|
-
end
|
171
|
-
|
172
|
-
result[:dump][:raw] = raw
|
173
|
-
end
|
174
|
-
|
175
|
-
return result
|
176
|
-
end
|
177
|
-
|
178
|
-
|
179
|
-
protected
|
180
|
-
|
181
|
-
##
|
182
|
-
# Assigns data.
|
183
|
-
#
|
184
|
-
|
185
|
-
def data=(value, mode = nil)
|
186
|
-
data = __convert_data(value, mode)
|
187
|
-
|
188
|
-
# Required
|
189
|
-
@name = data[:name]
|
190
|
-
@message = data[:message]
|
191
|
-
|
192
|
-
# Backtrace
|
193
|
-
backtrace = data[:backtrace]
|
194
|
-
|
195
|
-
if @__encoded and (backtrace.kind_of? Array)
|
196
|
-
@backtrace = backtrace.map { |i| Base64.decode64(i) }
|
197
|
-
end
|
198
|
-
|
199
|
-
# Dump
|
200
|
-
dump = data[:dump]
|
201
|
-
|
202
|
-
if dump.kind_of? Hash
|
203
|
-
@dump = Struct::new(:format, :raw, :object)::new(dump["format"].downcase.to_sym, dump["raw"], dump["object"])
|
204
|
-
|
205
|
-
if not @dump.raw.nil? and @dump.object.nil? and (@dump.format == :ruby)
|
206
|
-
@dump.object = Marshal.load(Base64.decode64(@dump.raw))
|
207
|
-
end
|
208
|
-
end
|
209
|
-
|
210
|
-
end
|
211
|
-
|
212
|
-
##
|
213
|
-
# Converts data to standard (defined) format.
|
214
|
-
#
|
215
|
-
|
216
|
-
def normalize!
|
217
|
-
@name = @name.to_sym
|
218
|
-
|
219
|
-
if not @dump.nil?
|
220
|
-
@dump.format = @dump.format.to_sym
|
221
|
-
end
|
222
|
-
end
|
223
|
-
|
224
|
-
end
|
225
|
-
|
226
|
-
end
|
227
|
-
end
|