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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 921c6f0470a8adf12e9afb27c6629edee9a81b0266c920570ba756eea2486229
4
- data.tar.gz: 76e6bb755bdba72d9c5c0c06f789f614b7c1c71005a36fa342966696d4258188
3
+ metadata.gz: a076daa3d4b5913027b23dc4cbf97ed6fd1cea1b69c4782bbade308c8a263d7f
4
+ data.tar.gz: 9249d7f1e6408016a56f5f5d70095edb087f75901a85b7b3f2c136b031a0f919
5
5
  SHA512:
6
- metadata.gz: 52e3c72c2d512bf23e24f8ec37843abb07e61e5a213eb7b3e7f37b21e5b4cd18f8f752108b305414178bc51b73035c9b3bb5adbdd260021bb2e6c6cc2d211bca
7
- data.tar.gz: 1238e7737c3cfddcfbb3782ea6b82151981dd40de03aa590e03b5f50754b0206ae38c66aa752ca02a5633d52da66976c3d4dccb3090906b66342291a9c58ff53
6
+ metadata.gz: eb5c428879404a16066702148e49dc1dad327b18ddaf06aa62d96edcba7f72458ce1f8d3ff92beb60f3ba336df1597cf8362a0da6e682f5016f5ab535633005f
7
+ data.tar.gz: 583478e71b9ecdafddd647cec3a196e4a8dc320af8c934a8b5097f3226c574a28bf297065381a9b0558df5836ca314cef1dd7fd9fb9d1d4c21cb5890e606e7fe
@@ -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 {send_data(packet)}
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(msg)
138
+ def error_occured(e)
120
139
  if self.respond_to?(:on_error, true)
121
- __send__(:on_error, msg)
140
+ __send__(:on_error, e)
122
141
  else
123
- STDERR.print("#{msg}")
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.message)
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.message)
216
+ error_occured(e)
198
217
 
199
218
  rescue => e
200
- error_occured(e.message)
219
+ error_occured(e)
201
220
  end
202
221
  end
203
222
  end
@@ -1,5 +1,5 @@
1
1
  module MessagePack
2
2
  module Rpc
3
- VERSION = "0.1.0"
3
+ VERSION = "0.5.0"
4
4
  end
5
5
  end
@@ -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.1.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-14 00:00:00.000000000 Z
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: '0'
90
+ version: 2.4.0
91
91
  required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - ">="