jpc 1.2.1 → 1.3.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/jpc.rb +0 -1
- data/lib/jpc/handler.rb +3 -7
- data/lib/jpc/invoker.rb +3 -18
- data/lib/jpc/version.rb +1 -1
- metadata +3 -4
- data/lib/jpc/errors.rb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 190f935e6c034bbe7f4844e648d9989126baa392
|
4
|
+
data.tar.gz: 8911efec5a01688e0af7afb472b9408aaa6edee7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4d79d19f34d7af91ee31c128529893f68eb6a889f9bfa4ee2eb86ad7cdf04bcd000b30a32ac4842bdc99fc8fb26f3b7b5c4e33870b720d7d6eca0754b218dec
|
7
|
+
data.tar.gz: '06877185c39b85a024e2b3e74e7be2f5ce91ff1b6939fdc95cdd71428b5e01e1aaa7a582021aad7b4afd2160a93691b649d9ec6282bc794381dd928e1ffc3675'
|
data/lib/jpc.rb
CHANGED
data/lib/jpc/handler.rb
CHANGED
@@ -8,7 +8,7 @@ module JPC
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def ping(params = {})
|
11
|
-
"pong #{params}"
|
11
|
+
"pong #{params.inspect}"
|
12
12
|
end
|
13
13
|
|
14
14
|
def subscribe(channel)
|
@@ -21,12 +21,8 @@ module JPC
|
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
-
def
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
def procedures
|
29
|
-
[]
|
24
|
+
def allowed?(method)
|
25
|
+
%w(ping subscribe unsubscribe).include?(method)
|
30
26
|
end
|
31
27
|
end
|
32
28
|
end
|
data/lib/jpc/invoker.rb
CHANGED
@@ -16,14 +16,10 @@ module JPC
|
|
16
16
|
def execute(request)
|
17
17
|
method = request['method']
|
18
18
|
|
19
|
-
raise "Method #{method} not allowed" unless
|
19
|
+
raise "Method #{method} is not allowed" unless @handler.send(:allowed?, method)
|
20
20
|
|
21
21
|
@handler.token = request['token'] if request['token']
|
22
22
|
|
23
|
-
if @handler.respond_to?(:authorized?)
|
24
|
-
raise JPC::Errors::UnauthorizedError unless @handler.authorized?(method)
|
25
|
-
end
|
26
|
-
|
27
23
|
result = if request['params'].is_a?(Array)
|
28
24
|
@handler.public_send(method, *request['params'])
|
29
25
|
elsif %w(Hash String Integer).include?(request['params'].class.name)
|
@@ -34,22 +30,11 @@ module JPC
|
|
34
30
|
|
35
31
|
make_result(request['id'], result)
|
36
32
|
rescue => e
|
37
|
-
code = case e.class.name
|
38
|
-
when 'JPC::Errors::UnauthorizedError'
|
39
|
-
32001
|
40
|
-
else
|
41
|
-
32000
|
42
|
-
end
|
43
|
-
|
44
33
|
make_error(
|
45
34
|
request['id'],
|
46
|
-
|
47
|
-
"Method #{method}: #{e.message}
|
35
|
+
e.class.name,
|
36
|
+
"Method #{method}: [#{e.class.name}] #{e.message} @ #{e.backtrace[0]}"
|
48
37
|
)
|
49
38
|
end
|
50
|
-
|
51
|
-
def method_allowed?(name)
|
52
|
-
@handler.send(:allowed_methods).include?(name.to_s)
|
53
|
-
end
|
54
39
|
end
|
55
40
|
end
|
data/lib/jpc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Denis Lysenko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|
@@ -86,7 +86,6 @@ files:
|
|
86
86
|
- jpc.gemspec
|
87
87
|
- lib/jpc.rb
|
88
88
|
- lib/jpc/dispatcher.rb
|
89
|
-
- lib/jpc/errors.rb
|
90
89
|
- lib/jpc/handler.rb
|
91
90
|
- lib/jpc/helpers.rb
|
92
91
|
- lib/jpc/invoker.rb
|
@@ -111,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
110
|
version: '0'
|
112
111
|
requirements: []
|
113
112
|
rubyforge_project:
|
114
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.5.2
|
115
114
|
signing_key:
|
116
115
|
specification_version: 4
|
117
116
|
summary: JPC is JSON-RPC 2.0 Ruby Library.
|