cztop 0.13.1 → 0.14.1
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 +5 -5
- data/.gitlab-ci.yml +32 -0
- data/CHANGES.md +6 -0
- data/README.md +15 -223
- data/ci-scripts/install-deps +1 -1
- data/cztop.gemspec +3 -3
- data/lib/cztop/certificate.rb +1 -1
- data/lib/cztop/poller/zmq.rb +3 -2
- data/lib/cztop/version.rb +1 -1
- metadata +14 -15
- data/.travis.yml +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1b76df17a50c624efad9617599401e6b76ae5b50700544d37c5c8d0bf28b92a2
|
4
|
+
data.tar.gz: c956bf815260cd9cbf7368467a4c9f24d7db33969b706a8ad6d4aa9d61626187
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35945dabfac2708d8fa666638221495e5beffa0bb901733115a9cdc49a4ed7393e6528f870f5ef6952d780a1ffe96c0eebe24953ee87e20ea058e26d7e6dd333
|
7
|
+
data.tar.gz: 38343f20bfad8f9b5a3cf735d6bf4f1d23e7bc74ead44f7ebc09df7dbe4fdf2e50722710b230fdf1f70f99a5967ae3bc3eb77e056e7f24a928c8e6c1da6193f7
|
data/.gitlab-ci.yml
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
.rspec:
|
2
|
+
image: ruby:latest
|
3
|
+
stage: test
|
4
|
+
variables:
|
5
|
+
ZMQ_VERSION: "stable"
|
6
|
+
CZMQ_VERSION: "stable"
|
7
|
+
before_script:
|
8
|
+
- export LD_LIBRARY_PATH=$HOME/lib # custom libs (for execution)
|
9
|
+
- export PKG_CONFIG_PATH=$HOME/lib/pkgconfig # custom libs (for linking)
|
10
|
+
- env
|
11
|
+
- ci-scripts/install-deps
|
12
|
+
- gem install bundler --no-document
|
13
|
+
- bundle install --path vendor/bundle
|
14
|
+
script:
|
15
|
+
- bundle exec rspec
|
16
|
+
cache:
|
17
|
+
key: "$CI_JOB_NAME"
|
18
|
+
paths:
|
19
|
+
- "vendor/bundle"
|
20
|
+
|
21
|
+
|
22
|
+
ruby-latest_with_stable_czmq:
|
23
|
+
extends: .rspec
|
24
|
+
variables:
|
25
|
+
CZMQ_VERSION: "stable"
|
26
|
+
|
27
|
+
|
28
|
+
ruby-latest_with_HEAD_czmq:
|
29
|
+
extends: .rspec
|
30
|
+
allow_failure: true
|
31
|
+
variables:
|
32
|
+
CZMQ_VERSION: "HEAD"
|
data/CHANGES.md
CHANGED
data/README.md
CHANGED
@@ -1,25 +1,18 @@
|
|
1
1
|
# CZTop
|
2
2
|
|
3
3
|
CZTop is a CZMQ binding for Ruby. It is based on
|
4
|
-
[czmq-ffi-gen](https://
|
4
|
+
[czmq-ffi-gen](https://gitlab.com/paddor/czmq-ffi-gen), the generated low-level
|
5
5
|
FFI binding of [CZMQ](https://github.com/zeromq/czmq) and has a focus on being
|
6
6
|
easy to use for Rubyists (POLS) and providing first class support for security
|
7
7
|
mechanisms (like CURVE).
|
8
8
|
|
9
|
-
|
10
|
-
[cztop
|
11
|
-
new, but will contain some reusable patterns described in the Zguide.
|
12
|
-
|
13
|
-
[](https://travis-ci.org/paddor/cztop?branch=master)
|
14
|
-
[](https://codeclimate.com/repos/56677a7849f50a141c001784/feed)
|
15
|
-
[](http://inch-ci.org/github/paddor/cztop)
|
16
|
-
[](https://gemnasium.com/paddor/cztop)
|
17
|
-
[](https://coveralls.io/github/paddor/cztop?branch=master)
|
9
|
+
[](https://gitlab.com/paddor/cztop/commits/master)
|
10
|
+
[](https://coveralls.io/gitlab/paddor/cztop?branch=master)
|
18
11
|
[](LICENSE)
|
19
12
|
|
20
13
|
## Goals
|
21
14
|
|
22
|
-
Here are some some of the goals I
|
15
|
+
Here are some some of the goals I had in mind for this library:
|
23
16
|
|
24
17
|
- [x] as easy as possible, Ruby-esque API
|
25
18
|
- [x] first class support for security (CURVE mechanism)
|
@@ -100,11 +93,10 @@ More information in the [API documentation](http://www.rubydoc.info/github/paddo
|
|
100
93
|
* but you can: `CZTop::Socket.new_by_type(:REP)`
|
101
94
|
* e.g. `#subscribe` only exists on CZTop::Socket::SUB
|
102
95
|
* DRAFT API ready
|
103
|
-
*
|
104
|
-
*
|
105
|
-
|
106
|
-
|
107
|
-
* there is `#group` and `#group=` on CZTop::Frame
|
96
|
+
* certain DRAFT methods are supported if the libraries (ZMQ/CZMQ) have been compiled with DRAFT APIs enabled (`--enable-drafts`)
|
97
|
+
* use `CZMQ::FFI.has_draft?` to check if the CZMQ DRAFT API is available
|
98
|
+
* use `CZMQ::FFI::LibZMQ.has_draft?` to check if the ZMQ DRAFT API is available
|
99
|
+
* extend CZTop to your needs
|
108
100
|
* ZMTP 3.1 heartbeat ready
|
109
101
|
* `socket.options.heartbeat_ivl = 2000`
|
110
102
|
* `socket.options.heartbeat_timeout = 8000`
|
@@ -113,8 +105,8 @@ More information in the [API documentation](http://www.rubydoc.info/github/paddo
|
|
113
105
|
|
114
106
|
You'll need:
|
115
107
|
|
116
|
-
* CZMQ >= 4.
|
117
|
-
* ZMQ >= 4.2
|
108
|
+
* CZMQ >= 4.1
|
109
|
+
* ZMQ >= 4.2
|
118
110
|
|
119
111
|
For security mechanisms like CURVE, it's recommended to use Libsodium. However,
|
120
112
|
ZMQ can be compiled with tweetnacl enabled.
|
@@ -165,222 +157,22 @@ Or install it yourself as:
|
|
165
157
|
The API should be fairly straight-forward to anyone who is familiar with CZMQ
|
166
158
|
and Ruby. The following API documentation is currently available:
|
167
159
|
|
168
|
-
* [YARD API documentation](http://www.rubydoc.info/github/paddor/cztop) (HEAD)
|
169
160
|
* [YARD API documentation](http://www.rubydoc.info/gems/cztop) (release)
|
170
161
|
|
171
|
-
Feel free to start a [wiki](https://
|
162
|
+
Feel free to start a [wiki](https://gitlab.com/paddor/cztop/wiki) page.
|
172
163
|
|
173
164
|
## Performance
|
174
165
|
|
175
166
|
Performance should be pretty okay since this is based on czmq-ffi-gen, which is
|
176
|
-
reasonably thin. CZTop is
|
177
|
-
nice error checking. But hey, it's Ruby. Don't expect 5M messages per second
|
178
|
-
with a latency of 3us.
|
179
|
-
|
180
|
-
The measured latency on my laptop ranges from ~20us to ~60us per message for
|
181
|
-
1kb messages, depending on whether transport is inproc, IPC, or TCP/IP.
|
167
|
+
reasonably thin. CZTop is just a convenience layer.
|
182
168
|
|
183
|
-
Make sure
|
184
|
-
[perf](https://
|
169
|
+
Make sure to check out the
|
170
|
+
[perf](https://gitlab.com/paddor/cztop/blob/master/perf) directory for latency
|
185
171
|
and throughput measurement scripts.
|
186
172
|
|
187
173
|
## Usage
|
188
174
|
|
189
|
-
See the [examples](https://
|
190
|
-
|
191
|
-
### rep.rb:
|
192
|
-
|
193
|
-
```ruby
|
194
|
-
#!/usr/bin/env ruby
|
195
|
-
require 'cztop'
|
196
|
-
|
197
|
-
# create and bind socket
|
198
|
-
socket = CZTop::Socket::REP.new("ipc:///tmp/req_rep_example")
|
199
|
-
puts "<<< Socket bound to #{socket.last_endpoint.inspect}"
|
200
|
-
|
201
|
-
# Simply echo every message, with every frame String#upcase'd.
|
202
|
-
while msg = socket.receive
|
203
|
-
puts "<<< #{msg.to_a.inspect}"
|
204
|
-
socket << msg.to_a.map(&:upcase)
|
205
|
-
end
|
206
|
-
```
|
207
|
-
|
208
|
-
### req.rb:
|
209
|
-
|
210
|
-
```ruby
|
211
|
-
#!/usr/bin/env ruby
|
212
|
-
require 'cztop'
|
213
|
-
|
214
|
-
# connect
|
215
|
-
socket = CZTop::Socket::REQ.new("ipc:///tmp/req_rep_example")
|
216
|
-
puts ">>> Socket connected."
|
217
|
-
|
218
|
-
# simple string
|
219
|
-
socket << "foobar"
|
220
|
-
msg = socket.receive
|
221
|
-
puts ">>> #{msg.to_a.inspect}"
|
222
|
-
|
223
|
-
# multi frame message as array
|
224
|
-
socket << %w[foo bar baz]
|
225
|
-
msg = socket.receive
|
226
|
-
puts ">>> #{msg.to_a.inspect}"
|
227
|
-
|
228
|
-
# manually instantiating a Message
|
229
|
-
msg = CZTop::Message.new("bla")
|
230
|
-
msg << "another frame" # append a frame
|
231
|
-
socket << msg
|
232
|
-
msg = socket.receive
|
233
|
-
puts ">>> #{msg.to_a.inspect}"
|
234
|
-
|
235
|
-
##
|
236
|
-
# This will send 20 additional messages:
|
237
|
-
#
|
238
|
-
# $ ./req.rb 20
|
239
|
-
#
|
240
|
-
if ARGV.first
|
241
|
-
ARGV.first.to_i.times do
|
242
|
-
socket << ["fooooooooo", "baaaaaar"]
|
243
|
-
puts ">>> " + socket.receive.to_a.inspect
|
244
|
-
end
|
245
|
-
end
|
246
|
-
```
|
247
|
-
|
248
|
-
### Running it
|
249
|
-
|
250
|
-
```
|
251
|
-
$ ./rep.rb & ./req.rb 3
|
252
|
-
[3] 35321
|
253
|
-
>>> Socket connected.
|
254
|
-
<<< Socket bound to "ipc:///tmp/req_rep_example"
|
255
|
-
<<< ["foobar"]
|
256
|
-
>>> ["FOOBAR"]
|
257
|
-
<<< ["foo", "bar", "baz"]
|
258
|
-
>>> ["FOO", "BAR", "BAZ"]
|
259
|
-
<<< ["bla", "another frame"]
|
260
|
-
>>> ["BLA", "ANOTHER FRAME"]
|
261
|
-
<<< ["fooooooooo", "baaaaaar"]
|
262
|
-
>>> ["FOOOOOOOOO", "BAAAAAAR"]
|
263
|
-
<<< ["fooooooooo", "baaaaaar"]
|
264
|
-
>>> ["FOOOOOOOOO", "BAAAAAAR"]
|
265
|
-
<<< ["fooooooooo", "baaaaaar"]
|
266
|
-
>>> ["FOOOOOOOOO", "BAAAAAAR"]
|
267
|
-
$
|
268
|
-
```
|
269
|
-
|
270
|
-
## TODO
|
271
|
-
|
272
|
-
* [x] pack generated code into its own gem ([czmq-ffi-gen](https://github.com/paddor/czmq-ffi-gen))
|
273
|
-
* think of a neat Ruby API, including:
|
274
|
-
- [x] Actor
|
275
|
-
- [x] Beacon
|
276
|
-
- [x] Certificate
|
277
|
-
- [x] Socket
|
278
|
-
- [50%] access to all socket options
|
279
|
-
- [x] Security mechanisms
|
280
|
-
- [x] Message
|
281
|
-
- [x] Frame
|
282
|
-
- [x] enumerable Frames
|
283
|
-
- [x] Authenticator
|
284
|
-
- [x] Loop
|
285
|
-
- [x] Monitor
|
286
|
-
- [x] Poller
|
287
|
-
- [x] Proxy
|
288
|
-
- [x] Config
|
289
|
-
- [x] Z85
|
290
|
-
* write the missing XML API files in CZMQ
|
291
|
-
- [x] zarmour.xml
|
292
|
-
- [x] zconfig.xml
|
293
|
-
- [x] zsock_option.xml
|
294
|
-
- [x] zcert.xml
|
295
|
-
- [x] zcertstore.xml
|
296
|
-
* [x] check availability of libsodium within CZTop
|
297
|
-
* [x] read error strings for exceptions where appropriate (zmq_strerror)
|
298
|
-
* [x] add support for ZMTP 3.1 heartbeats in CZMQ
|
299
|
-
* [x] add padded variant of Z85
|
300
|
-
* add more examples
|
301
|
-
* [x] [simple REQ/REP](https://github.com/paddor/cztop/tree/master/examples/simple_req_rep)
|
302
|
-
* [x] [Taxy System](https://github.com/paddor/cztop/tree/master/examples/taxi_system) with CURVE security and heartbeating
|
303
|
-
* [x] change from ROUTER/DEALER to SERVER/CLIENT
|
304
|
-
* [x] [Actor](https://github.com/paddor/cztop/tree/master/examples/ruby_actor) with Ruby block
|
305
|
-
* [ ] PUSH/PULL
|
306
|
-
* [ ] PUB/SUB
|
307
|
-
* [ ] add performance benchmarks
|
308
|
-
* [x] inproc latency
|
309
|
-
* [x] inproc throughput
|
310
|
-
* [x] local/remote latency
|
311
|
-
* [ ] local/remote throughput
|
312
|
-
* see [perf](https://github.com/paddor/cztop/blob/master/perf) directory
|
313
|
-
* [x] support older versions of ZMQ
|
314
|
-
* [x] ZMQ HEAD
|
315
|
-
* [x] tested on CI
|
316
|
-
* [x] ZMQ 4.1
|
317
|
-
* [x] tested on CI
|
318
|
-
* as of April 2016, this isn't the case anymore
|
319
|
-
* [x] ZMQ 4.0
|
320
|
-
* [x] tested on CI
|
321
|
-
* as of March 2016, this isn't the case anymore
|
322
|
-
* [ ] ZMQ 3.2
|
323
|
-
* too big a pain ([d5172ab](https://github.com/paddor/czmq-ffi-gen/commit/d5172ab6db64999c50ba24f71569acf1dd45af51))
|
324
|
-
* [x] support multiple versions of CZMQ
|
325
|
-
* [x] CZMQ HEAD
|
326
|
-
* [x] test on CI
|
327
|
-
* [x] CZMQ 3.0.2 (current stable)
|
328
|
-
* no `zcert_meta_unset()` ([zeromq/czmq#1246](https://github.com/zeromq/czmq/issues/1246))
|
329
|
-
* [x] adapt czmq-ffi-gen so it doesn't raise while `attach_function`
|
330
|
-
* no `zproc`(especially no `zproc_has_curve()`)
|
331
|
-
* [x] adapt czmq-ffi-gen so it doesn't raise while `attach_function`, attach `zsys_has_curve()` instead (under same name)
|
332
|
-
* [x] adapt test suite to skip affected test examples
|
333
|
-
* [x] test on CI
|
334
|
-
* as of March, 2016, this isn't the case anymore
|
335
|
-
* [x] port [Poller](http://www.rubydoc.info/gems/cztop/CZTop/Poller) to `zmq_poll()`
|
336
|
-
* backwards compatible (`#add_reader`, `#add_writer`, `#wait` behave the same)
|
337
|
-
* but in addition, it has `#readables` and `#writables` which return arrays of sockets
|
338
|
-
* could then be used in Celluloid::ZMQ
|
339
|
-
* [ ] add `Message#to_s`
|
340
|
-
* return frame as string, if there's only one frame
|
341
|
-
* raise if there are multiple frames
|
342
|
-
* only safe to use on messages from SERVER/CLIENT sockets
|
343
|
-
* single-part messages are the future
|
344
|
-
* not sure yet
|
345
|
-
* [x] get rid of Loop
|
346
|
-
* cannot handle CLIENT/SERVER sockets
|
347
|
-
* there good timer gems for Ruby
|
348
|
-
* Poller can be used to embed in an existing event loop (Celluloid), or make your own trivial one
|
349
|
-
* [x] provide `z85encode` and `z85decode` utilities
|
350
|
-
* can be used in a pipeline (limited memory usage)
|
351
|
-
* reusable interface: `Z85::Pipe`
|
352
|
-
|
353
|
-
## Reasons
|
354
|
-
|
355
|
-
Why another CZMQ Ruby binding? Here is a list of existing projects I found and
|
356
|
-
the issues with them, from my point of view:
|
357
|
-
|
358
|
-
* [Asmod4n/ruby-ffi-czmq](https://github.com/Asmod4n/ruby-ffi-czmq)
|
359
|
-
* outdated
|
360
|
-
* according to its author, it's an "abomination"
|
361
|
-
* [methodmissing/rbczmq](https://github.com/methodmissing/rbczmq)
|
362
|
-
* no support for security features (see [methodmissing/rbczmq#28](https://github.com/methodmissing/rbczmq/issues/28))
|
363
|
-
* no JRuby support (see [methodmissing/rbczmq#48](https://github.com/methodmissing/rbczmq/issues/48))
|
364
|
-
* doesn't feel like Ruby
|
365
|
-
* [mtortonesi/ruby-czmq](https://github.com/mtortonesi/ruby-czmq)
|
366
|
-
* no tests
|
367
|
-
* no documentation
|
368
|
-
* outdated
|
369
|
-
* doesn't feel like Ruby
|
370
|
-
* [chuckremes/ffi-rzmq](https://github.com/chuckremes/ffi-rzmq)
|
371
|
-
* support discontinued
|
372
|
-
* low level ZMQ gem, not CZMQ
|
373
|
-
|
374
|
-
Furthermore, I knew about the generated low-level Ruby FFI binding in the
|
375
|
-
[zeromq/czmq](https://github.com/zeromq/czmq) repository. I wanted to make use
|
376
|
-
of it because I love that it's generated (and thus, most likely correct
|
377
|
-
and up-to-date). Unfortunately, it was in pretty bad shape and missing a few
|
378
|
-
CZMQ classes.
|
379
|
-
|
380
|
-
So I decided to improve the quality and usability of the binding and add the
|
381
|
-
missing classes. The result is
|
382
|
-
[czmq-ffi-gen](https://github.com/paddor/czmq-ffi-gen) which provides a solid
|
383
|
-
foundation for CZTop.
|
175
|
+
See the [examples](https://gitlab.com/paddor/cztop/blob/master/examples) directory for some examples.
|
384
176
|
|
385
177
|
|
386
178
|
## Contributing
|
data/ci-scripts/install-deps
CHANGED
data/cztop.gemspec
CHANGED
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_runtime_dependency "czmq-ffi-gen", "~> 0.
|
21
|
+
spec.add_runtime_dependency "czmq-ffi-gen", "~> 0.16"
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler"
|
24
|
-
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "bundler"
|
24
|
+
spec.add_development_dependency "rake"
|
25
25
|
spec.add_development_dependency "rspec"
|
26
26
|
spec.add_development_dependency "minitest"
|
27
27
|
spec.add_development_dependency "rspec-given", "~> 3.8.0"
|
data/lib/cztop/certificate.rb
CHANGED
data/lib/cztop/poller/zmq.rb
CHANGED
@@ -9,8 +9,9 @@ module CZTop
|
|
9
9
|
|
10
10
|
extend ::FFI::Library
|
11
11
|
lib_name = 'libzmq'
|
12
|
-
|
13
|
-
|
12
|
+
lib_dirs = ['/usr/local/lib', '/opt/local/lib', '/usr/lib64']
|
13
|
+
lib_dirs = [*ENV['LIBZMQ_PATH'].split(':'), *lib_dirs] if ENV['LIBZMQ_PATH']
|
14
|
+
lib_paths = lib_dirs.map { |path| "#{path}/#{lib_name}.#{::FFI::Platform::LIBSUFFIX}" }
|
14
15
|
ffi_lib lib_paths + [lib_name]
|
15
16
|
|
16
17
|
# This represents a +zmq_poller_event_t+ as in:
|
data/lib/cztop/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cztop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrik Wenger
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: czmq-ffi-gen
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.16'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: '0.16'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -216,8 +216,8 @@ extensions: []
|
|
216
216
|
extra_rdoc_files: []
|
217
217
|
files:
|
218
218
|
- ".gitignore"
|
219
|
+
- ".gitlab-ci.yml"
|
219
220
|
- ".rspec"
|
220
|
-
- ".travis.yml"
|
221
221
|
- ".yardopts"
|
222
222
|
- AUTHORS
|
223
223
|
- CHANGES.md
|
@@ -302,8 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
302
302
|
- !ruby/object:Gem::Version
|
303
303
|
version: '0'
|
304
304
|
requirements: []
|
305
|
-
|
306
|
-
rubygems_version: 2.6.8
|
305
|
+
rubygems_version: 3.0.6
|
307
306
|
signing_key:
|
308
307
|
specification_version: 4
|
309
308
|
summary: CZMQ Ruby binding, based on the generated low-level FFI bindings of CZMQ
|
data/.travis.yml
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
dist: trusty
|
3
|
-
sudo: false
|
4
|
-
cache:
|
5
|
-
directories:
|
6
|
-
- $HOME/.ccache
|
7
|
-
- $HOME/.bundle
|
8
|
-
rvm:
|
9
|
-
- 2.4.2
|
10
|
-
- 2.3.5
|
11
|
-
- 2.2.8
|
12
|
-
- jruby-head
|
13
|
-
- rubinius-3.86
|
14
|
-
env:
|
15
|
-
# NOTE: These are recognized by czmq-ffi-gen's CI scripts.
|
16
|
-
- CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
|
17
|
-
- CZMQ_VERSION=stable ZMQ_VERSION=stable
|
18
|
-
matrix:
|
19
|
-
exclude:
|
20
|
-
- rvm: 2.3.5
|
21
|
-
env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
|
22
|
-
- rvm: 2.2.8
|
23
|
-
env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
|
24
|
-
- rvm: jruby-head
|
25
|
-
env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
|
26
|
-
- rvm: rubinius-3.86
|
27
|
-
env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
|
28
|
-
allow_failures:
|
29
|
-
- rvm: rubinius-3.86
|
30
|
-
before_install:
|
31
|
-
- PATH="/usr/lib/ccache:$PATH" # enable ccache
|
32
|
-
- export LD_LIBRARY_PATH=$HOME/lib # custom libs (for execution)
|
33
|
-
- export PKG_CONFIG_PATH=$HOME/lib/pkgconfig # custom libs (for linking)
|
34
|
-
- export BUNDLE_PATH=$HOME/.bundle # bundle caching
|
35
|
-
- ci-scripts/install-deps
|
36
|
-
- gem install bundler -v 1.10.6
|
37
|
-
script: bundle exec rake spec
|