cztop 0.14.1 → 1.1.0.pre1

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/coverage.yml +20 -0
  3. data/.github/workflows/draft_api.yml +27 -0
  4. data/.github/workflows/stable_api.yml +26 -0
  5. data/.rubocop.yml +175 -0
  6. data/CHANGES.md +9 -4
  7. data/Gemfile +3 -7
  8. data/README.md +19 -58
  9. data/ci/install-libczmq +22 -0
  10. data/ci/install-libzmq +22 -0
  11. data/cztop.gemspec +12 -13
  12. data/lib/cztop/actor.rb +55 -26
  13. data/lib/cztop/authenticator.rb +18 -9
  14. data/lib/cztop/beacon.rb +22 -10
  15. data/lib/cztop/cert_store.rb +8 -2
  16. data/lib/cztop/certificate.rb +47 -18
  17. data/lib/cztop/config/comments.rb +14 -3
  18. data/lib/cztop/config/serialization.rb +25 -5
  19. data/lib/cztop/config/traversing.rb +44 -13
  20. data/lib/cztop/config.rb +23 -9
  21. data/lib/cztop/frame.rb +23 -10
  22. data/lib/cztop/has_ffi_delegate.rb +11 -1
  23. data/lib/cztop/message/frames.rb +16 -2
  24. data/lib/cztop/message.rb +36 -22
  25. data/lib/cztop/metadata.rb +35 -24
  26. data/lib/cztop/monitor.rb +14 -5
  27. data/lib/cztop/poller/aggregated.rb +31 -15
  28. data/lib/cztop/poller/zmq.rb +25 -22
  29. data/lib/cztop/poller/zpoller.rb +18 -6
  30. data/lib/cztop/poller.rb +43 -18
  31. data/lib/cztop/polymorphic_zsock_methods.rb +6 -1
  32. data/lib/cztop/proxy.rb +34 -19
  33. data/lib/cztop/send_receive_methods.rb +5 -1
  34. data/lib/cztop/socket/types.rb +128 -22
  35. data/lib/cztop/socket.rb +23 -18
  36. data/lib/cztop/version.rb +5 -1
  37. data/lib/cztop/z85/padded.rb +12 -3
  38. data/lib/cztop/z85/pipe.rb +40 -17
  39. data/lib/cztop/z85.rb +17 -6
  40. data/lib/cztop/zap.rb +57 -32
  41. data/lib/cztop/zsock_options.rb +155 -122
  42. data/lib/cztop.rb +2 -1
  43. metadata +25 -90
  44. data/.gitlab-ci.yml +0 -32
  45. data/Guardfile +0 -61
  46. data/Procfile +0 -3
  47. data/ci-scripts/install-deps +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b76df17a50c624efad9617599401e6b76ae5b50700544d37c5c8d0bf28b92a2
4
- data.tar.gz: c956bf815260cd9cbf7368467a4c9f24d7db33969b706a8ad6d4aa9d61626187
3
+ metadata.gz: 149778ca201f323611fe23b4b1107c4cb4bde8ea7364bbe7370cea39daf5ab02
4
+ data.tar.gz: 195be179654f5b1c286f4859a012a093bed587f644306ee63642a7e300b261f6
5
5
  SHA512:
6
- metadata.gz: 35945dabfac2708d8fa666638221495e5beffa0bb901733115a9cdc49a4ed7393e6528f870f5ef6952d780a1ffe96c0eebe24953ee87e20ea058e26d7e6dd333
7
- data.tar.gz: 38343f20bfad8f9b5a3cf735d6bf4f1d23e7bc74ead44f7ebc09df7dbe4fdf2e50722710b230fdf1f70f99a5967ae3bc3eb77e056e7f24a928c8e6c1da6193f7
6
+ metadata.gz: c2a65ca5f02e39cfc9ca2695fefd6b02c0e898878041a662d0af1361235fa1ec091c4024d0a9d68b793173f191ce81350e21cc98b0a2320d3d6c9d9617f35d50
7
+ data.tar.gz: bae808f502e3f8b3ced7872d76a6377578bd37d332bf12ba96aaa126ea7571abbbfe363426c9578c30ecd6abbc126198e470d3d378de0bd0b1960384ab9d17b7
@@ -0,0 +1,20 @@
1
+ name: Coverage
2
+
3
+ on: [push,pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-20.04
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ - name: Set up Ruby
11
+ uses: ruby/setup-ruby@v1
12
+ with:
13
+ ruby-version: 3.1
14
+ - name: Install CZMQ
15
+ run: sudo apt-get install libczmq-dev
16
+ - name: Run the default task
17
+ run: |
18
+ gem install bundler
19
+ bundle install
20
+ env REPORT_COVERAGE=true bundle exec rake
@@ -0,0 +1,27 @@
1
+ name: DRAFT API
2
+
3
+ on: [push,pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-20.04
8
+ timeout-minutes: 15
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - name: Set up Ruby
12
+ uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: 3.1
15
+ - name: Install ZMQ and CZMQ
16
+ run: |
17
+ export PKG_CONFIG_PATH=$HOME/lib/pkgconfig # custom libs (for linking)
18
+ env
19
+ env ZMQ_VERSION=HEAD ci/install-libzmq
20
+ env CZMQ_VERSION=HEAD ci/install-libczmq
21
+ - name: Run the default task
22
+ run: |
23
+ export LD_LIBRARY_PATH=$HOME/lib # custom libs (for execution)
24
+ env
25
+ gem install bundler
26
+ bundle install
27
+ bundle exec rake
@@ -0,0 +1,26 @@
1
+ name: STABLE API
2
+
3
+ on: [push,pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-20.04
8
+ strategy:
9
+ matrix:
10
+ ruby:
11
+ - 2.7
12
+ - 3.0
13
+ - 3.1
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby ${{ matrix.ruby }}
17
+ uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ - name: Install CZMQ
21
+ run: sudo apt-get install libczmq-dev
22
+ - name: Run the default task
23
+ run: |
24
+ gem install bundler
25
+ bundle install
26
+ bundle exec rake
data/.rubocop.yml ADDED
@@ -0,0 +1,175 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.7
3
+ NewCops: enable
4
+ Layout/EmptyLineAfterMagicComment:
5
+ Enabled: true
6
+ Layout/ExtraSpacing:
7
+ AllowForAlignment: true
8
+ Layout/EmptyLines:
9
+ Enabled: false
10
+ Layout/EmptyLineBetweenDefs:
11
+ NumberOfEmptyLines: 2
12
+ Layout/MultilineOperationIndentation:
13
+ Enabled: true
14
+ Gemspec/DeprecatedAttributeAssignment: # new in 1.30
15
+ Enabled: true
16
+ Gemspec/RequireMFA: # new in 1.23
17
+ Enabled: true
18
+ Layout/LineContinuationLeadingSpace: # new in 1.31
19
+ Enabled: true
20
+ Layout/LineContinuationSpacing: # new in 1.31
21
+ Enabled: true
22
+ Layout/LineEndStringConcatenationIndentation: # new in 1.18
23
+ Enabled: true
24
+ Layout/SpaceBeforeBrackets: # new in 1.7
25
+ Enabled: true
26
+ Lint/AmbiguousAssignment: # new in 1.7
27
+ Enabled: true
28
+ Lint/AmbiguousOperatorPrecedence: # new in 1.21
29
+ Enabled: false
30
+ Lint/AmbiguousRange: # new in 1.19
31
+ Enabled: true
32
+ Lint/ConstantOverwrittenInRescue: # new in 1.31
33
+ Enabled: true
34
+ Lint/DeprecatedConstants: # new in 1.8
35
+ Enabled: true
36
+ Lint/DuplicateBranch: # new in 1.3
37
+ Enabled: true
38
+ Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
39
+ Enabled: true
40
+ Lint/EmptyBlock: # new in 1.1
41
+ Enabled: true
42
+ Lint/EmptyClass: # new in 1.3
43
+ Enabled: true
44
+ Lint/EmptyInPattern: # new in 1.16
45
+ Enabled: true
46
+ Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
47
+ Enabled: true
48
+ Lint/LambdaWithoutLiteralBlock: # new in 1.8
49
+ Enabled: true
50
+ Lint/NoReturnInBeginEndBlocks: # new in 1.2
51
+ Enabled: true
52
+ Lint/NonAtomicFileOperation: # new in 1.31
53
+ Enabled: true
54
+ Lint/NumberedParameterAssignment: # new in 1.9
55
+ Enabled: true
56
+ Lint/OrAssignmentToConstant: # new in 1.9
57
+ Enabled: true
58
+ Lint/RedundantDirGlobSort: # new in 1.8
59
+ Enabled: true
60
+ Lint/RefinementImportMethods: # new in 1.27
61
+ Enabled: true
62
+ Lint/RequireRangeParentheses: # new in 1.32
63
+ Enabled: true
64
+ Lint/RequireRelativeSelfPath: # new in 1.22
65
+ Enabled: true
66
+ Lint/SymbolConversion: # new in 1.9
67
+ Enabled: true
68
+ Lint/ToEnumArguments: # new in 1.1
69
+ Enabled: true
70
+ Lint/TripleQuotes: # new in 1.9
71
+ Enabled: true
72
+ Lint/UnexpectedBlockArity: # new in 1.5
73
+ Enabled: true
74
+ Lint/UnmodifiedReduceAccumulator: # new in 1.1
75
+ Enabled: true
76
+ Lint/UselessRuby2Keywords: # new in 1.23
77
+ Enabled: true
78
+ Naming/BlockForwarding: # new in 1.24
79
+ Enabled: true
80
+ Security/CompoundHash: # new in 1.28
81
+ Enabled: true
82
+ Security/IoMethods: # new in 1.22
83
+ Enabled: true
84
+ Style/AndOr:
85
+ EnforcedStyle: conditionals
86
+ Style/InfiniteLoop:
87
+ Enabled: false
88
+ Style/ArgumentsForwarding: # new in 1.1
89
+ Enabled: true
90
+ Style/CollectionCompact: # new in 1.2
91
+ Enabled: true
92
+ Style/DocumentDynamicEvalDefinition: # new in 1.1
93
+ Enabled: true
94
+ Style/EmptyHeredoc: # new in 1.32
95
+ Enabled: true
96
+ Style/EndlessMethod: # new in 1.8
97
+ Enabled: true
98
+ Style/EnvHome: # new in 1.29
99
+ Enabled: true
100
+ Style/FetchEnvVar: # new in 1.28
101
+ Enabled: true
102
+ Style/FileRead: # new in 1.24
103
+ Enabled: true
104
+ Style/FileWrite: # new in 1.24
105
+ Enabled: true
106
+ Style/FrozenStringLiteralComment:
107
+ EnforcedStyle: always_true
108
+ Style/HashConversion: # new in 1.10
109
+ Enabled: true
110
+ Style/HashExcept: # new in 1.7
111
+ Enabled: true
112
+ Style/IfWithBooleanLiteralBranches: # new in 1.9
113
+ Enabled: true
114
+ Style/InPatternThen: # new in 1.16
115
+ Enabled: true
116
+ Style/MagicCommentFormat: # new in 1.35
117
+ Enabled: true
118
+ Style/MapCompactWithConditionalBlock: # new in 1.30
119
+ Enabled: true
120
+ Style/MapToHash: # new in 1.24
121
+ Enabled: true
122
+ Style/MultilineInPatternThen: # new in 1.16
123
+ Enabled: true
124
+ Style/NegatedIfElseCondition: # new in 1.2
125
+ Enabled: true
126
+ Style/NestedFileDirname: # new in 1.26
127
+ Enabled: true
128
+ Style/NilLambda: # new in 1.3
129
+ Enabled: true
130
+ Style/NumberedParameters: # new in 1.22
131
+ Enabled: true
132
+ Style/NumberedParametersLimit: # new in 1.22
133
+ Enabled: true
134
+ Style/ObjectThen: # new in 1.28
135
+ Enabled: true
136
+ Style/OpenStructUse: # new in 1.23
137
+ Enabled: true
138
+ Style/QuotedSymbols: # new in 1.16
139
+ Enabled: true
140
+ Style/RedundantArgument: # new in 1.4
141
+ Enabled: true
142
+ Style/RedundantInitialize: # new in 1.27
143
+ Enabled: true
144
+ Style/RedundantSelfAssignmentBranch: # new in 1.19
145
+ Enabled: true
146
+ Style/SelectByRegexp: # new in 1.22
147
+ Enabled: true
148
+ Style/StringChars: # new in 1.12
149
+ Enabled: true
150
+ Style/SwapValues: # new in 1.1
151
+ Enabled: true
152
+ Style/ClassAndModuleChildren:
153
+ Enabled: false
154
+ Style/StringConcatenation:
155
+ Enabled: false
156
+ Style/RescueModifier:
157
+ Enabled: false
158
+ Style/YodaCondition:
159
+ Enabled: false
160
+ Lint/AmbiguousRegexpLiteral:
161
+ Enabled: false
162
+ Style/WordArray:
163
+ Enabled: false
164
+ Style/Semicolon:
165
+ Enabled: false
166
+ Naming/MethodName:
167
+ Enabled: false
168
+ Style/EmptyMethod:
169
+ Enabled: false
170
+ Layout/EmptyLinesAroundClassBody:
171
+ Enabled: true
172
+ EnforcedStyle: empty_lines_except_namespace
173
+ Layout/EmptyLinesAroundModuleBody:
174
+ Enabled: true
175
+ EnforcedStyle: empty_lines_except_namespace
data/CHANGES.md CHANGED
@@ -1,8 +1,13 @@
1
- 0.14.1 (11/25/2019)
1
+ 1.1.0.pre1 (10/17/2022)
2
2
  -----
3
- * relax dependencies (ffi)
4
- * respect env var ZMQ_PATH when loading ZMQ for CZTop::Poller
3
+ * modernize syntax using Rubocop
4
+ * use czmq-ffi-gen 1.1.0.pre1
5
+ * require Ruby >= 2.7.x
5
6
 
7
+ 1.0.0 (01/08/2021)
8
+ -----
9
+ * use czmq-ffi-gen 1.0.x
10
+ * modernized project
6
11
 
7
12
  0.13.1 (03/04/2018)
8
13
  -----
@@ -134,7 +139,7 @@
134
139
 
135
140
  0.3.0 (04/13/2016)
136
141
  -----
137
- * port CZTop::Poller to zmq_poller_*() functions so it supports thread-safe
142
+ * port CZTop::Poller to `zmq_poller_*()` functions so it supports thread-safe
138
143
  sockets as well
139
144
  * extract niche features to CZTop::Poller::Aggregated
140
145
  * fix taxi system example
data/Gemfile CHANGED
@@ -2,13 +2,9 @@ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
4
  # useful when working on czmq-ffi-gen in parallel
5
- #gem "czmq-ffi-gen", git: "https://github.com/paddor/czmq-ffi-gen.git"
6
- #gem "rspec-core", git: "file:///Users/paddor/src/ruby/rspec-core"
5
+ # gem "czmq-ffi-gen", path: "../czmq-ffi-gen"
7
6
 
8
7
  group :development do
9
- gem 'rubocop', require: false
10
- gem 'coveralls', require: false, platform: :mri
11
-
12
- # >= 3.1 doesn't work on Rubinius, see guard/listen#391
13
- gem 'listen', '~> 3.0.x', require: false
8
+ gem 'codecov', require: false
9
+ gem 'simplecov', require: false
14
10
  end
data/README.md CHANGED
@@ -1,31 +1,15 @@
1
+ ![Specs status](https://github.com/paddor/cztop/workflows/STABLE%20API/badge.svg)
2
+ ![Specs status](https://github.com/paddor/cztop/workflows/DRAFT%20API/badge.svg)
3
+ [![codecov](https://codecov.io/gh/paddor/cztop/branch/master/graph/badge.svg?token=TnjOba97R7)](https://codecov.io/gh/paddor/cztop)
4
+
1
5
  # CZTop
2
6
 
3
7
  CZTop is a CZMQ binding for Ruby. It is based on
4
- [czmq-ffi-gen](https://gitlab.com/paddor/czmq-ffi-gen), the generated low-level
8
+ [czmq-ffi-gen](https://github.com/paddor/czmq-ffi-gen), the generated low-level
5
9
  FFI binding of [CZMQ](https://github.com/zeromq/czmq) and has a focus on being
6
10
  easy to use for Rubyists (POLS) and providing first class support for security
7
11
  mechanisms (like CURVE).
8
12
 
9
- [![pipeline status](https://gitlab.com/paddor/cztop/badges/master/pipeline.svg)](https://gitlab.com/paddor/cztop/commits/master)
10
- [![Coverage Status](https://coveralls.io/repos/gitlab/paddor/cztop/badge.svg?branch=master)](https://coveralls.io/gitlab/paddor/cztop?branch=master)
11
- [![ISC License](https://img.shields.io/badge/license-ISC_License-blue.svg)](LICENSE)
12
-
13
- ## Goals
14
-
15
- Here are some some of the goals I had in mind for this library:
16
-
17
- - [x] as easy as possible, Ruby-esque API
18
- - [x] first class support for security (CURVE mechanism)
19
- - [x] including handling of certificates
20
- - [x] support MRI, Rubinius, and JRuby
21
- - [x] high-quality API documentation
22
- - [x] 100% test coverage
23
- - [x] provide a portable Z85 implementation
24
- * unlike [fpesce/z85](https://github.com/fpesce/z85), which is a C extension
25
- - [x] use it to replace the [Celluloid::ZMQ](https://github.com/celluloid/celluloid-zmq) part of [Celluloid](https://github.com/celluloid/celluloid)
26
- * [celluloid/celluloid-zmq#56](https://github.com/celluloid/celluloid-zmq/issues/56)
27
- - [ ] implement some of the missing (CZMQ based) Ruby examples in the [ZMQ Guide](http://zguide.zeromq.org/page:all)
28
-
29
13
  ## Overview
30
14
 
31
15
  ### Class Hierarchy
@@ -89,50 +73,28 @@ More information in the [API documentation](http://www.rubydoc.info/github/paddo
89
73
  * use `Socket#CURVE_server!(cert)` on the server
90
74
  * and `Socket#CURVE_client!(client_cert, server_cert)` on the client
91
75
  * socket types as Ruby classes
92
- * no need to manually pass some constant
76
+ * no need to manually pass type constants
93
77
  * but you can: `CZTop::Socket.new_by_type(:REP)`
94
- * e.g. `#subscribe` only exists on CZTop::Socket::SUB
95
- * DRAFT API ready
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
100
- * ZMTP 3.1 heartbeat ready
101
- * `socket.options.heartbeat_ivl = 2000`
102
- * `socket.options.heartbeat_timeout = 8000`
78
+ * e.g. `#subscribe` only exists on `CZTop::Socket::SUB`
103
79
 
104
80
  ## Requirements
105
81
 
106
- You'll need:
107
-
108
- * CZMQ >= 4.1
109
- * ZMQ >= 4.2
110
-
111
- For security mechanisms like CURVE, it's recommended to use Libsodium. However,
112
- ZMQ can be compiled with tweetnacl enabled.
113
82
 
114
- To install on OSX using homebrew, run:
83
+ * CZMQ >= 4.2
84
+ * ZMQ >= 4.3
115
85
 
116
- $ brew install libsodium
117
- $ brew install zmq --HEAD --with-libsodium
118
- $ brew install czmq --HEAD
119
86
 
120
- If you're running Linux, go check [this page](http://zeromq.org/distro:_start)
121
- to get more help. Make sure to install CZMQ, not only ZMQ.
87
+ On Ubuntu 20.04+:
122
88
 
123
- **Note:** Currently (as of May 2016), when compiling ZMQ from master, it may
124
- be required to pass `--enable-drafts` to `./configure` to make sure all the
125
- `zmq_poller_*()` functions are available. However, this doesn't seem to be the
126
- case on all systems.
89
+ $ sudo apt install libczmq-dev
127
90
 
128
- ### Supported Ruby versions
91
+ On macOS using Homebrew, run:
129
92
 
130
- See [.travis.yml](https://github.com/paddor/cztop/blob/master/.travis.yml) for a list of Ruby versions against which CZTop
131
- is tested.
93
+ $ brew install czmq
132
94
 
133
- At the time of writing, these include:
95
+ ### Supported Rubies
134
96
 
135
- * MRI (2.3, 2.2)
97
+ * MRI (2.6, 2.7, 3.0)
136
98
  * Rubinius (HEAD)
137
99
  * JRuby 9000 (HEAD)
138
100
 
@@ -159,20 +121,19 @@ and Ruby. The following API documentation is currently available:
159
121
 
160
122
  * [YARD API documentation](http://www.rubydoc.info/gems/cztop) (release)
161
123
 
162
- Feel free to start a [wiki](https://gitlab.com/paddor/cztop/wiki) page.
124
+ Feel free to start a [wiki](https://github.com/paddor/cztop/wiki) page.
163
125
 
164
126
  ## Performance
165
127
 
166
- Performance should be pretty okay since this is based on czmq-ffi-gen, which is
167
- reasonably thin. CZTop is just a convenience layer.
128
+ CZTop is just a convenience layer on top of the thin czmq-ffi-gen library.
168
129
 
169
130
  Make sure to check out the
170
- [perf](https://gitlab.com/paddor/cztop/blob/master/perf) directory for latency
131
+ [perf](https://github.com/paddor/cztop/blob/master/perf) directory for latency
171
132
  and throughput measurement scripts.
172
133
 
173
134
  ## Usage
174
135
 
175
- See the [examples](https://gitlab.com/paddor/cztop/blob/master/examples) directory for some examples.
136
+ See the [examples](https://github.com/paddor/cztop/blob/master/examples) directory for some examples.
176
137
 
177
138
 
178
139
  ## Contributing
@@ -0,0 +1,22 @@
1
+ #!/bin/sh -x
2
+ # vim: ft=sh
3
+ set -e
4
+ mkdir -p ~/src
5
+ cd ~/src
6
+
7
+ case "$CZMQ_VERSION" in
8
+ HEAD)
9
+ echo "Using HEAD and compiling with --enable-drafts ..."
10
+ git clone https://github.com/zeromq/czmq czmq
11
+ CONFIGURE_OPTS="--enable-drafts=yes"
12
+ ;;
13
+ *)
14
+ echo '$CZMQ_VERSION not set.'
15
+ exit 1
16
+ esac
17
+
18
+ cd czmq
19
+ ./autogen.sh
20
+ ./configure --prefix=$HOME $CONFIGURE_OPTS
21
+ make
22
+ make install
data/ci/install-libzmq ADDED
@@ -0,0 +1,22 @@
1
+ #!/bin/sh -x
2
+ # vim: ft=sh
3
+ set -e
4
+ mkdir -p ~/src
5
+ cd ~/src
6
+
7
+ case "$ZMQ_VERSION" in
8
+ HEAD)
9
+ echo "Using HEAD and compiling with --enable-drafts ..."
10
+ git clone https://github.com/zeromq/libzmq libzmq
11
+ CONFIGURE_OPTS="--enable-drafts=yes"
12
+ ;;
13
+ *)
14
+ echo '$ZMQ_VERSION not set.'
15
+ exit 1
16
+ esac
17
+
18
+ cd libzmq
19
+ ./autogen.sh
20
+ ./configure --prefix=$HOME $CONFIGURE_OPTS
21
+ make
22
+ make install
data/cztop.gemspec CHANGED
@@ -1,7 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'cztop/version'
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/cztop/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "cztop"
@@ -9,16 +8,21 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["Patrik Wenger"]
10
9
  spec.email = ["paddor@gmail.com"]
11
10
 
12
- spec.summary = %q{CZMQ Ruby binding, based on the generated low-level FFI bindings of CZMQ}
13
- spec.homepage = "https://github.com/paddor/cztop"
11
+ spec.summary = %q{CZMQ Ruby binding based on the generated low-level FFI bindings of CZMQ}
12
+ spec.homepage = "https://rubygems.org/gems/cztop"
14
13
  spec.license = "ISC"
14
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
15
+
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = "https://github.com/paddor/cztop"
18
+ spec.metadata["changelog_uri"] = "https://github.com/paddor/cztop/blob/master/CHANGELOG.md"
15
19
 
16
20
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
21
  spec.bindir = "exe"
18
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
23
  spec.require_paths = ["lib"]
20
24
 
21
- spec.add_runtime_dependency "czmq-ffi-gen", "~> 0.16"
25
+ spec.add_runtime_dependency "czmq-ffi-gen", "~> 1.1.0.pre1"
22
26
 
23
27
  spec.add_development_dependency "bundler"
24
28
  spec.add_development_dependency "rake"
@@ -27,10 +31,5 @@ Gem::Specification.new do |spec|
27
31
  spec.add_development_dependency "rspec-given", "~> 3.8.0"
28
32
  spec.add_development_dependency "pry"
29
33
  spec.add_development_dependency "yard"
30
- spec.add_development_dependency "guard"
31
- spec.add_development_dependency "guard-rspec"
32
- spec.add_development_dependency "guard-yard"
33
- spec.add_development_dependency "guard-shell"
34
- spec.add_development_dependency 'terminal-notifier-guard'
35
- spec.add_development_dependency 'foreman'
34
+ spec.add_development_dependency "rubocop", "~> 1.36.0"
36
35
  end