basicjrpc 0.1.18 → 0.1.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdcef5f3800242109be9129475df1d062568488a
4
- data.tar.gz: 0d8663d9b0603cd6552976570dcc5107b6698321
3
+ metadata.gz: 7930f78b3478426590b09c94e7fc74eb76b9ccde
4
+ data.tar.gz: d41ba8345db35635b569fd567246a99480cd4eab
5
5
  SHA512:
6
- metadata.gz: d3e3c2b3102d42cdda1752a8f68ce5fc63604389663e26764ce2e63b52edbad47122172be684306ffce910ae8cd449e802c854b55c5c803ea14105722c9d8338
7
- data.tar.gz: 87c4b8c493eecc3bb3cd09fcf662ffbea6a95d70c369e4d81d4166f79424d5ac909270de7c4af7db82b44abaf12ef185a8c7a4c3e8512d2c178076b11167a956
6
+ metadata.gz: 7d54fdabe946a4ad92d167d79554ae97cf059425d201464334ce738254f6d9d43771bf3f500fbb01ccd5d9d152170ea1467b2f59f49d2d07512216b0ea6bec16
7
+ data.tar.gz: 64166ea2d92d8d4f630afb8f7411045c054b75d110c57a8d537e36898669264c2bc8b3691682a43fc88429c2e1a7d6072cda7bf1492fc5814566322f01782879
@@ -5,20 +5,22 @@ module BasicJRPC
5
5
  def initialize(queue, timeout = 5)
6
6
  @redis = Redis.new(host: "redis")
7
7
  @queue = queue
8
- @payload = nil
8
+ @payload = {}
9
9
  @timeout = timeout
10
10
  end
11
11
 
12
12
  def method_missing(m, *args, &block)
13
- send_request(Payload.new(m, args))
13
+ send_request({ method_name: m, method_arguments: *args })
14
14
  end
15
15
 
16
16
  def send_request payload
17
- payload.response_requested = true
17
+ payload[:message_id] = SecureRandom.uuid
18
+ payload[:response] = true
19
+
18
20
  @redis.rpush(@queue, Oj.dump(payload))
19
21
 
20
22
  Timeout::timeout(@timeout) {
21
- return Oj.load(@redis.blpop(payload.message_id)[1])
23
+ return Oj.load(@redis.blpop(payload[:message_id])[1])
22
24
  }
23
25
  end
24
26
  end
@@ -26,7 +28,8 @@ module BasicJRPC
26
28
  # Fire And Forget Client
27
29
  class FAFClient < Client
28
30
  def send_request payload
29
- payload.response_requested = false
31
+ payload[:message_id] = SecureRandom.uuid
32
+ payload[:response] = true
30
33
  @redis.rpush(@queue, Oj.dump(payload))
31
34
  end
32
35
  end
@@ -0,0 +1,5 @@
1
+ class Hash
2
+ def method_missing(sym,*)
3
+ fetch(sym){fetch(sym.to_s){super}}
4
+ end
5
+ end
@@ -12,10 +12,10 @@ module BasicJRPC
12
12
  while true
13
13
  payload = @redis.blpop(@queue)[1]
14
14
  payload = Oj.load(payload)
15
- puts "Processing message #{payload.method_name} #{payload.args}" if BasicJRPC::Config.debug
15
+ puts "Processing message #{payload.method_name} #{payload.method_arguments}" if BasicJRPC::Config.debug
16
16
 
17
17
  # Should always return a data object
18
- response = @injected_class.send(payload.method_name, *payload.args)
18
+ response = @injected_class.send(payload.method_name, *payload.method_arguments)
19
19
 
20
20
  # Bounce the response back if response is requested
21
21
  @redis.rpush(payload.message_id, Oj.dump(response)) if payload.response_requested
@@ -1,3 +1,3 @@
1
1
  module BasicJRPC
2
- VERSION = "0.1.18"
2
+ VERSION = "0.1.19"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basicjrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Simpson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-15 00:00:00.000000000 Z
11
+ date: 2016-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,7 +97,7 @@ files:
97
97
  - bin/setup
98
98
  - lib/basicjrpc.rb
99
99
  - lib/basicjrpc/client.rb
100
- - lib/basicjrpc/client/payload.rb
100
+ - lib/basicjrpc/hash.rb
101
101
  - lib/basicjrpc/server.rb
102
102
  - lib/basicjrpc/version.rb
103
103
  homepage: http://www.martin-simpson.net
@@ -1,17 +0,0 @@
1
- module BasicJRPC
2
- class Client
3
-
4
- class Payload
5
- attr_reader :message_id, :method_name, :args
6
- attr_accessor :response_requested
7
-
8
- def initialize(method_name, args)
9
- @message_id = SecureRandom.uuid
10
- @method_name = method_name
11
- @args = args
12
- end
13
-
14
- end
15
-
16
- end
17
- end