pigato 0.2.2 → 0.2.3

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: 46d068f4ccf95334efcf4129d0828b8bb71f6749
4
- data.tar.gz: 38b9dc5f5d144ba525f739fdbbca1d36906e3b58
3
+ metadata.gz: 17f6f1ee98a43a85d1eebeb47ae262c6ec11621f
4
+ data.tar.gz: 4f822ab853a9bcd686a12eee7b8701e463b41dbc
5
5
  SHA512:
6
- metadata.gz: ae471cfaae108c0120960bed457e4bac642d234fc48e3b0bd51b76c03794b4a5c8a0ec2716622c7f7d1e8040c616c8ccdd10cd09118bde0b3ad7b9b3851da474
7
- data.tar.gz: 0d9c411dd3bf8623a6a1d726b43dc50b4b8f7bcc296530379e99c01d89e2ce20d442fee90be2be84a45b526a6e1fcf5f7e2e135a956d28b2764561844ec0ad8f
6
+ metadata.gz: 1d06a506ad393fd0e17ba65f16500eb80c362fb44b1593b04579e587939d4e7b03cd67267a52d1e5e008aa07887bd58170683e97de80dd137ea9691b64c9103f
7
+ data.tar.gz: 85fcc3dcc5cedbeb502add6e89945af601cb174e7edfdc4e788cfa2a8d8125f072e4c664a525937a66c45a34a5c75d2583dd10ee41e7790a4dd8f02592467eac
data/README.md CHANGED
@@ -25,6 +25,36 @@ Or install it yourself as:
25
25
 
26
26
  $ gem install pigato
27
27
 
28
+ ## API
29
+
30
+ ### Client
31
+ #### `Pigato::Client.new(addr, conf)`
32
+
33
+ **Example**
34
+
35
+ ```
36
+ require "rubygems"
37
+ require "pigato"
38
+
39
+ client = Pigato::Client.new('tcp://localhost:55555', { :autostart => true })
40
+ client.request('echo', 'Hello world')
41
+ ```
42
+
43
+ ### Worker
44
+ #### `Pigato::Worker.new(addr, serviceName)`
45
+
46
+ **Example**
47
+
48
+ ```
49
+ worker = Pigato::Worker.new('tcp://localhost:55555', 'echo')
50
+ reply = nil
51
+
52
+ loop do
53
+ request = worker.recv reply
54
+ worker.reply request
55
+ end
56
+ ```
57
+
28
58
  ## Usage
29
59
 
30
60
  In order to run the example you need to run Node.js PIGATO example Broker from the [main project](https://github.com/prdn/pigato/tree/master/examples)
@@ -5,7 +5,7 @@ require "#{File.dirname(__FILE__)}/../lib/pigato.rb"
5
5
  #require "pigato"
6
6
 
7
7
  client = Pigato::Client.new('tcp://localhost:55555', { :autostart => true })
8
- requests = 10
8
+ requests = 1000
9
9
  d1 = Time.now
10
10
  requests.times do |i|
11
11
  begin
@@ -5,9 +5,9 @@ require "#{File.dirname(__FILE__)}/../lib/pigato.rb"
5
5
  #require "pigato"
6
6
 
7
7
  worker = Pigato::Worker.new('tcp://localhost:55555', 'echo')
8
- reply = nil
9
8
 
10
9
  loop do
10
+ reply = nil
11
11
  request = worker.recv reply
12
12
  worker.reply request
13
13
  end
data/lib/pigato/client.rb CHANGED
@@ -36,7 +36,7 @@ class Pigato::Client
36
36
  break if chunk[0] == Pigato::W_REPLY
37
37
  end
38
38
 
39
- return res[0] if res.length === 1
39
+ return res[0] if res.length == 1
40
40
  res
41
41
  end
42
42
 
@@ -1,3 +1,3 @@
1
1
  module Pigato
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
data/pigato.gemspec CHANGED
@@ -22,5 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "bundler", "~> 1.8"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  spec.add_runtime_dependency "rbczmq", "~> 1.7.8"
25
- spec.add_runtime_dependency "oj", "~> 2.2.0"
25
+ spec.add_runtime_dependency "oj", "~> 2.2.1"
26
26
  end
@@ -0,0 +1,51 @@
1
+ require 'test/unit'
2
+ require 'securerandom'
3
+ require 'rubygems'
4
+ require_relative "#{File.dirname(__FILE__)}/../../lib/pigato.rb"
5
+
6
+ class BaseTest < Test::Unit::TestCase
7
+
8
+ def setup
9
+ bhost = 'tcp://localhost:55555'
10
+ @client = Pigato::Client.new(bhost, { :autostart => true })
11
+ @ns = SecureRandom.uuid
12
+
13
+ @wks = []
14
+ @wks << fork do
15
+ worker = Pigato::Worker.new(bhost, @ns + 'echo')
16
+
17
+ loop do
18
+ reply = nil
19
+ request = worker.recv reply
20
+ worker.reply request
21
+ end
22
+ end
23
+
24
+ @wks << fork do
25
+ worker = Pigato::Worker.new(bhost, @ns + 'empty')
26
+
27
+ loop do
28
+ reply = nil
29
+ request = worker.recv reply
30
+ worker.reply nil
31
+ end
32
+ end
33
+ end
34
+
35
+ def teardown
36
+ @wks.each do |wk|
37
+ Process.kill 9, wk
38
+ Process.wait wk
39
+ end
40
+ end
41
+
42
+ def test0
43
+ assert_equal('hello', @client.request(@ns + 'echo', 'hello'))
44
+ h = { 'hello' => 'world' }
45
+ assert_equal(h, @client.request(@ns + 'echo', h))
46
+ a = ['a', 1, false]
47
+ assert_equal(a, @client.request(@ns + 'echo', a))
48
+
49
+ assert_equal(nil, @client.request(@ns + 'empty', nil))
50
+ end
51
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pigato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paolo Ardoino
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-03-17 00:00:00.000000000 Z
11
+ date: 2015-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 2.2.0
61
+ version: 2.2.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 2.2.0
68
+ version: 2.2.1
69
69
  description: PIGATO-RUBY
70
70
  email:
71
71
  - paolo.ardoino@gmail.com
@@ -89,6 +89,7 @@ files:
89
89
  - lib/pigato/version.rb
90
90
  - lib/pigato/worker.rb
91
91
  - pigato.gemspec
92
+ - tests/test_base.rb
92
93
  homepage: https://github.com/prdn/pigato
93
94
  licenses:
94
95
  - MIT