karafka 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +3 -1
  4. data/CHANGELOG.md +90 -3
  5. data/CONTRIBUTING.md +5 -6
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +59 -64
  8. data/README.md +28 -57
  9. data/bin/karafka +13 -1
  10. data/config/errors.yml +6 -0
  11. data/karafka.gemspec +10 -9
  12. data/lib/karafka.rb +19 -10
  13. data/lib/karafka/app.rb +8 -15
  14. data/lib/karafka/attributes_map.rb +4 -4
  15. data/lib/karafka/backends/inline.rb +2 -3
  16. data/lib/karafka/base_consumer.rb +68 -0
  17. data/lib/karafka/base_responder.rb +41 -17
  18. data/lib/karafka/callbacks.rb +30 -0
  19. data/lib/karafka/callbacks/config.rb +22 -0
  20. data/lib/karafka/callbacks/dsl.rb +16 -0
  21. data/lib/karafka/cli/base.rb +2 -0
  22. data/lib/karafka/cli/flow.rb +1 -1
  23. data/lib/karafka/cli/info.rb +1 -2
  24. data/lib/karafka/cli/install.rb +2 -3
  25. data/lib/karafka/cli/server.rb +9 -12
  26. data/lib/karafka/connection/client.rb +117 -0
  27. data/lib/karafka/connection/config_adapter.rb +30 -14
  28. data/lib/karafka/connection/delegator.rb +46 -0
  29. data/lib/karafka/connection/listener.rb +22 -20
  30. data/lib/karafka/consumers/callbacks.rb +54 -0
  31. data/lib/karafka/consumers/includer.rb +51 -0
  32. data/lib/karafka/consumers/responders.rb +24 -0
  33. data/lib/karafka/{controllers → consumers}/single_params.rb +3 -3
  34. data/lib/karafka/errors.rb +19 -2
  35. data/lib/karafka/fetcher.rb +30 -28
  36. data/lib/karafka/helpers/class_matcher.rb +8 -8
  37. data/lib/karafka/helpers/config_retriever.rb +2 -2
  38. data/lib/karafka/instrumentation/listener.rb +112 -0
  39. data/lib/karafka/instrumentation/logger.rb +55 -0
  40. data/lib/karafka/instrumentation/monitor.rb +64 -0
  41. data/lib/karafka/loader.rb +0 -1
  42. data/lib/karafka/params/dsl.rb +156 -0
  43. data/lib/karafka/params/params_batch.rb +7 -2
  44. data/lib/karafka/patches/dry_configurable.rb +7 -7
  45. data/lib/karafka/patches/ruby_kafka.rb +34 -0
  46. data/lib/karafka/persistence/client.rb +25 -0
  47. data/lib/karafka/persistence/consumer.rb +38 -0
  48. data/lib/karafka/persistence/topic.rb +29 -0
  49. data/lib/karafka/process.rb +6 -5
  50. data/lib/karafka/responders/builder.rb +15 -14
  51. data/lib/karafka/responders/topic.rb +8 -1
  52. data/lib/karafka/routing/builder.rb +2 -2
  53. data/lib/karafka/routing/consumer_group.rb +1 -1
  54. data/lib/karafka/routing/consumer_mapper.rb +34 -0
  55. data/lib/karafka/routing/router.rb +1 -1
  56. data/lib/karafka/routing/topic.rb +5 -11
  57. data/lib/karafka/routing/{mapper.rb → topic_mapper.rb} +2 -2
  58. data/lib/karafka/schemas/config.rb +4 -5
  59. data/lib/karafka/schemas/consumer_group.rb +45 -24
  60. data/lib/karafka/schemas/consumer_group_topic.rb +18 -0
  61. data/lib/karafka/schemas/responder_usage.rb +1 -0
  62. data/lib/karafka/server.rb +39 -20
  63. data/lib/karafka/setup/config.rb +74 -51
  64. data/lib/karafka/setup/configurators/base.rb +6 -12
  65. data/lib/karafka/setup/configurators/params.rb +25 -0
  66. data/lib/karafka/setup/configurators/water_drop.rb +15 -14
  67. data/lib/karafka/setup/dsl.rb +22 -0
  68. data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.example} +2 -3
  69. data/lib/karafka/templates/karafka.rb.example +18 -5
  70. data/lib/karafka/version.rb +1 -1
  71. metadata +87 -63
  72. data/.github/ISSUE_TEMPLATE.md +0 -2
  73. data/Rakefile +0 -7
  74. data/lib/karafka/base_controller.rb +0 -118
  75. data/lib/karafka/connection/messages_consumer.rb +0 -106
  76. data/lib/karafka/connection/messages_processor.rb +0 -59
  77. data/lib/karafka/controllers/includer.rb +0 -51
  78. data/lib/karafka/controllers/responders.rb +0 -19
  79. data/lib/karafka/logger.rb +0 -53
  80. data/lib/karafka/monitor.rb +0 -98
  81. data/lib/karafka/params/params.rb +0 -101
  82. data/lib/karafka/persistence.rb +0 -18
  83. data/lib/karafka/setup/configurators/celluloid.rb +0 -22
@@ -3,10 +3,13 @@
3
3
  module Karafka
4
4
  module Setup
5
5
  # Configurators module is used to enclose all the external dependencies configurations
6
+ # upon which Karafka depents
6
7
  class Configurators
7
- # Karafka has come components that it relies on (like Celluloid or Sidekiq)
8
+ # Karafka has some components that it relies on (like Sidekiq)
8
9
  # We need to configure all of them only when the framework was set up.
9
10
  # Any class that descends from this one will be automatically invoked upon setup (after it)
11
+ # @note This should be used only for internal Karafka dependencies configuration
12
+ # End users configuration should go to the after_init block
10
13
  # @example Configure an Example class
11
14
  # class ExampleConfigurator < Base
12
15
  # def setup
@@ -15,18 +18,9 @@ module Karafka
15
18
  # end
16
19
  # end
17
20
  class Base
18
- extend ActiveSupport::DescendantsTracker
19
-
20
- attr_reader :config
21
-
22
- # @param config [Karafka::Config] config instance
23
- # @return [Karafka::Config::Base] configurator for a given component
24
- def initialize(config)
25
- @config = config
26
- end
27
-
21
+ # @param _config [Karafka::Config] config instance
28
22
  # This method needs to be implemented in a subclass
29
- def setup
23
+ def self.setup(_config)
30
24
  raise NotImplementedError
31
25
  end
32
26
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Karafka
4
+ module Setup
5
+ class Configurators
6
+ # Karafka::Params::Params are dynamically built based on user defined parent class
7
+ # so we cannot just require it, we need to initialize it after user is done with
8
+ # the framework configuration. This is a configurator that does exactly that.
9
+ class Params < Base
10
+ # Builds up Karafka::Params::Params class with user defined parent class
11
+ # @param config [Karafka::Setup::Config] Config we can user to setup things
12
+ def self.setup(config)
13
+ return if defined? Karafka::Params::Params
14
+
15
+ Karafka::Params.const_set(
16
+ 'Params',
17
+ Class
18
+ .new(config.params_base_class)
19
+ .tap { |klass| klass.include(Karafka::Params::Dsl) }
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -6,22 +6,23 @@ module Karafka
6
6
  # Class responsible for setting up WaterDrop configuration
7
7
  class WaterDrop < Base
8
8
  # Sets up a WaterDrop settings
9
- def setup
10
- dynamic_params = Connection::ConfigAdapter.client(nil)
11
-
9
+ # @param config [Karafka::Setup::Config] Config we can user to setup things
10
+ # @note This will also inject Karafka monitor as a default monitor into WaterDrop,
11
+ # so we have the same monitor within whole Karafka framework (same with logger)
12
+ def self.setup(config)
12
13
  ::WaterDrop.setup do |water_config|
13
- water_config.send_messages = true
14
- water_config.raise_on_failure = true
15
- water_config.connection_pool = config.connection_pool
14
+ water_config.deliver = true
15
+
16
+ config.to_h.except(:kafka).each do |k, v|
17
+ key_assignment = :"#{k}="
18
+ next unless water_config.respond_to?(key_assignment)
19
+ water_config.public_send(key_assignment, v)
20
+ end
16
21
 
17
- # Automigration of all the attributes that should be accepted by waterdrop
18
- # based on what we use in karafka ruby-kafka initialization
19
- dynamic_params.each do |key, value|
20
- key_assignment = :"#{key}="
21
- # We decide whether we should set it on a kafka scope of waterdrop config or on the
22
- # main scope
23
- scope = water_config.kafka.respond_to?(key_assignment) ? :kafka : :itself
24
- water_config.public_send(scope).public_send(key_assignment, value)
22
+ config.kafka.to_h.each do |k, v|
23
+ key_assignment = :"#{k}="
24
+ next unless water_config.kafka.respond_to?(key_assignment)
25
+ water_config.kafka.public_send(key_assignment, v)
25
26
  end
26
27
  end
27
28
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Karafka
4
+ module Setup
5
+ # Dsl for allowing to work with the configuration from the Karafka::App
6
+ # @note Despite providing methods, everything is still persisted and fetched
7
+ # from the Karafka::Setup::Config
8
+ module Dsl
9
+ # Sets up the whole configuration
10
+ # @param [Block] block configuration block
11
+ def setup(&block)
12
+ Setup::Config.setup(&block)
13
+ initialize!
14
+ end
15
+
16
+ # @return [Karafka::Config] config instance
17
+ def config
18
+ Setup::Config.config
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Application controller from which all Karafka controllers should inherit
3
+ # Application consumer from which all Karafka consumers should inherit
4
4
  # You can rename it if it would conflict with your current code base (in case you're integrating
5
5
  # Karafka with other frameworks)
6
- class ApplicationController < Karafka::BaseController
7
- end
6
+ ApplicationConsumer = Class.new(Karafka::BaseConsumer)
@@ -15,24 +15,37 @@ Karafka::Loader.load(Karafka::App.root)
15
15
 
16
16
  class KarafkaApp < Karafka::App
17
17
  setup do |config|
18
- config.kafka.seed_brokers = %w( 127.0.0.1:9092 )
18
+ config.kafka.seed_brokers = %w[kafka://127.0.0.1:9092]
19
19
  config.client_id = 'example_app'
20
20
  config.backend = :inline
21
- config.batch_consuming = true
21
+ config.batch_fetching = true
22
+ # Uncomment this for Rails app integration
23
+ # config.logger = Rails.logger
22
24
  end
23
25
 
26
+ after_init do |config|
27
+ # Put here all the things you want to do after the Karafka framework
28
+ # initialization
29
+ end
30
+
31
+ # Comment out this part if you are not using instrumentation and/or you are not
32
+ # interested in logging events for certain environments. Since instrumentation
33
+ # notifications add extra boilerplate, if you want to achieve max performance,
34
+ # listen to only what you really need for given environment.
35
+ Karafka.monitor.subscribe(Karafka::Instrumentation::Listener)
36
+
24
37
  consumer_groups.draw do
25
38
  # topic :example do
26
- # controller ExampleController
39
+ # consumer ExampleConsumer
27
40
  # end
28
41
 
29
42
  # consumer_group :bigger_group do
30
43
  # topic :test do
31
- # controller TestController
44
+ # consumer TestConsumer
32
45
  # end
33
46
  #
34
47
  # topic :test2 do
35
- # controller Test2Controller
48
+ # consumer Test2Consumer
36
49
  # end
37
50
  # end
38
51
  end
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '1.0.0'
6
+ VERSION = '1.2.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.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -10,162 +10,176 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-09-06 00:00:00.000000000 Z
13
+ date: 2018-03-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: ruby-kafka
16
+ name: activesupport
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '0.4'
21
+ version: '4.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '0.4'
28
+ version: '4.0'
29
29
  - !ruby/object:Gem::Dependency
30
- name: celluloid
30
+ name: dry-configurable
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ">="
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '0'
35
+ version: '0.7'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: '0.7'
43
43
  - !ruby/object:Gem::Dependency
44
- name: envlogic
44
+ name: dry-inflector
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '1.0'
49
+ version: 0.1.1
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '1.0'
56
+ version: 0.1.1
57
57
  - !ruby/object:Gem::Dependency
58
- name: waterdrop
58
+ name: dry-monitor
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ">="
61
+ - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '0.4'
63
+ version: '0.1'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ">="
68
+ - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '0.4'
70
+ version: '0.1'
71
71
  - !ruby/object:Gem::Dependency
72
- name: rake
72
+ name: dry-validation
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
75
+ - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '11.3'
77
+ version: '0.11'
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ">="
82
+ - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '11.3'
84
+ version: '0.11'
85
85
  - !ruby/object:Gem::Dependency
86
- name: thor
86
+ name: envlogic
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0.19'
91
+ version: '1.0'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '0.19'
98
+ version: '1.0'
99
99
  - !ruby/object:Gem::Dependency
100
- name: activesupport
100
+ name: multi_json
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - ">="
104
104
  - !ruby/object:Gem::Version
105
- version: '5.0'
105
+ version: '1.12'
106
106
  type: :runtime
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: '5.0'
112
+ version: '1.12'
113
113
  - !ruby/object:Gem::Dependency
114
- name: dry-validation
114
+ name: rake
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - "~>"
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: '0.11'
119
+ version: '11.3'
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - "~>"
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
- version: '0.11'
126
+ version: '11.3'
127
127
  - !ruby/object:Gem::Dependency
128
- name: dry-configurable
128
+ name: require_all
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - "~>"
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: '0.7'
133
+ version: '1.4'
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - "~>"
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
- version: '0.7'
140
+ version: '1.4'
141
141
  - !ruby/object:Gem::Dependency
142
- name: multi_json
142
+ name: ruby-kafka
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - ">="
146
146
  - !ruby/object:Gem::Version
147
- version: '1.12'
147
+ version: 0.5.3
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - ">="
153
153
  - !ruby/object:Gem::Version
154
- version: '1.12'
154
+ version: 0.5.3
155
155
  - !ruby/object:Gem::Dependency
156
- name: require_all
156
+ name: thor
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - ">="
159
+ - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: '1.4'
161
+ version: '0.19'
162
162
  type: :runtime
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
- - - ">="
166
+ - - "~>"
167
167
  - !ruby/object:Gem::Version
168
- version: '1.4'
168
+ version: '0.19'
169
+ - !ruby/object:Gem::Dependency
170
+ name: waterdrop
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '1.2'
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '1.2'
169
183
  description: Framework used to simplify Apache Kafka based Ruby applications development
170
184
  email:
171
185
  - maciej@coditsu.io
@@ -177,7 +191,6 @@ extensions: []
177
191
  extra_rdoc_files: []
178
192
  files:
179
193
  - ".console_irbrc"
180
- - ".github/ISSUE_TEMPLATE.md"
181
194
  - ".gitignore"
182
195
  - ".rspec"
183
196
  - ".ruby-gemset"
@@ -190,15 +203,18 @@ files:
190
203
  - Gemfile.lock
191
204
  - MIT-LICENCE
192
205
  - README.md
193
- - Rakefile
194
206
  - bin/karafka
207
+ - config/errors.yml
195
208
  - karafka.gemspec
196
209
  - lib/karafka.rb
197
210
  - lib/karafka/app.rb
198
211
  - lib/karafka/attributes_map.rb
199
212
  - lib/karafka/backends/inline.rb
200
- - lib/karafka/base_controller.rb
213
+ - lib/karafka/base_consumer.rb
201
214
  - lib/karafka/base_responder.rb
215
+ - lib/karafka/callbacks.rb
216
+ - lib/karafka/callbacks/config.rb
217
+ - lib/karafka/callbacks/dsl.rb
202
218
  - lib/karafka/cli.rb
203
219
  - lib/karafka/cli/base.rb
204
220
  - lib/karafka/cli/console.rb
@@ -206,46 +222,54 @@ files:
206
222
  - lib/karafka/cli/info.rb
207
223
  - lib/karafka/cli/install.rb
208
224
  - lib/karafka/cli/server.rb
225
+ - lib/karafka/connection/client.rb
209
226
  - lib/karafka/connection/config_adapter.rb
227
+ - lib/karafka/connection/delegator.rb
210
228
  - lib/karafka/connection/listener.rb
211
- - lib/karafka/connection/messages_consumer.rb
212
- - lib/karafka/connection/messages_processor.rb
213
- - lib/karafka/controllers/includer.rb
214
- - lib/karafka/controllers/responders.rb
215
- - lib/karafka/controllers/single_params.rb
229
+ - lib/karafka/consumers/callbacks.rb
230
+ - lib/karafka/consumers/includer.rb
231
+ - lib/karafka/consumers/responders.rb
232
+ - lib/karafka/consumers/single_params.rb
216
233
  - lib/karafka/errors.rb
217
234
  - lib/karafka/fetcher.rb
218
235
  - lib/karafka/helpers/class_matcher.rb
219
236
  - lib/karafka/helpers/config_retriever.rb
220
237
  - lib/karafka/helpers/multi_delegator.rb
238
+ - lib/karafka/instrumentation/listener.rb
239
+ - lib/karafka/instrumentation/logger.rb
240
+ - lib/karafka/instrumentation/monitor.rb
221
241
  - lib/karafka/loader.rb
222
- - lib/karafka/logger.rb
223
- - lib/karafka/monitor.rb
224
- - lib/karafka/params/params.rb
242
+ - lib/karafka/params/dsl.rb
225
243
  - lib/karafka/params/params_batch.rb
226
244
  - lib/karafka/parsers/json.rb
227
245
  - lib/karafka/patches/dry_configurable.rb
228
- - lib/karafka/persistence.rb
246
+ - lib/karafka/patches/ruby_kafka.rb
247
+ - lib/karafka/persistence/client.rb
248
+ - lib/karafka/persistence/consumer.rb
249
+ - lib/karafka/persistence/topic.rb
229
250
  - lib/karafka/process.rb
230
251
  - lib/karafka/responders/builder.rb
231
252
  - lib/karafka/responders/topic.rb
232
253
  - lib/karafka/routing/builder.rb
233
254
  - lib/karafka/routing/consumer_group.rb
234
- - lib/karafka/routing/mapper.rb
255
+ - lib/karafka/routing/consumer_mapper.rb
235
256
  - lib/karafka/routing/proxy.rb
236
257
  - lib/karafka/routing/router.rb
237
258
  - lib/karafka/routing/topic.rb
259
+ - lib/karafka/routing/topic_mapper.rb
238
260
  - lib/karafka/schemas/config.rb
239
261
  - lib/karafka/schemas/consumer_group.rb
262
+ - lib/karafka/schemas/consumer_group_topic.rb
240
263
  - lib/karafka/schemas/responder_usage.rb
241
264
  - lib/karafka/schemas/server_cli_options.rb
242
265
  - lib/karafka/server.rb
243
266
  - lib/karafka/setup/config.rb
244
267
  - lib/karafka/setup/configurators/base.rb
245
- - lib/karafka/setup/configurators/celluloid.rb
268
+ - lib/karafka/setup/configurators/params.rb
246
269
  - lib/karafka/setup/configurators/water_drop.rb
270
+ - lib/karafka/setup/dsl.rb
247
271
  - lib/karafka/status.rb
248
- - lib/karafka/templates/application_controller.rb.example
272
+ - lib/karafka/templates/application_consumer.rb.example
249
273
  - lib/karafka/templates/application_responder.rb.example
250
274
  - lib/karafka/templates/karafka.rb.example
251
275
  - lib/karafka/version.rb
@@ -270,7 +294,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
294
  version: '0'
271
295
  requirements: []
272
296
  rubyforge_project:
273
- rubygems_version: 2.6.13
297
+ rubygems_version: 2.7.6
274
298
  signing_key:
275
299
  specification_version: 4
276
300
  summary: Ruby based framework for working with Apache Kafka