karafka 1.2.0.beta2 → 1.2.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
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