waterdrop 1.3.4 → 1.4.4
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.diffend.yml +3 -0
- data/.github/workflows/ci.yml +75 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +17 -0
- data/Gemfile.lock +60 -63
- data/README.md +4 -8
- data/certs/mensfeld.pem +21 -21
- data/docker-compose.yml +17 -0
- data/lib/water_drop/config.rb +39 -39
- data/lib/water_drop/contracts.rb +1 -1
- data/lib/water_drop/instrumentation/monitor.rb +0 -1
- data/lib/water_drop/instrumentation.rb +7 -0
- data/lib/water_drop/sync_producer.rb +1 -1
- data/lib/water_drop/version.rb +1 -1
- data/waterdrop.gemspec +6 -6
- data.tar.gz.sig +0 -0
- metadata +39 -37
- metadata.gz.sig +0 -0
- data/.github/FUNDING.yml +0 -1
- data/.travis.yml +0 -35
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d805514cfb3af2c6b95b391eb5a04380146e820ac58d6feb917c3f05de38e880
|
|
4
|
+
data.tar.gz: 87812de0c350f9dccd07e7547a8a894fca18b406b18fff29531155c8cbdbba67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fa11c319429bdf23ba21ee9b75f15741f58eec5bb957cc02ee4fc01e99d77c3fdf10a14d10740311cc3e612d3a00072406e1bab1d196266764cf5459d1985ef0
|
|
7
|
+
data.tar.gz: d0ef1f7f6fc8f71fa913755bc766b29c41f246cbacbb2946fec646eaa7003865b2be0a2d0b03a64ec9bb9b5e1d9709203ffad03e3f430408199ae8b1610d7db2
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/.diffend.yml
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
name: ci
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
schedule:
|
|
7
|
+
- cron: '0 1 * * *'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
specs:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
needs: diffend
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
matrix:
|
|
16
|
+
ruby:
|
|
17
|
+
- '3.0'
|
|
18
|
+
- '2.7'
|
|
19
|
+
- '2.6'
|
|
20
|
+
- 'jruby-head'
|
|
21
|
+
include:
|
|
22
|
+
- ruby: '3.0'
|
|
23
|
+
coverage: 'true'
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v2
|
|
26
|
+
- name: Install package dependencies
|
|
27
|
+
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
|
|
28
|
+
- name: Set up Ruby
|
|
29
|
+
uses: ruby/setup-ruby@v1
|
|
30
|
+
with:
|
|
31
|
+
ruby-version: ${{matrix.ruby}}
|
|
32
|
+
- name: Install latest bundler
|
|
33
|
+
run: |
|
|
34
|
+
gem install bundler --no-document
|
|
35
|
+
bundle config set without 'tools benchmarks docs'
|
|
36
|
+
- name: Bundle install
|
|
37
|
+
run: |
|
|
38
|
+
bundle config set without development
|
|
39
|
+
bundle install --jobs 4 --retry 3
|
|
40
|
+
- name: Run Kafka with docker-compose
|
|
41
|
+
run: docker-compose up -d
|
|
42
|
+
- name: Run all tests
|
|
43
|
+
env:
|
|
44
|
+
GITHUB_COVERAGE: ${{matrix.coverage}}
|
|
45
|
+
run: bundle exec rspec
|
|
46
|
+
|
|
47
|
+
diffend:
|
|
48
|
+
runs-on: ubuntu-latest
|
|
49
|
+
strategy:
|
|
50
|
+
fail-fast: false
|
|
51
|
+
steps:
|
|
52
|
+
- uses: actions/checkout@v2
|
|
53
|
+
with:
|
|
54
|
+
fetch-depth: 0
|
|
55
|
+
- name: Set up Ruby
|
|
56
|
+
uses: ruby/setup-ruby@v1
|
|
57
|
+
with:
|
|
58
|
+
ruby-version: 3.0
|
|
59
|
+
- name: Install latest bundler
|
|
60
|
+
run: gem install bundler --no-document
|
|
61
|
+
- name: Install Diffend plugin
|
|
62
|
+
run: bundle plugin install diffend
|
|
63
|
+
- name: Bundle Secure
|
|
64
|
+
run: bundle secure
|
|
65
|
+
|
|
66
|
+
coditsu:
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
strategy:
|
|
69
|
+
fail-fast: false
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/checkout@v2
|
|
72
|
+
with:
|
|
73
|
+
fetch-depth: 0
|
|
74
|
+
- name: Run Coditsu
|
|
75
|
+
run: \curl -sSL https://api.coditsu.io/run/ci | bash
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.0.2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# WaterDrop changelog
|
|
2
2
|
|
|
3
|
+
## 1.4.4 (2021-10-30)
|
|
4
|
+
- minimum version of ruby-kafka is now 1.3
|
|
5
|
+
- update gems requirements in the gemspec (nijikon)
|
|
6
|
+
|
|
7
|
+
## 1.4.3 (2021-09-29)
|
|
8
|
+
- Remove Ruby 2.5 support and update minimum Ruby requirement to 2.6
|
|
9
|
+
- fix `dry-configurable` deprecation warnings for default value as positional argument
|
|
10
|
+
|
|
11
|
+
## 1.4.2 (2021-03-30)
|
|
12
|
+
- Additional 3.0 fixes (ojab)
|
|
13
|
+
|
|
14
|
+
## 1.4.1 (2021-03-23)
|
|
15
|
+
- Support for Ruby 3.0
|
|
16
|
+
|
|
17
|
+
## 1.4.0 (2020-08-25)
|
|
18
|
+
- Release to match Karafka 1.4 versioning.
|
|
19
|
+
|
|
3
20
|
## 1.3.4 (2020-02-17)
|
|
4
21
|
- Support for new `dry-configurable`
|
|
5
22
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,95 +1,92 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
waterdrop (1.
|
|
4
|
+
waterdrop (1.4.4)
|
|
5
5
|
delivery_boy (>= 0.2, < 2.x)
|
|
6
|
-
dry-configurable (~> 0.
|
|
7
|
-
dry-monitor (~> 0.
|
|
8
|
-
dry-validation (~> 1.
|
|
9
|
-
ruby-kafka (>=
|
|
10
|
-
zeitwerk (~> 2.
|
|
6
|
+
dry-configurable (~> 0.13)
|
|
7
|
+
dry-monitor (~> 0.5)
|
|
8
|
+
dry-validation (~> 1.7)
|
|
9
|
+
ruby-kafka (>= 1.3.0)
|
|
10
|
+
zeitwerk (~> 2.4)
|
|
11
11
|
|
|
12
12
|
GEM
|
|
13
13
|
remote: https://rubygems.org/
|
|
14
14
|
specs:
|
|
15
|
-
concurrent-ruby (1.1.
|
|
16
|
-
delivery_boy (1.
|
|
17
|
-
king_konf (~> 0
|
|
18
|
-
ruby-kafka (~> 0
|
|
19
|
-
diff-lcs (1.
|
|
20
|
-
digest-crc (0.4
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
concurrent-ruby (1.1.9)
|
|
16
|
+
delivery_boy (1.1.0)
|
|
17
|
+
king_konf (~> 1.0)
|
|
18
|
+
ruby-kafka (~> 1.0)
|
|
19
|
+
diff-lcs (1.4.4)
|
|
20
|
+
digest-crc (0.6.4)
|
|
21
|
+
rake (>= 12.0.0, < 14.0.0)
|
|
22
|
+
docile (1.4.0)
|
|
23
|
+
dry-configurable (0.13.0)
|
|
23
24
|
concurrent-ruby (~> 1.0)
|
|
24
|
-
dry-core (~> 0.
|
|
25
|
-
|
|
26
|
-
dry-container (0.7.2)
|
|
25
|
+
dry-core (~> 0.6)
|
|
26
|
+
dry-container (0.9.0)
|
|
27
27
|
concurrent-ruby (~> 1.0)
|
|
28
|
-
dry-configurable (~> 0.
|
|
29
|
-
dry-core (0.
|
|
28
|
+
dry-configurable (~> 0.13, >= 0.13.0)
|
|
29
|
+
dry-core (0.7.1)
|
|
30
30
|
concurrent-ruby (~> 1.0)
|
|
31
|
-
dry-
|
|
32
|
-
dry-events (0.2.0)
|
|
31
|
+
dry-events (0.3.0)
|
|
33
32
|
concurrent-ruby (~> 1.0)
|
|
34
|
-
dry-core (~> 0.
|
|
35
|
-
|
|
36
|
-
dry-
|
|
37
|
-
dry-
|
|
38
|
-
dry-logic (1.0.6)
|
|
33
|
+
dry-core (~> 0.5, >= 0.5)
|
|
34
|
+
dry-inflector (0.2.1)
|
|
35
|
+
dry-initializer (3.0.4)
|
|
36
|
+
dry-logic (1.2.0)
|
|
39
37
|
concurrent-ruby (~> 1.0)
|
|
40
|
-
dry-core (~> 0.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
dry-
|
|
44
|
-
dry-
|
|
45
|
-
|
|
46
|
-
dry-events (~> 0.1)
|
|
47
|
-
dry-schema (1.4.3)
|
|
38
|
+
dry-core (~> 0.5, >= 0.5)
|
|
39
|
+
dry-monitor (0.5.0)
|
|
40
|
+
dry-configurable (~> 0.13, >= 0.13.0)
|
|
41
|
+
dry-core (~> 0.5, >= 0.5)
|
|
42
|
+
dry-events (~> 0.2)
|
|
43
|
+
dry-schema (1.8.0)
|
|
48
44
|
concurrent-ruby (~> 1.0)
|
|
49
|
-
dry-configurable (~> 0.
|
|
50
|
-
dry-core (~> 0.
|
|
51
|
-
dry-equalizer (~> 0.2)
|
|
45
|
+
dry-configurable (~> 0.13, >= 0.13.0)
|
|
46
|
+
dry-core (~> 0.5, >= 0.5)
|
|
52
47
|
dry-initializer (~> 3.0)
|
|
53
48
|
dry-logic (~> 1.0)
|
|
54
|
-
dry-types (~> 1.
|
|
55
|
-
dry-types (1.
|
|
49
|
+
dry-types (~> 1.5)
|
|
50
|
+
dry-types (1.5.1)
|
|
56
51
|
concurrent-ruby (~> 1.0)
|
|
57
52
|
dry-container (~> 0.3)
|
|
58
|
-
dry-core (~> 0.
|
|
59
|
-
dry-equalizer (~> 0.3)
|
|
53
|
+
dry-core (~> 0.5, >= 0.5)
|
|
60
54
|
dry-inflector (~> 0.1, >= 0.1.2)
|
|
61
55
|
dry-logic (~> 1.0, >= 1.0.2)
|
|
62
|
-
dry-validation (1.
|
|
56
|
+
dry-validation (1.7.0)
|
|
63
57
|
concurrent-ruby (~> 1.0)
|
|
64
58
|
dry-container (~> 0.7, >= 0.7.1)
|
|
65
|
-
dry-core (~> 0.
|
|
66
|
-
dry-equalizer (~> 0.2)
|
|
59
|
+
dry-core (~> 0.5, >= 0.5)
|
|
67
60
|
dry-initializer (~> 3.0)
|
|
68
|
-
dry-schema (~> 1.
|
|
69
|
-
king_konf (0.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
rspec-
|
|
73
|
-
rspec-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
61
|
+
dry-schema (~> 1.8, >= 1.8.0)
|
|
62
|
+
king_konf (1.0.0)
|
|
63
|
+
rake (13.0.6)
|
|
64
|
+
rspec (3.10.0)
|
|
65
|
+
rspec-core (~> 3.10.0)
|
|
66
|
+
rspec-expectations (~> 3.10.0)
|
|
67
|
+
rspec-mocks (~> 3.10.0)
|
|
68
|
+
rspec-core (3.10.1)
|
|
69
|
+
rspec-support (~> 3.10.0)
|
|
70
|
+
rspec-expectations (3.10.1)
|
|
77
71
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
78
|
-
rspec-support (~> 3.
|
|
79
|
-
rspec-mocks (3.
|
|
72
|
+
rspec-support (~> 3.10.0)
|
|
73
|
+
rspec-mocks (3.10.2)
|
|
80
74
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
81
|
-
rspec-support (~> 3.
|
|
82
|
-
rspec-support (3.
|
|
83
|
-
ruby-kafka (
|
|
75
|
+
rspec-support (~> 3.10.0)
|
|
76
|
+
rspec-support (3.10.2)
|
|
77
|
+
ruby-kafka (1.4.0)
|
|
84
78
|
digest-crc
|
|
85
|
-
simplecov (0.
|
|
79
|
+
simplecov (0.21.2)
|
|
86
80
|
docile (~> 1.1)
|
|
87
81
|
simplecov-html (~> 0.11)
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
simplecov_json_formatter (~> 0.1)
|
|
83
|
+
simplecov-html (0.12.3)
|
|
84
|
+
simplecov_json_formatter (0.1.3)
|
|
85
|
+
zeitwerk (2.5.1)
|
|
90
86
|
|
|
91
87
|
PLATFORMS
|
|
92
|
-
|
|
88
|
+
x86_64-darwin
|
|
89
|
+
x86_64-linux
|
|
93
90
|
|
|
94
91
|
DEPENDENCIES
|
|
95
92
|
rspec
|
|
@@ -97,4 +94,4 @@ DEPENDENCIES
|
|
|
97
94
|
waterdrop!
|
|
98
95
|
|
|
99
96
|
BUNDLED WITH
|
|
100
|
-
2.
|
|
97
|
+
2.2.29
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# WaterDrop
|
|
2
2
|
|
|
3
3
|
[](https://travis-ci.org/karafka/waterdrop)
|
|
4
|
-
[](https://slack.karafka.io)
|
|
5
5
|
|
|
6
6
|
Gem used to send messages to Kafka in an easy way with an extra validation layer. It is a part of the [Karafka](https://github.com/karafka/karafka) ecosystem.
|
|
7
7
|
|
|
@@ -116,12 +116,8 @@ Keep in mind, that message you want to send should be either binary or stringifi
|
|
|
116
116
|
|
|
117
117
|
## Note on contributions
|
|
118
118
|
|
|
119
|
-
First, thank you for considering contributing to
|
|
119
|
+
First, thank you for considering contributing to the Karafka ecosystem! It's people like you that make the open source community such a great community!
|
|
120
120
|
|
|
121
|
-
Each pull request must pass all the RSpec specs and meet our quality requirements.
|
|
121
|
+
Each pull request must pass all the RSpec specs, integration tests and meet our quality requirements.
|
|
122
122
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
Coditsu will automatically check your work against our quality standards. You can find your commit check results on the [builds page](https://app.coditsu.io/karafka/repositories/waterdrop/builds/commit_builds) of WaterDrop repository.
|
|
126
|
-
|
|
127
|
-
[](https://app.coditsu.io/karafka/repositories/waterdrop/builds/commit_builds)
|
|
123
|
+
Fork it, update and wait for the Github Actions results.
|
data/certs/mensfeld.pem
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
|
2
2
|
MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
|
|
4
|
+
NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
|
|
5
|
+
CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
|
|
6
|
+
ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
|
|
7
|
+
TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
|
|
8
|
+
1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
|
|
9
|
+
vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
|
|
10
|
+
qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
|
|
11
|
+
tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
|
|
12
|
+
g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
|
|
13
|
+
LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
|
|
14
|
+
BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
|
|
15
15
|
EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
|
|
17
|
+
W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
|
|
18
|
+
yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
|
|
19
|
+
8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
|
|
20
|
+
/rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
|
|
21
|
+
fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
|
|
22
|
+
2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
|
|
23
|
+
R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
|
|
24
|
+
pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
|
|
25
25
|
-----END CERTIFICATE-----
|
data/docker-compose.yml
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
version: '2'
|
|
2
|
+
services:
|
|
3
|
+
zookeeper:
|
|
4
|
+
image: wurstmeister/zookeeper
|
|
5
|
+
ports:
|
|
6
|
+
- "2181:2181"
|
|
7
|
+
kafka:
|
|
8
|
+
image: wurstmeister/kafka:1.0.1
|
|
9
|
+
ports:
|
|
10
|
+
- "9092:9092"
|
|
11
|
+
environment:
|
|
12
|
+
KAFKA_ADVERTISED_HOST_NAME: localhost
|
|
13
|
+
KAFKA_ADVERTISED_PORT: 9092
|
|
14
|
+
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
15
|
+
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
|
|
16
|
+
volumes:
|
|
17
|
+
- /var/run/docker.sock:/var/run/docker.sock
|
data/lib/water_drop/config.rb
CHANGED
|
@@ -15,20 +15,20 @@ module WaterDrop
|
|
|
15
15
|
|
|
16
16
|
# WaterDrop options
|
|
17
17
|
# option client_id [String] identifier of this producer
|
|
18
|
-
setting :client_id, 'waterdrop'
|
|
18
|
+
setting :client_id, default: 'waterdrop'
|
|
19
19
|
# option [Instance, nil] logger that we want to use or nil to fallback to ruby-kafka logger
|
|
20
|
-
setting :logger, Logger.new($stdout, level: Logger::WARN)
|
|
20
|
+
setting :logger, default: Logger.new($stdout, level: Logger::WARN)
|
|
21
21
|
# option [Instance] monitor that we want to use. See instrumentation part of the README for
|
|
22
22
|
# more details
|
|
23
|
-
setting :monitor, WaterDrop::Instrumentation::Monitor.new
|
|
23
|
+
setting :monitor, default: WaterDrop::Instrumentation::Monitor.new
|
|
24
24
|
# option [Boolean] should we send messages. Setting this to false can be really useful when
|
|
25
25
|
# testing and or developing because when set to false, won't actually ping Kafka
|
|
26
|
-
setting :deliver, true
|
|
26
|
+
setting :deliver, default: true
|
|
27
27
|
# option [Boolean] if you're producing messages faster than the framework or the network can
|
|
28
28
|
# send them off, ruby-kafka might reject them. If that happens, WaterDrop will either raise
|
|
29
29
|
# or ignore - this setting manages that behavior. This only applies to async producer as
|
|
30
30
|
# sync producer will always raise upon problems
|
|
31
|
-
setting :raise_on_buffer_overflow, true
|
|
31
|
+
setting :raise_on_buffer_overflow, default: true
|
|
32
32
|
|
|
33
33
|
# Settings directly related to the Kafka driver
|
|
34
34
|
setting :kafka do
|
|
@@ -39,99 +39,99 @@ module WaterDrop
|
|
|
39
39
|
# option connect_timeout [Integer] Sets the number of seconds to wait while connecting to
|
|
40
40
|
# a broker for the first time. When ruby-kafka initializes, it needs to connect to at
|
|
41
41
|
# least one host.
|
|
42
|
-
setting :connect_timeout, 10
|
|
42
|
+
setting :connect_timeout, default: 10
|
|
43
43
|
# option socket_timeout [Integer] Sets the number of seconds to wait when reading from or
|
|
44
44
|
# writing to a socket connection to a broker. After this timeout expires the connection
|
|
45
45
|
# will be killed. Note that some Kafka operations are by definition long-running, such as
|
|
46
46
|
# waiting for new messages to arrive in a partition, so don't set this value too low
|
|
47
|
-
setting :socket_timeout, 30
|
|
47
|
+
setting :socket_timeout, default: 30
|
|
48
48
|
|
|
49
49
|
# Buffering for async producer
|
|
50
50
|
# @option [Integer] The maximum number of bytes allowed in the buffer before new messages
|
|
51
51
|
# are rejected.
|
|
52
|
-
setting :max_buffer_bytesize, 10_000_000
|
|
52
|
+
setting :max_buffer_bytesize, default: 10_000_000
|
|
53
53
|
# @option [Integer] The maximum number of messages allowed in the buffer before new messages
|
|
54
54
|
# are rejected.
|
|
55
|
-
setting :max_buffer_size, 1000
|
|
55
|
+
setting :max_buffer_size, default: 1000
|
|
56
56
|
# @option [Integer] The maximum number of messages allowed in the queue before new messages
|
|
57
57
|
# are rejected. The queue is used to ferry messages from the foreground threads of your
|
|
58
58
|
# application to the background thread that buffers and delivers messages.
|
|
59
|
-
setting :max_queue_size, 1000
|
|
59
|
+
setting :max_queue_size, default: 1000
|
|
60
60
|
|
|
61
61
|
# option [Integer] A timeout executed by a broker when the client is sending messages to it.
|
|
62
62
|
# It defines the number of seconds the broker should wait for replicas to acknowledge the
|
|
63
63
|
# write before responding to the client with an error. As such, it relates to the
|
|
64
64
|
# required_acks setting. It should be set lower than socket_timeout.
|
|
65
|
-
setting :ack_timeout, 5
|
|
65
|
+
setting :ack_timeout, default: 5
|
|
66
66
|
# option [Integer] The number of seconds between background message
|
|
67
67
|
# deliveries. Default is 10 seconds. Disable timer-based background deliveries by
|
|
68
68
|
# setting this to 0.
|
|
69
|
-
setting :delivery_interval, 10
|
|
69
|
+
setting :delivery_interval, default: 10
|
|
70
70
|
# option [Integer] The number of buffered messages that will trigger a background message
|
|
71
71
|
# delivery. Default is 100 messages. Disable buffer size based background deliveries by
|
|
72
72
|
# setting this to 0.
|
|
73
|
-
setting :delivery_threshold, 100
|
|
73
|
+
setting :delivery_threshold, default: 100
|
|
74
74
|
# option [Boolean]
|
|
75
|
-
setting :idempotent, false
|
|
75
|
+
setting :idempotent, default: false
|
|
76
76
|
# option [Boolean]
|
|
77
|
-
setting :transactional, false
|
|
77
|
+
setting :transactional, default: false
|
|
78
78
|
# option [Integer]
|
|
79
|
-
setting :transactional_timeout, 60
|
|
79
|
+
setting :transactional_timeout, default: 60
|
|
80
80
|
|
|
81
81
|
# option [Integer] The number of retries when attempting to deliver messages.
|
|
82
|
-
setting :max_retries, 2
|
|
82
|
+
setting :max_retries, default: 2
|
|
83
83
|
# option [Integer]
|
|
84
|
-
setting :required_acks, -1
|
|
84
|
+
setting :required_acks, default: -1
|
|
85
85
|
# option [Integer]
|
|
86
|
-
setting :retry_backoff, 1
|
|
86
|
+
setting :retry_backoff, default: 1
|
|
87
87
|
|
|
88
88
|
# option [Integer] The minimum number of messages that must be buffered before compression is
|
|
89
89
|
# attempted. By default only one message is required. Only relevant if compression_codec
|
|
90
90
|
# is set.
|
|
91
|
-
setting :compression_threshold, 1
|
|
91
|
+
setting :compression_threshold, default: 1
|
|
92
92
|
# option [Symbol] The codec used to compress messages. Must be either snappy or gzip.
|
|
93
|
-
setting :compression_codec, nil
|
|
93
|
+
setting :compression_codec, default: nil
|
|
94
94
|
|
|
95
95
|
# SSL authentication related settings
|
|
96
96
|
# option ca_cert [String, nil] SSL CA certificate
|
|
97
|
-
setting :ssl_ca_cert, nil
|
|
97
|
+
setting :ssl_ca_cert, default: nil
|
|
98
98
|
# option ssl_ca_cert_file_path [String, nil] SSL CA certificate file path
|
|
99
|
-
setting :ssl_ca_cert_file_path, nil
|
|
99
|
+
setting :ssl_ca_cert_file_path, default: nil
|
|
100
100
|
# option ssl_ca_certs_from_system [Boolean] Use the CA certs from your system's default
|
|
101
101
|
# certificate store
|
|
102
|
-
setting :ssl_ca_certs_from_system, false
|
|
102
|
+
setting :ssl_ca_certs_from_system, default: false
|
|
103
103
|
# option ssl_verify_hostname [Boolean] Verify the hostname for client certs
|
|
104
|
-
setting :ssl_verify_hostname, true
|
|
104
|
+
setting :ssl_verify_hostname, default: true
|
|
105
105
|
# option ssl_client_cert [String, nil] SSL client certificate
|
|
106
|
-
setting :ssl_client_cert, nil
|
|
106
|
+
setting :ssl_client_cert, default: nil
|
|
107
107
|
# option ssl_client_cert_key [String, nil] SSL client certificate password
|
|
108
|
-
setting :ssl_client_cert_key, nil
|
|
108
|
+
setting :ssl_client_cert_key, default: nil
|
|
109
109
|
# option sasl_gssapi_principal [String, nil] sasl principal
|
|
110
|
-
setting :sasl_gssapi_principal, nil
|
|
110
|
+
setting :sasl_gssapi_principal, default: nil
|
|
111
111
|
# option sasl_gssapi_keytab [String, nil] sasl keytab
|
|
112
|
-
setting :sasl_gssapi_keytab, nil
|
|
112
|
+
setting :sasl_gssapi_keytab, default: nil
|
|
113
113
|
# option sasl_plain_authzid [String] The authorization identity to use
|
|
114
|
-
setting :sasl_plain_authzid, ''
|
|
114
|
+
setting :sasl_plain_authzid, default: ''
|
|
115
115
|
# option sasl_plain_username [String, nil] The username used to authenticate
|
|
116
|
-
setting :sasl_plain_username, nil
|
|
116
|
+
setting :sasl_plain_username, default: nil
|
|
117
117
|
# option sasl_plain_password [String, nil] The password used to authenticate
|
|
118
|
-
setting :sasl_plain_password, nil
|
|
118
|
+
setting :sasl_plain_password, default: nil
|
|
119
119
|
# option sasl_scram_username [String, nil] The username used to authenticate
|
|
120
|
-
setting :sasl_scram_username, nil
|
|
120
|
+
setting :sasl_scram_username, default: nil
|
|
121
121
|
# option sasl_scram_password [String, nil] The password used to authenticate
|
|
122
|
-
setting :sasl_scram_password, nil
|
|
122
|
+
setting :sasl_scram_password, default: nil
|
|
123
123
|
# option sasl_scram_mechanism [String, nil] Scram mechanism, either 'sha256' or 'sha512'
|
|
124
|
-
setting :sasl_scram_mechanism, nil
|
|
124
|
+
setting :sasl_scram_mechanism, default: nil
|
|
125
125
|
# option sasl_over_ssl [Boolean] whether to enforce SSL with SASL
|
|
126
|
-
setting :sasl_over_ssl, true
|
|
126
|
+
setting :sasl_over_ssl, default: true
|
|
127
127
|
# option ssl_client_cert_chain [String, nil] client cert chain or nil if not used
|
|
128
|
-
setting :ssl_client_cert_chain, nil
|
|
128
|
+
setting :ssl_client_cert_chain, default: nil
|
|
129
129
|
# option ssl_client_cert_key_password [String, nil] the password required to read
|
|
130
130
|
# the ssl_client_cert_key
|
|
131
|
-
setting :ssl_client_cert_key_password, nil
|
|
131
|
+
setting :ssl_client_cert_key_password, default: nil
|
|
132
132
|
# @param sasl_oauth_token_provider [Object, nil] OAuthBearer Token Provider instance that
|
|
133
133
|
# implements method token.
|
|
134
|
-
setting :sasl_oauth_token_provider, nil
|
|
134
|
+
setting :sasl_oauth_token_provider, default: nil
|
|
135
135
|
end
|
|
136
136
|
|
|
137
137
|
class << self
|
data/lib/water_drop/contracts.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module WaterDrop
|
|
4
|
-
# Namespace for all the things related with WaterDrop instrumentation process
|
|
5
4
|
module Instrumentation
|
|
6
5
|
# Monitor is used to hookup external monitoring services to monitor how WaterDrop works
|
|
7
6
|
# Since it is a pub-sub based on dry-monitor, you can use as many subscribers/loggers at the
|
|
@@ -16,7 +16,7 @@ module WaterDrop
|
|
|
16
16
|
validate!(options)
|
|
17
17
|
return unless WaterDrop.config.deliver
|
|
18
18
|
|
|
19
|
-
DeliveryBoy.deliver(message, options)
|
|
19
|
+
DeliveryBoy.deliver(message, **options)
|
|
20
20
|
rescue Kafka::Error => e
|
|
21
21
|
graceful_attempt?(attempts_count, message, options, e) ? retry : raise(e)
|
|
22
22
|
end
|
data/lib/water_drop/version.rb
CHANGED
data/waterdrop.gemspec
CHANGED
|
@@ -17,13 +17,13 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.license = 'MIT'
|
|
18
18
|
|
|
19
19
|
spec.add_dependency 'delivery_boy', '>= 0.2', '< 2.x'
|
|
20
|
-
spec.add_dependency 'dry-configurable', '~> 0.
|
|
21
|
-
spec.add_dependency 'dry-monitor', '~> 0.
|
|
22
|
-
spec.add_dependency 'dry-validation', '~> 1.
|
|
23
|
-
spec.add_dependency 'ruby-kafka', '>=
|
|
24
|
-
spec.add_dependency 'zeitwerk', '~> 2.
|
|
20
|
+
spec.add_dependency 'dry-configurable', '~> 0.13'
|
|
21
|
+
spec.add_dependency 'dry-monitor', '~> 0.5'
|
|
22
|
+
spec.add_dependency 'dry-validation', '~> 1.7'
|
|
23
|
+
spec.add_dependency 'ruby-kafka', '>= 1.3.0'
|
|
24
|
+
spec.add_dependency 'zeitwerk', '~> 2.4'
|
|
25
25
|
|
|
26
|
-
spec.required_ruby_version = '>= 2.
|
|
26
|
+
spec.required_ruby_version = '>= 2.6.0'
|
|
27
27
|
|
|
28
28
|
if $PROGRAM_NAME.end_with?('gem')
|
|
29
29
|
spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: waterdrop
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Maciej Mensfeld
|
|
@@ -11,30 +11,30 @@ cert_chain:
|
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
13
|
MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
|
|
15
|
+
NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
|
|
16
|
+
CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
|
|
17
|
+
ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
|
|
18
|
+
TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
|
|
19
|
+
1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
|
|
20
|
+
vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
|
|
21
|
+
qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
|
|
22
|
+
tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
|
|
23
|
+
g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
|
|
24
|
+
LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
|
|
25
|
+
BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
|
|
26
26
|
EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
|
|
28
|
+
W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
|
|
29
|
+
yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
|
|
30
|
+
8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
|
|
31
|
+
/rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
|
|
32
|
+
fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
|
|
33
|
+
2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
|
|
34
|
+
R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
|
|
35
|
+
pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
|
|
36
36
|
-----END CERTIFICATE-----
|
|
37
|
-
date:
|
|
37
|
+
date: 2021-10-30 00:00:00.000000000 Z
|
|
38
38
|
dependencies:
|
|
39
39
|
- !ruby/object:Gem::Dependency
|
|
40
40
|
name: delivery_boy
|
|
@@ -62,70 +62,70 @@ dependencies:
|
|
|
62
62
|
requirements:
|
|
63
63
|
- - "~>"
|
|
64
64
|
- !ruby/object:Gem::Version
|
|
65
|
-
version: '0.
|
|
65
|
+
version: '0.13'
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
68
|
version_requirements: !ruby/object:Gem::Requirement
|
|
69
69
|
requirements:
|
|
70
70
|
- - "~>"
|
|
71
71
|
- !ruby/object:Gem::Version
|
|
72
|
-
version: '0.
|
|
72
|
+
version: '0.13'
|
|
73
73
|
- !ruby/object:Gem::Dependency
|
|
74
74
|
name: dry-monitor
|
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
|
76
76
|
requirements:
|
|
77
77
|
- - "~>"
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '0.
|
|
79
|
+
version: '0.5'
|
|
80
80
|
type: :runtime
|
|
81
81
|
prerelease: false
|
|
82
82
|
version_requirements: !ruby/object:Gem::Requirement
|
|
83
83
|
requirements:
|
|
84
84
|
- - "~>"
|
|
85
85
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: '0.
|
|
86
|
+
version: '0.5'
|
|
87
87
|
- !ruby/object:Gem::Dependency
|
|
88
88
|
name: dry-validation
|
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
|
90
90
|
requirements:
|
|
91
91
|
- - "~>"
|
|
92
92
|
- !ruby/object:Gem::Version
|
|
93
|
-
version: '1.
|
|
93
|
+
version: '1.7'
|
|
94
94
|
type: :runtime
|
|
95
95
|
prerelease: false
|
|
96
96
|
version_requirements: !ruby/object:Gem::Requirement
|
|
97
97
|
requirements:
|
|
98
98
|
- - "~>"
|
|
99
99
|
- !ruby/object:Gem::Version
|
|
100
|
-
version: '1.
|
|
100
|
+
version: '1.7'
|
|
101
101
|
- !ruby/object:Gem::Dependency
|
|
102
102
|
name: ruby-kafka
|
|
103
103
|
requirement: !ruby/object:Gem::Requirement
|
|
104
104
|
requirements:
|
|
105
105
|
- - ">="
|
|
106
106
|
- !ruby/object:Gem::Version
|
|
107
|
-
version:
|
|
107
|
+
version: 1.3.0
|
|
108
108
|
type: :runtime
|
|
109
109
|
prerelease: false
|
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
|
111
111
|
requirements:
|
|
112
112
|
- - ">="
|
|
113
113
|
- !ruby/object:Gem::Version
|
|
114
|
-
version:
|
|
114
|
+
version: 1.3.0
|
|
115
115
|
- !ruby/object:Gem::Dependency
|
|
116
116
|
name: zeitwerk
|
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
|
118
118
|
requirements:
|
|
119
119
|
- - "~>"
|
|
120
120
|
- !ruby/object:Gem::Version
|
|
121
|
-
version: '2.
|
|
121
|
+
version: '2.4'
|
|
122
122
|
type: :runtime
|
|
123
123
|
prerelease: false
|
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
|
125
125
|
requirements:
|
|
126
126
|
- - "~>"
|
|
127
127
|
- !ruby/object:Gem::Version
|
|
128
|
-
version: '2.
|
|
128
|
+
version: '2.4'
|
|
129
129
|
description: Kafka messaging made easy!
|
|
130
130
|
email:
|
|
131
131
|
- maciej@mensfeld.pl
|
|
@@ -134,12 +134,12 @@ extensions: []
|
|
|
134
134
|
extra_rdoc_files: []
|
|
135
135
|
files:
|
|
136
136
|
- ".coditsu/ci.yml"
|
|
137
|
-
- ".
|
|
137
|
+
- ".diffend.yml"
|
|
138
|
+
- ".github/workflows/ci.yml"
|
|
138
139
|
- ".gitignore"
|
|
139
140
|
- ".rspec"
|
|
140
141
|
- ".ruby-gemset"
|
|
141
142
|
- ".ruby-version"
|
|
142
|
-
- ".travis.yml"
|
|
143
143
|
- CHANGELOG.md
|
|
144
144
|
- Gemfile
|
|
145
145
|
- Gemfile.lock
|
|
@@ -147,6 +147,7 @@ files:
|
|
|
147
147
|
- README.md
|
|
148
148
|
- certs/mensfeld.pem
|
|
149
149
|
- config/errors.yml
|
|
150
|
+
- docker-compose.yml
|
|
150
151
|
- lib/water_drop.rb
|
|
151
152
|
- lib/water_drop/async_producer.rb
|
|
152
153
|
- lib/water_drop/base_producer.rb
|
|
@@ -156,6 +157,7 @@ files:
|
|
|
156
157
|
- lib/water_drop/contracts/config.rb
|
|
157
158
|
- lib/water_drop/contracts/message_options.rb
|
|
158
159
|
- lib/water_drop/errors.rb
|
|
160
|
+
- lib/water_drop/instrumentation.rb
|
|
159
161
|
- lib/water_drop/instrumentation/monitor.rb
|
|
160
162
|
- lib/water_drop/instrumentation/stdout_listener.rb
|
|
161
163
|
- lib/water_drop/sync_producer.rb
|
|
@@ -175,14 +177,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
175
177
|
requirements:
|
|
176
178
|
- - ">="
|
|
177
179
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: 2.
|
|
180
|
+
version: 2.6.0
|
|
179
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
182
|
requirements:
|
|
181
183
|
- - ">="
|
|
182
184
|
- !ruby/object:Gem::Version
|
|
183
185
|
version: '0'
|
|
184
186
|
requirements: []
|
|
185
|
-
rubygems_version: 3.
|
|
187
|
+
rubygems_version: 3.2.25
|
|
186
188
|
signing_key:
|
|
187
189
|
specification_version: 4
|
|
188
190
|
summary: Kafka messaging made easy!
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/.github/FUNDING.yml
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
open_collective: karafka
|
data/.travis.yml
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
- docker
|
|
3
|
-
|
|
4
|
-
dist: trusty
|
|
5
|
-
cache: bundler
|
|
6
|
-
|
|
7
|
-
git:
|
|
8
|
-
depth: false
|
|
9
|
-
|
|
10
|
-
test: &test
|
|
11
|
-
stage: Test
|
|
12
|
-
language: ruby
|
|
13
|
-
before_install:
|
|
14
|
-
- yes | gem update --system
|
|
15
|
-
script: bundle exec rspec
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
include:
|
|
19
|
-
- <<: *test
|
|
20
|
-
rvm: 2.7.0
|
|
21
|
-
- <<: *test
|
|
22
|
-
rvm: 2.6.5
|
|
23
|
-
- <<: *test
|
|
24
|
-
rvm: 2.5.7
|
|
25
|
-
|
|
26
|
-
- stage: coditsu
|
|
27
|
-
language: ruby
|
|
28
|
-
rvm: 2.7.0
|
|
29
|
-
before_install:
|
|
30
|
-
- yes | gem update --system
|
|
31
|
-
script: \curl -sSL https://api.coditsu.io/run/ci | bash
|
|
32
|
-
|
|
33
|
-
stages:
|
|
34
|
-
- test
|
|
35
|
-
- coditsu
|