karafka-sidekiq-backend 1.0.0.pre1 → 1.0.0

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
  SHA1:
3
- metadata.gz: fb7035c44bd2a5c8ed71073da1b0ea7ccf962027
4
- data.tar.gz: be6d7a538ce48a5334ae4f8f5cc249ad8053446c
3
+ metadata.gz: ac35518405825e475629928acad62fb4c971148b
4
+ data.tar.gz: 03db71a6d95e1f7eda063311c84b5f9383290f45
5
5
  SHA512:
6
- metadata.gz: 8d4cc805a0715bb35a54c5b7a960010ac56bab5883b32eed70f6f8d08b4edba543473a6c695bc79548234484bf079b4c295caecaf7370024d27a07633fa22ce7
7
- data.tar.gz: 64fd8c8dd2257cc8b4a7738ef09031c70aaae6141d6016b82dd1d2ae422ff3b1904a01cb314ca383358220ffbd6e032468902c550890efd60da27ae2eaae15dc
6
+ metadata.gz: 4a55f875872e7988bff3b4d97ad5828bb8e1766d1329cdaaad2312e08005d7bc1f55065d5a37cc0fd8f0dbc46d19a6ac1743067f1e9ed1d11264624003e1a345
7
+ data.tar.gz: a912aa6c87ef62998f444f23e2c4970400806c9ddb91f530ce8845e0bc6d3c781b03e9eaa4898e4e5e32c43a47ef5b3b812bff3dba3551a0057f36d88460d0d7
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka-sidekiq-backend (1.0.0.pre1)
5
- karafka (>= 1.0.0.pre1)
4
+ karafka-sidekiq-backend (1.0.0)
5
+ karafka (>= 1.0.0)
6
6
  sidekiq (>= 4.2)
7
7
 
8
8
  GEM
@@ -67,7 +67,7 @@ GEM
67
67
  i18n (0.8.6)
68
68
  inflecto (0.0.2)
69
69
  json (2.1.0)
70
- karafka (1.0.0.rc1)
70
+ karafka (1.0.0)
71
71
  activesupport (>= 5.0)
72
72
  celluloid
73
73
  dry-configurable (~> 0.7)
@@ -80,7 +80,7 @@ GEM
80
80
  thor (~> 0.19)
81
81
  waterdrop (>= 0.4)
82
82
  minitest (5.10.3)
83
- multi_json (1.12.1)
83
+ multi_json (1.12.2)
84
84
  null-logger (0.1.4)
85
85
  rack (2.0.3)
86
86
  rack-protection (2.0.0)
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # Karafka Sidekiq Backend
2
2
 
3
3
  [![Build Status](https://travis-ci.org/karafka/karafka-sidekiq-backend.png)](https://travis-ci.org/karafka/karafka-sidekiq-backend)
4
+ [![Join the chat at https://gitter.im/karafka/karafka](https://badges.gitter.im/karafka/karafka.svg)](https://gitter.im/karafka/karafka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
5
 
5
- Karafka Sidekiq Backend provides support for processing received Kafka messages inside of Sidekiq workers.
6
+ [Karafka Sidekiq Backend](https://github.com/karafka/karafka-sidekiq-backend) provides support for processing received Kafka messages inside of Sidekiq workers.
6
7
 
7
8
  ## Installations
8
9
 
@@ -21,7 +22,7 @@ end
21
22
 
22
23
  and you are ready to go. Karafka Sidekiq Backend integrates with Karafka automatically
23
24
 
24
- Note: You can name your application worker base class with any name you want. The only thing that is required is a direct inheritance from the ```Karafka::BaseWorker``` class.
25
+ **Note**: You can name your application worker base class with any name you want. The only thing that is required is a direct inheritance from the ```Karafka::BaseWorker``` class.
25
26
 
26
27
  ## Usage
27
28
 
@@ -112,3 +113,30 @@ topic :binary_video_details do
112
113
  interchanger Base64Interchanger
113
114
  end
114
115
  ```
116
+
117
+ ## References
118
+
119
+ * [Karafka framework](https://github.com/karafka/karafka)
120
+ * [Karafka Sidekiq Backend Travis CI](https://travis-ci.org/karafka/karafka-sidekiq-backend)
121
+ * [Karafka Sidekiq Backend Coditsu](https://app.coditsu.io/karafka/repositories/karafka-sidekiq-backend)
122
+
123
+ ## Note on Patches/Pull Requests
124
+
125
+ Fork the project.
126
+ Make your feature addition or bug fix.
127
+ Add tests for it. This is important so we don't break it in a future versions unintentionally.
128
+ Commit, do not mess with Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull). Send me a pull request. Bonus points for topic branches.
129
+
130
+ [![coditsu](https://coditsu.io/assets/quality_bar.svg)](https://app.coditsu.io/karafka/repositories/karafka-sidekiq-backend)
131
+
132
+ Each pull request must pass our quality requirements. To check if everything is as it should be, we use [Coditsu](https://coditsu.io) that combinse multiple linters and code analyzers for both code and documentation.
133
+
134
+ Unfortunately, it does not yet support independent forks, however you should be fine by looking at what we require.
135
+
136
+ Please run:
137
+
138
+ ```bash
139
+ bundle exec rake
140
+ ```
141
+
142
+ to check if everything is in order. After that you can submit a pull request.
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.description = 'Karafka Sidekiq backend for background messages processing'
16
16
  spec.license = 'MIT'
17
17
 
18
- spec.add_dependency 'karafka', '>= 1.0.0.pre1'
18
+ spec.add_dependency 'karafka', '>= 1.0.0'
19
19
  spec.add_dependency 'sidekiq', '>= 4.2'
20
20
  spec.required_ruby_version = '>= 2.3.0'
21
21
 
@@ -4,7 +4,8 @@ module Karafka
4
4
  module Backends
5
5
  # Sidekiq backend that schedules stuff to Sidekiq worker for delayed execution
6
6
  module Sidekiq
7
- VERSION = '1.0.0.pre1'
7
+ # Karafka Sidekiq backend version
8
+ VERSION = '1.0.0'
8
9
 
9
10
  private
10
11
 
@@ -2,13 +2,20 @@
2
2
 
3
3
  module Karafka
4
4
  module Extensions
5
+ # Additional Karafka::Attributes map topic attributes that can be used when worker
6
+ # is active and we use sidekiq backend
5
7
  module SidekiqAttributesMap
8
+ # Class methods that extend the attributes map class
6
9
  module ClassMethods
10
+ # Extra topic fields that we need to have to work with sidekiq backend
11
+ # @return [Array<Symbol>] available topic options
7
12
  def topic
8
13
  super + %i[interchanger worker]
9
14
  end
10
15
  end
11
16
 
17
+ # Prepends class methods into attributes map
18
+ # @param base [Class] class that we prepend to
12
19
  def self.prepended(base)
13
20
  class << base
14
21
  prepend ClassMethods
@@ -1,5 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Karafka
4
+ # Namespace for additional extensions that we include into some Karafka components, to gain
5
+ # extra features that we require
2
6
  module Extensions
7
+ # Additional Karafka::Routing::Topic methods that are required to work with Sidekiq backend
3
8
  module SidekiqTopicAttributes
4
9
  # @return [Class] Class (not an instance) of a worker that should be used to schedule the
5
10
  # background job
@@ -14,6 +19,8 @@ module Karafka
14
19
  @interchanger ||= Karafka::Interchanger
15
20
  end
16
21
 
22
+ # Creates attributes writers for worker and interchanger, so they can be overwritten
23
+ # @param base [Class] Karafka::Routing::Topic class
17
24
  def self.included(base)
18
25
  base.send :attr_writer, :worker
19
26
  base.send :attr_writer, :interchanger
@@ -9,24 +9,24 @@ module Karafka
9
9
  # - parse - decoded params back to a hash format that we can use
10
10
  class Interchanger
11
11
  class << self
12
- # @param params [Karafka::Params::Params] Karafka params object
12
+ # @param params_batch [Karafka::Params::ParamsBatch] Karafka params batch object
13
13
  # @note Params might not be parsed because of lazy loading feature. If you implement your
14
14
  # own interchanger logic, this method needs to return data that can be converted to
15
15
  # json with default Sidekiqs logic
16
- # @return [Karafka::Params::Params] same as input. We assume that our incoming data is
16
+ # @return [Karafka::Params::ParamsBatch] same as input. We assume that our incoming data is
17
17
  # jsonable-safe and we can rely on a direct Sidekiq encoding logic
18
- def load(params)
19
- params
18
+ def load(params_batch)
19
+ params_batch
20
20
  end
21
21
 
22
- # @param params [Hash] Sidekiqs params that are now a Hash (after they were JSON#parse)
22
+ # @param params_batch [Hash] Sidekiqs params that are now a Hash (after they were JSON#parse)
23
23
  # @note Hash is what we need to build Karafka::Params::Params, so we do nothing
24
24
  # with it. If you implement your own interchanger logic, this method needs to return
25
25
  # a hash with appropriate data that will be used to build Karafka::Params::Params
26
26
  # @return [Hash] We return exactly what we received. We rely on sidekiqs default
27
27
  # interchanging format
28
- def parse(params)
29
- params
28
+ def parse(params_batch)
29
+ params_batch
30
30
  end
31
31
  end
32
32
  end
@@ -1,11 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  %w[
4
+ karafka
4
5
  sidekiq
5
6
  ].each(&method(:require))
6
7
 
8
+ # Karafka framework namespace
7
9
  module Karafka
10
+ # Namespace for all the backends that process data
8
11
  module Backends
12
+ # Sidekiq Karafka backend
9
13
  module Sidekiq
10
14
  class << self
11
15
  # @return [String] path to Karafka gem root core
@@ -17,4 +21,5 @@ module Karafka
17
21
  end
18
22
  end
19
23
 
24
+ # Uses Karafka loader to load all the sources that this backend needs
20
25
  Karafka::Loader.load!(Karafka::Backends::Sidekiq.core_root)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-sidekiq-backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-01 00:00:00.000000000 Z
11
+ date: 2017-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: karafka
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0.pre1
19
+ version: 1.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.0.pre1
26
+ version: 1.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sidekiq
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -81,9 +81,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
81
81
  version: 2.3.0
82
82
  required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - ">"
84
+ - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 1.3.1
86
+ version: '0'
87
87
  requirements: []
88
88
  rubyforge_project:
89
89
  rubygems_version: 2.6.13