zeromqrb 0.1.2 → 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 50fa7fca66034efa14ccf2e10aeed7539600879a
4
+ data.tar.gz: 9adeece237a8d18bf79b2dd362a3f60565e7414b
5
+ SHA512:
6
+ metadata.gz: 0b38ff052f04d90035e3e550f396408fdb8c65b96b0bab14bf7e8c410e589057c60721c0db42a9cd5be913fe68cb8c84d99d02566373b54c41d555436f49990e
7
+ data.tar.gz: e14118b5b8e78be8e9ae4e54e62cb4f0a20f1573491bdec16aab790920b6bc9f0ba269626b3c9a3453f0e3a69c7fcdf829714a7265adc21b02b42e64519a99f7
@@ -1,6 +1,7 @@
1
1
  require 'ffi-rzmq'
2
2
  require 'delegate'
3
3
 
4
+ require 'zero_mq/device'
4
5
  require 'zero_mq/version'
5
6
  require 'zero_mq/errors'
6
7
  require 'zero_mq/context'
@@ -0,0 +1,36 @@
1
+ module ZeroMQ
2
+ class Device
3
+
4
+ def self.create(frontend, backend, capture=nil)
5
+ new(frontend, backend, capture)
6
+ end
7
+
8
+ # Starts the built-in ØMQ proxy in the current application thread.
9
+ #
10
+ # The proxy connects a frontend socket to a backend socket. Conceptually,
11
+ # data flows from frontend to backend. Depending on the socket types,
12
+ # replies may flow in the opposite direction. The direction is conceptual
13
+ # only; the proxy is fully symmetric and there is no technical difference
14
+ # between frontend and backend.
15
+ #
16
+ # Before calling zmq_proxy() you must set any socket options, and connect
17
+ # or bind both frontend and backend sockets.
18
+ #
19
+ # If the capture socket is not NULL, the proxy shall send all messages,
20
+ # received on both frontend and backend, to the capture socket. The capture
21
+ # socket should be a ZMQ_PUB, ZMQ_DEALER, ZMQ_PUSH, or ZMQ_PAIR socket.
22
+ #
23
+ # http://api.zeromq.org/3-2:zmq-proxy
24
+ def initialize(frontend, backend, capture=nil)
25
+ # If objects are of class ZeroMQ::Socket, pull out the ZMQ::Socket
26
+ # object to be passed to ZMQ::Device.
27
+ args = [frontend, backend, capture]
28
+ .map! { |socket| (socket.is_a? ZeroMQ::Socket) ? socket.__getobj__ : socket }
29
+
30
+ ZMQ::Device.new *args
31
+ end
32
+ end
33
+
34
+ # Alias for device.
35
+ class Proxy < Device; end
36
+ end
@@ -1,6 +1,7 @@
1
1
  module ZeroMQ
2
2
  module Errors
3
3
  ERRORS = Errno.constants.map(&Errno.method(:const_get)).
4
+ select { |obj| obj.is_a?(Class) && obj < SystemCallError }.
4
5
  inject({}) { |map, error| map[error.const_get(:Errno)] = error; map }
5
6
 
6
7
  private
@@ -1,3 +1,3 @@
1
1
  module ZeroMQ
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -21,5 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
23
 
24
- spec.add_runtime_dependency "ffi-rzmq", "~> 1.0"
24
+ spec.add_runtime_dependency "ffi-rzmq"
25
25
  end
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zeromqrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
5
- prerelease:
4
+ version: 0.1.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Bulat Shakirzyanov
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-05 00:00:00.000000000 Z
11
+ date: 2014-10-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
14
+ prerelease: false
15
+ version_requirements: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.3'
22
20
  type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
21
+ requirement: !ruby/object:Gem::Requirement
26
22
  requirements:
27
23
  - - ~>
28
24
  - !ruby/object:Gem::Version
29
25
  version: '1.3'
26
+ name: bundler
30
27
  - !ruby/object:Gem::Dependency
31
- name: rake
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
28
+ prerelease: false
29
+ version_requirements: !ruby/object:Gem::Requirement
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
35
+ requirement: !ruby/object:Gem::Requirement
42
36
  requirements:
43
- - - ! '>='
37
+ - - '>='
44
38
  - !ruby/object:Gem::Version
45
39
  version: '0'
40
+ name: rake
46
41
  - !ruby/object:Gem::Dependency
47
- name: ffi-rzmq
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ~>
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
- version: '1.0'
47
+ version: '0'
54
48
  type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
49
+ requirement: !ruby/object:Gem::Requirement
58
50
  requirements:
59
- - - ~>
51
+ - - '>='
60
52
  - !ruby/object:Gem::Version
61
- version: '1.0'
53
+ version: '0'
54
+ name: ffi-rzmq
62
55
  description: High level wrapper for ffi-rzmq gem
63
56
  email:
64
57
  - bulat@twilio.com
@@ -73,6 +66,7 @@ files:
73
66
  - Rakefile
74
67
  - lib/zero_mq.rb
75
68
  - lib/zero_mq/context.rb
69
+ - lib/zero_mq/device.rb
76
70
  - lib/zero_mq/errors.rb
77
71
  - lib/zero_mq/poller.rb
78
72
  - lib/zero_mq/socket.rb
@@ -82,27 +76,26 @@ files:
82
76
  homepage: ''
83
77
  licenses:
84
78
  - MIT
79
+ metadata: {}
85
80
  post_install_message:
86
81
  rdoc_options: []
87
82
  require_paths:
88
83
  - lib
89
84
  required_ruby_version: !ruby/object:Gem::Requirement
90
- none: false
91
85
  requirements:
92
- - - ! '>='
86
+ - - '>='
93
87
  - !ruby/object:Gem::Version
94
88
  version: '0'
95
89
  required_rubygems_version: !ruby/object:Gem::Requirement
96
- none: false
97
90
  requirements:
98
- - - ! '>='
91
+ - - '>='
99
92
  - !ruby/object:Gem::Version
100
93
  version: '0'
101
94
  requirements: []
102
95
  rubyforge_project:
103
- rubygems_version: 1.8.23
96
+ rubygems_version: 2.4.1
104
97
  signing_key:
105
- specification_version: 3
98
+ specification_version: 4
106
99
  summary: High level wrapper for ffi-rzmq gem
107
100
  test_files: []
108
101
  has_rdoc: