karafka 1.2.0.beta2 → 1.2.0.beta3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d09b4e7928ec779cd71ee9a64a4311d1391dc67047d20f02df1240ff88a3d164
4
- data.tar.gz: acf764bc2f17becebd67055e3029e51d065a9c683859ed7ad130939e108ebf4d
3
+ metadata.gz: cf35bab1fc0751c78111ae2e82810b10113e0b7e9bfbf014c32f6239b4725b91
4
+ data.tar.gz: e908c0c6e02d3753b53844f993230cd924ecf09b453ec094550f3f81b6741d5d
5
5
  SHA512:
6
- metadata.gz: 143ede8498d19bab0e65fc958d9b0b8f32b6a8085bea59dacc96ccf329c55c1dde700b5503ea284c8f14832934f287941f7cbff18b91b3c57051ce6af0de20da
7
- data.tar.gz: 0142153ebf390df785b9b1212a9c4eb288196be5dfcb1307abda6f4325b80bfb926993a15073c94d9205cb81b4abf601f84854e506ff3d1473115f8d386459b4
6
+ metadata.gz: '095c023b08f013114e21e891f8b97a6e3ab9b0aad5dd640948d766474adff7e04f13dd110fa72abf7e671e1996c8b618bbd0bb30093ae8fe4d1dfa41993aa245'
7
+ data.tar.gz: d096b0ff330e49dd2fad6ca474f7efd6703b6b8fcfef0eaee6d9064b961a319bd92b0b800eab3529cb43ce2912e372f2d2d549f15bbc7726253ae9f5acaa9893
@@ -1,6 +1,6 @@
1
1
  # Karafka framework changelog
2
2
 
3
- ## 1.2.0-beta1
3
+ ## 1.2.0
4
4
  - Spec improvements
5
5
  - #260 - Specs missing randomization
6
6
  - #251 - Shutdown upon non responding (unreachable) cluster is not possible
@@ -33,6 +33,7 @@
33
33
  - Added ```before_fetch_loop``` configuration block for early client usage (```#seek```, etc)
34
34
  - Renamed ```after_fetched``` to ```after_fetch``` to normalize the naming convention
35
35
  - Instrumentation on a connection delegator level
36
+ - Added ```params_batch#last``` method to retrieve last element after unparsing
36
37
 
37
38
  ## 1.1.2
38
39
  - #256 - Default kafka.seed_brokers configuration is created in invalid format
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (1.2.0.beta2)
4
+ karafka (1.2.0.beta3)
5
5
  activesupport (>= 4.0)
6
6
  dry-configurable (~> 0.7)
7
7
  dry-inflector (~> 0.1.1)
@@ -10,10 +10,10 @@ PATH
10
10
  envlogic (~> 1.0)
11
11
  multi_json (>= 1.12)
12
12
  rake (>= 11.3)
13
- require_all (>= 1.4)
13
+ require_all (~> 2.0)
14
14
  ruby-kafka (>= 0.5.3)
15
15
  thor (~> 0.19)
16
- waterdrop (>= 1.2.0.beta1)
16
+ waterdrop (~> 1.2)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
@@ -77,7 +77,7 @@ GEM
77
77
  multi_json (1.13.1)
78
78
  null-logger (0.1.4)
79
79
  rake (12.3.0)
80
- require_all (1.5.0)
80
+ require_all (2.0.0)
81
81
  rouge (2.2.1)
82
82
  rspec (3.7.0)
83
83
  rspec-core (~> 3.7.0)
@@ -103,13 +103,12 @@ GEM
103
103
  timecop (0.9.1)
104
104
  tzinfo (1.2.5)
105
105
  thread_safe (~> 0.1)
106
- waterdrop (1.2.0.beta1)
107
- delivery_boy (>= 0.2.3)
106
+ waterdrop (1.2.0)
107
+ delivery_boy (~> 0.2)
108
108
  dry-configurable (~> 0.7)
109
109
  dry-monitor (~> 0.1)
110
110
  dry-validation (~> 0.11)
111
111
  null-logger
112
- ruby-kafka (>= 0.5.3)
113
112
 
114
113
  PLATFORMS
115
114
  ruby
data/README.md CHANGED
@@ -4,10 +4,12 @@
4
4
 
5
5
  Framework used to simplify Apache Kafka based Ruby applications development.
6
6
 
7
- It allows programmers to use approach similar to standard HTTP conventions (```params``` and ```params_batch```) when working with asynchronous Kafka messages.
7
+ Karafka allows you to capture everything that happens in your systems in large scale, providing you with a seamless and stable core for consuming and processing this data, without having to focus on things that are not your business domain.
8
8
 
9
9
  Karafka not only handles incoming messages but also provides tools for building complex data-flow applications that receive and send messages.
10
10
 
11
+ **Warning**: Wiki and all the docs refer to the 1.2.0.beta2. Sorry for the inconvenience. We will release the stable 1.2.0 version soon.
12
+
11
13
  ## How does it work
12
14
 
13
15
  Karafka provides a higher-level abstraction that allows you to focus on your business logic development, instead of focusing on implementing lower level abstraction layers. It provides developers with a set of tools that are dedicated for building multi-topic applications similarly to how Rails applications are being built.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('../lib', __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  require 'karafka/version'
@@ -24,10 +24,10 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'envlogic', '~> 1.0'
25
25
  spec.add_dependency 'multi_json', '>= 1.12'
26
26
  spec.add_dependency 'rake', '>= 11.3'
27
- spec.add_dependency 'require_all', '>= 1.4'
27
+ spec.add_dependency 'require_all', '~> 2.0'
28
28
  spec.add_dependency 'ruby-kafka', '>= 0.5.3'
29
29
  spec.add_dependency 'thor', '~> 0.19'
30
- spec.add_dependency 'waterdrop', '>= 1.2.0.beta1'
30
+ spec.add_dependency 'waterdrop', '~> 1.2'
31
31
 
32
32
  spec.required_ruby_version = '>= 2.3.0'
33
33
 
@@ -34,7 +34,7 @@ module Karafka
34
34
 
35
35
  # @return [String] root path of this gem
36
36
  def gem_root
37
- Pathname.new(File.expand_path('../..', __FILE__))
37
+ Pathname.new(File.expand_path('..', __dir__))
38
38
  end
39
39
 
40
40
  # @return [String] Karafka app root path (user application path)
@@ -44,7 +44,7 @@ module Karafka
44
44
 
45
45
  # @return [String] path to Karafka gem root core
46
46
  def core_root
47
- Pathname.new(File.expand_path('../karafka', __FILE__))
47
+ Pathname.new(File.expand_path('karafka', __dir__))
48
48
  end
49
49
 
50
50
  # @return [String] path to a default file that contains booting procedure etc
@@ -62,6 +62,17 @@ module Karafka
62
62
  end
63
63
  end
64
64
 
65
+ %w[
66
+ callbacks
67
+ callbacks/*
68
+ setup/dsl
69
+ setup/config
70
+ status
71
+ schemas/config
72
+ schemas/consumer_group_topic
73
+ schemas/consumer_group
74
+ ].each { |path| require_all File.join(Karafka.core_root, path + '.rb') }
75
+
65
76
  Karafka::Loader.load!(Karafka.core_root)
66
77
  Kafka::Consumer.prepend(Karafka::Patches::RubyKafka)
67
78
  Dry::Configurable::Config.prepend(Karafka::Patches::DryConfigurable)
@@ -22,7 +22,7 @@ module Karafka
22
22
  .config
23
23
  .callbacks
24
24
  .send(callback_type)
25
- .each { |block| block.call(*args) }
25
+ .each { |callback| callback.call(*args) }
26
26
  end
27
27
  end
28
28
  end
@@ -32,6 +32,11 @@ module Karafka
32
32
  each(&:itself)
33
33
  end
34
34
 
35
+ # @return [Karafka::Params::Params] last element after the unparsing process
36
+ def last
37
+ @params_batch.last.retrieve!
38
+ end
39
+
35
40
  # @return [Array<Karafka::Params::Params>] pure array with params (not parsed)
36
41
  def to_a
37
42
  @params_batch
@@ -24,7 +24,7 @@ module Karafka
24
24
  uri = URI.parse(uri)
25
25
  URI_SCHEMES.include?(uri.scheme) && uri.port
26
26
  rescue URI::InvalidURIError
27
- return false
27
+ false
28
28
  end
29
29
  end
30
30
 
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '1.2.0.beta2'
6
+ VERSION = '1.2.0.beta3'
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.0.beta2
4
+ version: 1.2.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-02-16 00:00:00.000000000 Z
13
+ date: 2018-03-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -128,16 +128,16 @@ dependencies:
128
128
  name: require_all
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ">="
131
+ - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: '1.4'
133
+ version: '2.0'
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: '1.4'
140
+ version: '2.0'
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: ruby-kafka
143
143
  requirement: !ruby/object:Gem::Requirement
@@ -170,16 +170,16 @@ dependencies:
170
170
  name: waterdrop
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - ">="
173
+ - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: 1.2.0.beta1
175
+ version: '1.2'
176
176
  type: :runtime
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - ">="
180
+ - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: 1.2.0.beta1
182
+ version: '1.2'
183
183
  description: Framework used to simplify Apache Kafka based Ruby applications development
184
184
  email:
185
185
  - maciej@coditsu.io
@@ -294,7 +294,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
294
294
  version: 1.3.1
295
295
  requirements: []
296
296
  rubyforge_project:
297
- rubygems_version: 2.7.3
297
+ rubygems_version: 2.7.6
298
298
  signing_key:
299
299
  specification_version: 4
300
300
  summary: Ruby based framework for working with Apache Kafka