msgpack-rpc-stack 0.1.0 → 0.5.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.
- checksums.yaml +4 -4
- data/lib/msgpack/rpc/server.rb +34 -15
- data/lib/msgpack/rpc/version.rb +1 -1
- data/msgpack-rpc-stack.gemspec +2 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a076daa3d4b5913027b23dc4cbf97ed6fd1cea1b69c4782bbade308c8a263d7f
|
4
|
+
data.tar.gz: 9249d7f1e6408016a56f5f5d70095edb087f75901a85b7b3f2c136b031a0f919
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb5c428879404a16066702148e49dc1dad327b18ddaf06aa62d96edcba7f72458ce1f8d3ff92beb60f3ba336df1597cf8362a0da6e682f5016f5ab535633005f
|
7
|
+
data.tar.gz: 583478e71b9ecdafddd647cec3a196e4a8dc320af8c934a8b5097f3226c574a28bf297065381a9b0558df5836ca314cef1dd7fd9fb9d1d4c21cb5890e606e7fe
|
data/lib/msgpack/rpc/server.rb
CHANGED
@@ -13,17 +13,18 @@ require 'msgpack/rpc'
|
|
13
13
|
module MessagePack
|
14
14
|
module Rpc
|
15
15
|
module Server
|
16
|
-
class Error < Exception
|
17
|
-
def initialize(data)
|
18
|
-
@data = data
|
19
|
-
end
|
20
|
-
|
21
|
-
attr_reader :data
|
22
|
-
end
|
23
|
-
|
24
16
|
class << self
|
25
17
|
def included(klass)
|
26
18
|
m = Module.new {
|
19
|
+
@@error = Class.new(StandardError) {
|
20
|
+
def initialize(label, data)
|
21
|
+
super("error ocurred on precedure \"#{label}\"")
|
22
|
+
@data = data
|
23
|
+
end
|
24
|
+
|
25
|
+
attr_reader :data
|
26
|
+
}
|
27
|
+
|
27
28
|
@@deferred = Class.new {
|
28
29
|
def initialize(id, klass)
|
29
30
|
@id = id
|
@@ -33,11 +34,29 @@ module MessagePack
|
|
33
34
|
def resolve(result)
|
34
35
|
packet = [1, @id, nil, result].to_msgpack
|
35
36
|
@klass.instance_eval {send_data(packet)}
|
37
|
+
|
38
|
+
class << self
|
39
|
+
undef_method :resolve, :reject
|
40
|
+
end
|
36
41
|
end
|
37
42
|
|
38
43
|
def reject(error)
|
39
44
|
packet = [1, @id, error, nil].to_msgpack
|
40
|
-
@klass.instance_eval {
|
45
|
+
@klass.instance_eval {
|
46
|
+
send_data(packet)
|
47
|
+
|
48
|
+
if not error.kind_of?(Exception)
|
49
|
+
label = caller_locations(3..3)[0].base_label
|
50
|
+
error = @@error.new(label, error)
|
51
|
+
end
|
52
|
+
|
53
|
+
error.set_backtrace(caller(3..-1))
|
54
|
+
error_occured(error)
|
55
|
+
}
|
56
|
+
|
57
|
+
class << self
|
58
|
+
undef_method :resolve, :reject
|
59
|
+
end
|
41
60
|
end
|
42
61
|
}
|
43
62
|
|
@@ -116,11 +135,11 @@ module MessagePack
|
|
116
135
|
end
|
117
136
|
private :do_notify
|
118
137
|
|
119
|
-
def error_occured(
|
138
|
+
def error_occured(e)
|
120
139
|
if self.respond_to?(:on_error, true)
|
121
|
-
__send__(:on_error,
|
140
|
+
__send__(:on_error, e)
|
122
141
|
else
|
123
|
-
STDERR.print("#{
|
142
|
+
STDERR.print("#{e.message}")
|
124
143
|
end
|
125
144
|
end
|
126
145
|
private :error_occured
|
@@ -170,7 +189,7 @@ module MessagePack
|
|
170
189
|
send_data([1, id, error, nil].to_msgpack)
|
171
190
|
end
|
172
191
|
|
173
|
-
error_occured(e
|
192
|
+
error_occured(e)
|
174
193
|
end
|
175
194
|
private :eval_message
|
176
195
|
|
@@ -194,10 +213,10 @@ module MessagePack
|
|
194
213
|
|
195
214
|
rescue MessagePack::UnpackError => e
|
196
215
|
unpacker.reset
|
197
|
-
error_occured(e
|
216
|
+
error_occured(e)
|
198
217
|
|
199
218
|
rescue => e
|
200
|
-
error_occured(e
|
219
|
+
error_occured(e)
|
201
220
|
end
|
202
221
|
end
|
203
222
|
end
|
data/lib/msgpack/rpc/version.rb
CHANGED
data/msgpack-rpc-stack.gemspec
CHANGED
@@ -33,6 +33,8 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
34
34
|
spec.require_paths = ["lib"]
|
35
35
|
|
36
|
+
spec.required_ruby_version = "~> 2.4.0"
|
37
|
+
|
36
38
|
spec.add_development_dependency "bundler", "~> 1.17"
|
37
39
|
spec.add_development_dependency "rake", "~> 10.0"
|
38
40
|
spec.add_development_dependency "msgpack", "~> 1.2.6"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: msgpack-rpc-stack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroshi Kuwagata
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -85,9 +85,9 @@ require_paths:
|
|
85
85
|
- lib
|
86
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- - "
|
88
|
+
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
90
|
+
version: 2.4.0
|
91
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - ">="
|