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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9838964a3c402a026bdd5a0058d94f9838c202c0
4
- data.tar.gz: f89c1cac62eeddb98c83e1dd7c7a4f129da8077a
3
+ metadata.gz: 190f935e6c034bbe7f4844e648d9989126baa392
4
+ data.tar.gz: 8911efec5a01688e0af7afb472b9408aaa6edee7
5
5
  SHA512:
6
- metadata.gz: 38787ea9e618b415f140c52d51003c1df4e4a1d92f932cd888c676eb5aa9cef072cb6b8e3ed99533c0dffb7e2620b2a14c38f46b59023acb99885412dc1715de
7
- data.tar.gz: 32175cd39b99bb034d6c4bd8e9d288a75869aabe198c90b28f6853f5fca34fb479dd56fd1b10c293e6a3fadbf78c6cc856e175a70eaef341804f6a5ae40a6c42
6
+ metadata.gz: c4d79d19f34d7af91ee31c128529893f68eb6a889f9bfa4ee2eb86ad7cdf04bcd000b30a32ac4842bdc99fc8fb26f3b7b5c4e33870b720d7d6eca0754b218dec
7
+ data.tar.gz: '06877185c39b85a024e2b3e74e7be2f5ce91ff1b6939fdc95cdd71428b5e01e1aaa7a582021aad7b4afd2160a93691b649d9ec6282bc794381dd928e1ffc3675'
data/lib/jpc.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'oj'
2
2
  require 'jpc/version'
3
- require 'jpc/errors'
4
3
  require 'jpc/helpers'
5
4
  require 'jpc/invoker'
6
5
  require 'jpc/handler'
@@ -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 allowed_methods
25
- procedures + %w(ping subscribe unsubscribe)
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
@@ -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 method_allowed?(method)
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
- code,
47
- "Method #{method}: #{e.message}. See #{e.backtrace[0]}"
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
@@ -1,3 +1,3 @@
1
1
  module JPC
2
- VERSION = '1.2.1'.freeze
2
+ VERSION = '1.3.0'.freeze
3
3
  end
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.2.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: 2016-10-28 00:00:00.000000000 Z
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.6.6
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.
@@ -1,9 +0,0 @@
1
- module JPC
2
- module Errors
3
- class UnauthorizedError < RuntimeError
4
- def message
5
- 'Unauthorized Request'
6
- end
7
- end
8
- end
9
- end