pigato 0.2.2 → 0.2.3

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: 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