karafka 1.2.8 → 1.4.0

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 (113) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.coditsu/ci.yml +3 -0
  5. data/.console_irbrc +1 -3
  6. data/.diffend.yml +3 -0
  7. data/.github/FUNDING.yml +3 -0
  8. data/.github/ISSUE_TEMPLATE/bug_report.md +50 -0
  9. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  10. data/.github/workflows/ci.yml +52 -0
  11. data/.gitignore +1 -0
  12. data/.ruby-version +1 -1
  13. data/CHANGELOG.md +134 -14
  14. data/CODE_OF_CONDUCT.md +1 -1
  15. data/CONTRIBUTING.md +1 -1
  16. data/Gemfile +4 -5
  17. data/Gemfile.lock +92 -81
  18. data/README.md +9 -12
  19. data/bin/karafka +1 -1
  20. data/certs/mensfeld.pem +25 -0
  21. data/config/errors.yml +38 -5
  22. data/docker-compose.yml +17 -0
  23. data/karafka.gemspec +18 -17
  24. data/lib/karafka.rb +10 -16
  25. data/lib/karafka/app.rb +14 -6
  26. data/lib/karafka/attributes_map.rb +5 -10
  27. data/lib/karafka/base_consumer.rb +19 -30
  28. data/lib/karafka/base_responder.rb +45 -27
  29. data/lib/karafka/cli.rb +2 -2
  30. data/lib/karafka/cli/console.rb +11 -9
  31. data/lib/karafka/cli/flow.rb +9 -7
  32. data/lib/karafka/cli/info.rb +4 -2
  33. data/lib/karafka/cli/install.rb +30 -6
  34. data/lib/karafka/cli/server.rb +11 -6
  35. data/lib/karafka/code_reloader.rb +67 -0
  36. data/lib/karafka/connection/api_adapter.rb +22 -9
  37. data/lib/karafka/connection/batch_delegator.rb +55 -0
  38. data/lib/karafka/connection/builder.rb +5 -3
  39. data/lib/karafka/connection/client.rb +31 -31
  40. data/lib/karafka/connection/listener.rb +26 -15
  41. data/lib/karafka/connection/message_delegator.rb +36 -0
  42. data/lib/karafka/consumers/batch_metadata.rb +10 -0
  43. data/lib/karafka/consumers/callbacks.rb +32 -15
  44. data/lib/karafka/consumers/includer.rb +31 -18
  45. data/lib/karafka/consumers/responders.rb +2 -2
  46. data/lib/karafka/contracts.rb +10 -0
  47. data/lib/karafka/contracts/config.rb +21 -0
  48. data/lib/karafka/contracts/consumer_group.rb +206 -0
  49. data/lib/karafka/contracts/consumer_group_topic.rb +19 -0
  50. data/lib/karafka/contracts/responder_usage.rb +54 -0
  51. data/lib/karafka/contracts/server_cli_options.rb +31 -0
  52. data/lib/karafka/errors.rb +17 -16
  53. data/lib/karafka/fetcher.rb +28 -30
  54. data/lib/karafka/helpers/class_matcher.rb +12 -2
  55. data/lib/karafka/helpers/config_retriever.rb +1 -1
  56. data/lib/karafka/helpers/inflector.rb +26 -0
  57. data/lib/karafka/helpers/multi_delegator.rb +0 -1
  58. data/lib/karafka/instrumentation/logger.rb +9 -6
  59. data/lib/karafka/instrumentation/monitor.rb +15 -9
  60. data/lib/karafka/instrumentation/proctitle_listener.rb +36 -0
  61. data/lib/karafka/instrumentation/stdout_listener.rb +140 -0
  62. data/lib/karafka/params/batch_metadata.rb +26 -0
  63. data/lib/karafka/params/builders/batch_metadata.rb +30 -0
  64. data/lib/karafka/params/builders/params.rb +38 -0
  65. data/lib/karafka/params/builders/params_batch.rb +25 -0
  66. data/lib/karafka/params/metadata.rb +20 -0
  67. data/lib/karafka/params/params.rb +54 -0
  68. data/lib/karafka/params/params_batch.rb +35 -21
  69. data/lib/karafka/patches/ruby_kafka.rb +21 -8
  70. data/lib/karafka/persistence/client.rb +15 -11
  71. data/lib/karafka/persistence/{consumer.rb → consumers.rb} +20 -13
  72. data/lib/karafka/persistence/topics.rb +48 -0
  73. data/lib/karafka/process.rb +0 -2
  74. data/lib/karafka/responders/builder.rb +1 -1
  75. data/lib/karafka/responders/topic.rb +6 -8
  76. data/lib/karafka/routing/builder.rb +36 -8
  77. data/lib/karafka/routing/consumer_group.rb +1 -1
  78. data/lib/karafka/routing/consumer_mapper.rb +9 -9
  79. data/lib/karafka/routing/proxy.rb +10 -1
  80. data/lib/karafka/routing/topic.rb +5 -3
  81. data/lib/karafka/routing/topic_mapper.rb +16 -18
  82. data/lib/karafka/serialization/json/deserializer.rb +27 -0
  83. data/lib/karafka/serialization/json/serializer.rb +31 -0
  84. data/lib/karafka/server.rb +29 -28
  85. data/lib/karafka/setup/config.rb +67 -37
  86. data/lib/karafka/setup/configurators/water_drop.rb +7 -3
  87. data/lib/karafka/setup/dsl.rb +0 -1
  88. data/lib/karafka/status.rb +7 -3
  89. data/lib/karafka/templates/{application_consumer.rb.example → application_consumer.rb.erb} +2 -1
  90. data/lib/karafka/templates/{application_responder.rb.example → application_responder.rb.erb} +0 -0
  91. data/lib/karafka/templates/karafka.rb.erb +92 -0
  92. data/lib/karafka/version.rb +1 -1
  93. metadata +94 -72
  94. metadata.gz.sig +0 -0
  95. data/.travis.yml +0 -21
  96. data/lib/karafka/callbacks.rb +0 -30
  97. data/lib/karafka/callbacks/config.rb +0 -22
  98. data/lib/karafka/callbacks/dsl.rb +0 -16
  99. data/lib/karafka/connection/delegator.rb +0 -46
  100. data/lib/karafka/instrumentation/listener.rb +0 -112
  101. data/lib/karafka/loader.rb +0 -28
  102. data/lib/karafka/params/dsl.rb +0 -156
  103. data/lib/karafka/parsers/json.rb +0 -38
  104. data/lib/karafka/patches/dry_configurable.rb +0 -35
  105. data/lib/karafka/persistence/topic.rb +0 -29
  106. data/lib/karafka/schemas/config.rb +0 -24
  107. data/lib/karafka/schemas/consumer_group.rb +0 -78
  108. data/lib/karafka/schemas/consumer_group_topic.rb +0 -18
  109. data/lib/karafka/schemas/responder_usage.rb +0 -39
  110. data/lib/karafka/schemas/server_cli_options.rb +0 -43
  111. data/lib/karafka/setup/configurators/base.rb +0 -29
  112. data/lib/karafka/setup/configurators/params.rb +0 -25
  113. data/lib/karafka/templates/karafka.rb.example +0 -54
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '1.2.8'
6
+ VERSION = '1.4.0'
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -9,107 +9,119 @@ authors:
9
9
  - Adam Gwozdowski
10
10
  autorequire:
11
11
  bindir: bin
12
- cert_chain: []
13
- date: 2018-10-01 00:00:00.000000000 Z
12
+ cert_chain:
13
+ - |
14
+ -----BEGIN CERTIFICATE-----
15
+ MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
16
+ ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjAwODExMDkxNTM3WhcNMjEwODExMDkx
17
+ NTM3WjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
18
+ CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDCpXsCgmINb6lHBXXBdyrgsBPSxC4/
19
+ 2H+weJ6L9CruTiv2+2/ZkQGtnLcDgrD14rdLIHK7t0o3EKYlDT5GhD/XUVhI15JE
20
+ N7IqnPUgexe1fbZArwQ51afxz2AmPQN2BkB2oeQHXxnSWUGMhvcEZpfbxCCJH26w
21
+ hS0Ccsma8yxA6hSlGVhFVDuCr7c2L1di6cK2CtIDpfDaWqnVNJEwBYHIxrCoWK5g
22
+ sIGekVt/admS9gRhIMaIBg+Mshth5/DEyWO2QjteTodItlxfTctrfmiAl8X8T5JP
23
+ VXeLp5SSOJ5JXE80nShMJp3RFnGw5fqjX/ffjtISYh78/By4xF3a25HdWH9+qO2Z
24
+ tx0wSGc9/4gqNM0APQnjN/4YXrGZ4IeSjtE+OrrX07l0TiyikzSLFOkZCAp8oBJi
25
+ Fhlosz8xQDJf7mhNxOaZziqASzp/hJTU/tuDKl5+ql2icnMv5iV/i6SlmvU29QNg
26
+ LCV71pUv0pWzN+OZbHZKWepGhEQ3cG9MwvkCAwEAAaN3MHUwCQYDVR0TBAIwADAL
27
+ BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFImGed2AXS070ohfRidiCEhXEUN+MB0GA1Ud
28
+ EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
29
+ c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBAKiHpwoENVrMi94V1zD4o8/6G3AU
30
+ gWz4udkPYHTZLUy3dLznc/sNjdkJFWT3E6NKYq7c60EpJ0m0vAEg5+F5pmNOsvD3
31
+ 2pXLj9kisEeYhR516HwXAvtngboUcb75skqvBCU++4Pu7BRAPjO1/ihLSBexbwSS
32
+ fF+J5OWNuyHHCQp+kGPLtXJe2yUYyvSWDj3I2//Vk0VhNOIlaCS1+5/P3ZJThOtm
33
+ zJUBI7h3HgovwRpcnmk2mXTmU4Zx/bCzX8EA6VY0khEvnmiq7S6eBF0H9qH8KyQ6
34
+ EkVLpvmUDFcf/uNaBQdazEMB5jYtwoA8gQlANETNGPi51KlkukhKgaIEDMkBDJOx
35
+ 65N7DzmkcyY0/GwjIVIxmRhcrCt1YeCUElmfFx0iida1/YRm6sB2AXqScc1+ECRi
36
+ 2DND//YJUikn1zwbz1kT70XmHd97B4Eytpln7K+M1u2g1pHVEPW4owD/ammXNpUy
37
+ nt70FcDD4yxJQ+0YNiHd0N8IcVBM1TMIVctMNQ==
38
+ -----END CERTIFICATE-----
39
+ date: 2020-09-05 00:00:00.000000000 Z
14
40
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: activesupport
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: '4.0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- version: '4.0'
29
41
  - !ruby/object:Gem::Dependency
30
42
  name: dry-configurable
31
43
  requirement: !ruby/object:Gem::Requirement
32
44
  requirements:
33
45
  - - "~>"
34
46
  - !ruby/object:Gem::Version
35
- version: '0.7'
47
+ version: '0.8'
36
48
  type: :runtime
37
49
  prerelease: false
38
50
  version_requirements: !ruby/object:Gem::Requirement
39
51
  requirements:
40
52
  - - "~>"
41
53
  - !ruby/object:Gem::Version
42
- version: '0.7'
54
+ version: '0.8'
43
55
  - !ruby/object:Gem::Dependency
44
56
  name: dry-inflector
45
57
  requirement: !ruby/object:Gem::Requirement
46
58
  requirements:
47
59
  - - "~>"
48
60
  - !ruby/object:Gem::Version
49
- version: 0.1.1
61
+ version: '0.1'
50
62
  type: :runtime
51
63
  prerelease: false
52
64
  version_requirements: !ruby/object:Gem::Requirement
53
65
  requirements:
54
66
  - - "~>"
55
67
  - !ruby/object:Gem::Version
56
- version: 0.1.1
68
+ version: '0.1'
57
69
  - !ruby/object:Gem::Dependency
58
70
  name: dry-monitor
59
71
  requirement: !ruby/object:Gem::Requirement
60
72
  requirements:
61
73
  - - "~>"
62
74
  - !ruby/object:Gem::Version
63
- version: '0.1'
75
+ version: '0.3'
64
76
  type: :runtime
65
77
  prerelease: false
66
78
  version_requirements: !ruby/object:Gem::Requirement
67
79
  requirements:
68
80
  - - "~>"
69
81
  - !ruby/object:Gem::Version
70
- version: '0.1'
82
+ version: '0.3'
71
83
  - !ruby/object:Gem::Dependency
72
84
  name: dry-validation
73
85
  requirement: !ruby/object:Gem::Requirement
74
86
  requirements:
75
87
  - - "~>"
76
88
  - !ruby/object:Gem::Version
77
- version: '0.11'
89
+ version: '1.2'
78
90
  type: :runtime
79
91
  prerelease: false
80
92
  version_requirements: !ruby/object:Gem::Requirement
81
93
  requirements:
82
94
  - - "~>"
83
95
  - !ruby/object:Gem::Version
84
- version: '0.11'
96
+ version: '1.2'
85
97
  - !ruby/object:Gem::Dependency
86
98
  name: envlogic
87
99
  requirement: !ruby/object:Gem::Requirement
88
100
  requirements:
89
101
  - - "~>"
90
102
  - !ruby/object:Gem::Version
91
- version: '1.0'
103
+ version: '1.1'
92
104
  type: :runtime
93
105
  prerelease: false
94
106
  version_requirements: !ruby/object:Gem::Requirement
95
107
  requirements:
96
108
  - - "~>"
97
109
  - !ruby/object:Gem::Version
98
- version: '1.0'
110
+ version: '1.1'
99
111
  - !ruby/object:Gem::Dependency
100
- name: multi_json
112
+ name: irb
101
113
  requirement: !ruby/object:Gem::Requirement
102
114
  requirements:
103
- - - ">="
115
+ - - "~>"
104
116
  - !ruby/object:Gem::Version
105
- version: '1.12'
117
+ version: '1.0'
106
118
  type: :runtime
107
119
  prerelease: false
108
120
  version_requirements: !ruby/object:Gem::Requirement
109
121
  requirements:
110
- - - ">="
122
+ - - "~>"
111
123
  - !ruby/object:Gem::Version
112
- version: '1.12'
124
+ version: '1.0'
113
125
  - !ruby/object:Gem::Dependency
114
126
  name: rake
115
127
  requirement: !ruby/object:Gem::Requirement
@@ -125,64 +137,64 @@ dependencies:
125
137
  - !ruby/object:Gem::Version
126
138
  version: '11.3'
127
139
  - !ruby/object:Gem::Dependency
128
- name: require_all
140
+ name: ruby-kafka
129
141
  requirement: !ruby/object:Gem::Requirement
130
142
  requirements:
131
143
  - - ">="
132
144
  - !ruby/object:Gem::Version
133
- version: '1.4'
145
+ version: 1.0.0
134
146
  type: :runtime
135
147
  prerelease: false
136
148
  version_requirements: !ruby/object:Gem::Requirement
137
149
  requirements:
138
150
  - - ">="
139
151
  - !ruby/object:Gem::Version
140
- version: '1.4'
152
+ version: 1.0.0
141
153
  - !ruby/object:Gem::Dependency
142
- name: ruby-kafka
154
+ name: thor
143
155
  requirement: !ruby/object:Gem::Requirement
144
156
  requirements:
145
157
  - - ">="
146
158
  - !ruby/object:Gem::Version
147
- version: '0.6'
159
+ version: '0.20'
148
160
  type: :runtime
149
161
  prerelease: false
150
162
  version_requirements: !ruby/object:Gem::Requirement
151
163
  requirements:
152
164
  - - ">="
153
165
  - !ruby/object:Gem::Version
154
- version: '0.6'
166
+ version: '0.20'
155
167
  - !ruby/object:Gem::Dependency
156
- name: thor
168
+ name: waterdrop
157
169
  requirement: !ruby/object:Gem::Requirement
158
170
  requirements:
159
171
  - - "~>"
160
172
  - !ruby/object:Gem::Version
161
- version: '0.19'
173
+ version: 1.4.0
162
174
  type: :runtime
163
175
  prerelease: false
164
176
  version_requirements: !ruby/object:Gem::Requirement
165
177
  requirements:
166
178
  - - "~>"
167
179
  - !ruby/object:Gem::Version
168
- version: '0.19'
180
+ version: 1.4.0
169
181
  - !ruby/object:Gem::Dependency
170
- name: waterdrop
182
+ name: zeitwerk
171
183
  requirement: !ruby/object:Gem::Requirement
172
184
  requirements:
173
185
  - - "~>"
174
186
  - !ruby/object:Gem::Version
175
- version: 1.2.4
187
+ version: '2.1'
176
188
  type: :runtime
177
189
  prerelease: false
178
190
  version_requirements: !ruby/object:Gem::Requirement
179
191
  requirements:
180
192
  - - "~>"
181
193
  - !ruby/object:Gem::Version
182
- version: 1.2.4
194
+ version: '2.1'
183
195
  description: Framework used to simplify Apache Kafka based Ruby applications development
184
196
  email:
185
- - maciej@coditsu.io
197
+ - maciej@mensfeld.pl
186
198
  - pavlo.vavruk@gmail.com
187
199
  - adam99g@gmail.com
188
200
  executables:
@@ -190,12 +202,17 @@ executables:
190
202
  extensions: []
191
203
  extra_rdoc_files: []
192
204
  files:
205
+ - ".coditsu/ci.yml"
193
206
  - ".console_irbrc"
207
+ - ".diffend.yml"
208
+ - ".github/FUNDING.yml"
209
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
210
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
211
+ - ".github/workflows/ci.yml"
194
212
  - ".gitignore"
195
213
  - ".rspec"
196
214
  - ".ruby-gemset"
197
215
  - ".ruby-version"
198
- - ".travis.yml"
199
216
  - CHANGELOG.md
200
217
  - CODE_OF_CONDUCT.md
201
218
  - CONTRIBUTING.md
@@ -204,7 +221,9 @@ files:
204
221
  - MIT-LICENCE
205
222
  - README.md
206
223
  - bin/karafka
224
+ - certs/mensfeld.pem
207
225
  - config/errors.yml
226
+ - docker-compose.yml
208
227
  - karafka.gemspec
209
228
  - lib/karafka.rb
210
229
  - lib/karafka/app.rb
@@ -212,9 +231,6 @@ files:
212
231
  - lib/karafka/backends/inline.rb
213
232
  - lib/karafka/base_consumer.rb
214
233
  - lib/karafka/base_responder.rb
215
- - lib/karafka/callbacks.rb
216
- - lib/karafka/callbacks/config.rb
217
- - lib/karafka/callbacks/dsl.rb
218
234
  - lib/karafka/cli.rb
219
235
  - lib/karafka/cli/base.rb
220
236
  - lib/karafka/cli/console.rb
@@ -222,32 +238,45 @@ files:
222
238
  - lib/karafka/cli/info.rb
223
239
  - lib/karafka/cli/install.rb
224
240
  - lib/karafka/cli/server.rb
241
+ - lib/karafka/code_reloader.rb
225
242
  - lib/karafka/connection/api_adapter.rb
243
+ - lib/karafka/connection/batch_delegator.rb
226
244
  - lib/karafka/connection/builder.rb
227
245
  - lib/karafka/connection/client.rb
228
- - lib/karafka/connection/delegator.rb
229
246
  - lib/karafka/connection/listener.rb
247
+ - lib/karafka/connection/message_delegator.rb
248
+ - lib/karafka/consumers/batch_metadata.rb
230
249
  - lib/karafka/consumers/callbacks.rb
231
250
  - lib/karafka/consumers/includer.rb
232
251
  - lib/karafka/consumers/responders.rb
233
252
  - lib/karafka/consumers/single_params.rb
253
+ - lib/karafka/contracts.rb
254
+ - lib/karafka/contracts/config.rb
255
+ - lib/karafka/contracts/consumer_group.rb
256
+ - lib/karafka/contracts/consumer_group_topic.rb
257
+ - lib/karafka/contracts/responder_usage.rb
258
+ - lib/karafka/contracts/server_cli_options.rb
234
259
  - lib/karafka/errors.rb
235
260
  - lib/karafka/fetcher.rb
236
261
  - lib/karafka/helpers/class_matcher.rb
237
262
  - lib/karafka/helpers/config_retriever.rb
263
+ - lib/karafka/helpers/inflector.rb
238
264
  - lib/karafka/helpers/multi_delegator.rb
239
- - lib/karafka/instrumentation/listener.rb
240
265
  - lib/karafka/instrumentation/logger.rb
241
266
  - lib/karafka/instrumentation/monitor.rb
242
- - lib/karafka/loader.rb
243
- - lib/karafka/params/dsl.rb
267
+ - lib/karafka/instrumentation/proctitle_listener.rb
268
+ - lib/karafka/instrumentation/stdout_listener.rb
269
+ - lib/karafka/params/batch_metadata.rb
270
+ - lib/karafka/params/builders/batch_metadata.rb
271
+ - lib/karafka/params/builders/params.rb
272
+ - lib/karafka/params/builders/params_batch.rb
273
+ - lib/karafka/params/metadata.rb
274
+ - lib/karafka/params/params.rb
244
275
  - lib/karafka/params/params_batch.rb
245
- - lib/karafka/parsers/json.rb
246
- - lib/karafka/patches/dry_configurable.rb
247
276
  - lib/karafka/patches/ruby_kafka.rb
248
277
  - lib/karafka/persistence/client.rb
249
- - lib/karafka/persistence/consumer.rb
250
- - lib/karafka/persistence/topic.rb
278
+ - lib/karafka/persistence/consumers.rb
279
+ - lib/karafka/persistence/topics.rb
251
280
  - lib/karafka/process.rb
252
281
  - lib/karafka/responders/builder.rb
253
282
  - lib/karafka/responders/topic.rb
@@ -258,29 +287,23 @@ files:
258
287
  - lib/karafka/routing/router.rb
259
288
  - lib/karafka/routing/topic.rb
260
289
  - lib/karafka/routing/topic_mapper.rb
261
- - lib/karafka/schemas/config.rb
262
- - lib/karafka/schemas/consumer_group.rb
263
- - lib/karafka/schemas/consumer_group_topic.rb
264
- - lib/karafka/schemas/responder_usage.rb
265
- - lib/karafka/schemas/server_cli_options.rb
290
+ - lib/karafka/serialization/json/deserializer.rb
291
+ - lib/karafka/serialization/json/serializer.rb
266
292
  - lib/karafka/server.rb
267
293
  - lib/karafka/setup/config.rb
268
- - lib/karafka/setup/configurators/base.rb
269
- - lib/karafka/setup/configurators/params.rb
270
294
  - lib/karafka/setup/configurators/water_drop.rb
271
295
  - lib/karafka/setup/dsl.rb
272
296
  - lib/karafka/status.rb
273
- - lib/karafka/templates/application_consumer.rb.example
274
- - lib/karafka/templates/application_responder.rb.example
275
- - lib/karafka/templates/karafka.rb.example
297
+ - lib/karafka/templates/application_consumer.rb.erb
298
+ - lib/karafka/templates/application_responder.rb.erb
299
+ - lib/karafka/templates/karafka.rb.erb
276
300
  - lib/karafka/version.rb
277
301
  - log/.gitkeep
278
302
  homepage: https://github.com/karafka/karafka
279
303
  licenses:
280
304
  - MIT
281
305
  metadata: {}
282
- post_install_message: "\e[93mWarning:\e[0m If you're using Kafka 0.10, please lock
283
- ruby-kafka in your Gemfile to version '0.6.8':\ngem 'ruby-kafka', '~> 0.6.8'\n"
306
+ post_install_message:
284
307
  rdoc_options: []
285
308
  require_paths:
286
309
  - lib
@@ -288,15 +311,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
288
311
  requirements:
289
312
  - - ">="
290
313
  - !ruby/object:Gem::Version
291
- version: 2.3.0
314
+ version: 2.5.0
292
315
  required_rubygems_version: !ruby/object:Gem::Requirement
293
316
  requirements:
294
317
  - - ">="
295
318
  - !ruby/object:Gem::Version
296
319
  version: '0'
297
320
  requirements: []
298
- rubyforge_project:
299
- rubygems_version: 2.7.4
321
+ rubygems_version: 3.1.4
300
322
  signing_key:
301
323
  specification_version: 4
302
324
  summary: Ruby based framework for working with Apache Kafka
Binary file
@@ -1,21 +0,0 @@
1
- dist: trusty
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
-
6
- rvm:
7
- - 2.3.7
8
- - 2.4.4
9
- - 2.5.1
10
- - ruby-head
11
- - jruby-9.2.0.0
12
-
13
- env:
14
- global:
15
- - JRUBY_OPTS='--debug'
16
-
17
- before_install:
18
- - gem install bundler
19
- - gem update --system
20
-
21
- script: bundle exec rspec
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Karafka
4
- # Additional callbacks that are used to trigger some things in given places during the
5
- # system lifecycle
6
- # @note Those callbacks aren't the same as consumer callbacks as they are not related to the
7
- # lifecycle of particular messages fetches but rather to the internal flow process.
8
- # They cannot be defined on a consumer callback level because for some of those,
9
- # there aren't consumers in the memory yet and/or they aren't per consumer thread
10
- module Callbacks
11
- # Types of system callbacks that we have that are not related to consumers
12
- TYPES = %i[
13
- after_init
14
- before_fetch_loop
15
- ].freeze
16
-
17
- class << self
18
- TYPES.each do |callback_type|
19
- # Executes given callbacks set at a given moment with provided arguments
20
- define_method callback_type do |*args|
21
- Karafka::App
22
- .config
23
- .callbacks
24
- .send(callback_type)
25
- .each { |callback| callback.call(*args) }
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Karafka
4
- module Callbacks
5
- # Additional configuration required to store procs that we will execute upon callback trigger
6
- module Config
7
- # Builds up internal callback accumulators
8
- # @param klass [Class] Class that we extend with callback config
9
- def self.extended(klass)
10
- # option internal [Hash] - optional - internal karafka configuration settings that should
11
- # never be changed by users directly
12
- klass.setting :callbacks do
13
- Callbacks::TYPES.each do |callback_type|
14
- # option [Array<Proc>] an array of blocks that will be executed at a given moment
15
- # depending on the callback type
16
- setting callback_type, []
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end