karafka 0.5.0.3 → 0.6.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.console_irbrc +13 -0
- data/.github/ISSUE_TEMPLATE.md +2 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +59 -1
- data/CODE_OF_CONDUCT.md +46 -0
- data/CONTRIBUTING.md +67 -0
- data/Gemfile +2 -1
- data/Gemfile.lock +46 -147
- data/README.md +51 -952
- data/Rakefile +5 -14
- data/karafka.gemspec +19 -13
- data/lib/karafka.rb +7 -4
- data/lib/karafka/app.rb +10 -6
- data/lib/karafka/attributes_map.rb +67 -0
- data/lib/karafka/base_controller.rb +42 -52
- data/lib/karafka/base_responder.rb +30 -14
- data/lib/karafka/base_worker.rb +11 -26
- data/lib/karafka/cli.rb +2 -0
- data/lib/karafka/cli/base.rb +2 -0
- data/lib/karafka/cli/console.rb +7 -1
- data/lib/karafka/cli/flow.rb +13 -13
- data/lib/karafka/cli/info.rb +7 -4
- data/lib/karafka/cli/install.rb +4 -3
- data/lib/karafka/cli/server.rb +3 -1
- data/lib/karafka/cli/worker.rb +2 -0
- data/lib/karafka/connection/config_adapter.rb +103 -0
- data/lib/karafka/connection/listener.rb +16 -12
- data/lib/karafka/connection/messages_consumer.rb +86 -0
- data/lib/karafka/connection/messages_processor.rb +74 -0
- data/lib/karafka/errors.rb +15 -29
- data/lib/karafka/fetcher.rb +10 -8
- data/lib/karafka/helpers/class_matcher.rb +2 -0
- data/lib/karafka/helpers/config_retriever.rb +46 -0
- data/lib/karafka/helpers/multi_delegator.rb +2 -0
- data/lib/karafka/loader.rb +4 -2
- data/lib/karafka/logger.rb +37 -36
- data/lib/karafka/monitor.rb +3 -1
- data/lib/karafka/params/interchanger.rb +2 -0
- data/lib/karafka/params/params.rb +34 -41
- data/lib/karafka/params/params_batch.rb +46 -0
- data/lib/karafka/parsers/json.rb +4 -2
- data/lib/karafka/patches/dry_configurable.rb +2 -0
- data/lib/karafka/process.rb +4 -2
- data/lib/karafka/responders/builder.rb +2 -0
- data/lib/karafka/responders/topic.rb +14 -6
- data/lib/karafka/routing/builder.rb +22 -59
- data/lib/karafka/routing/consumer_group.rb +54 -0
- data/lib/karafka/routing/mapper.rb +2 -0
- data/lib/karafka/routing/proxy.rb +37 -0
- data/lib/karafka/routing/router.rb +18 -16
- data/lib/karafka/routing/topic.rb +78 -0
- data/lib/karafka/schemas/config.rb +36 -0
- data/lib/karafka/schemas/consumer_group.rb +56 -0
- data/lib/karafka/schemas/responder_usage.rb +38 -0
- data/lib/karafka/server.rb +5 -3
- data/lib/karafka/setup/config.rb +79 -32
- data/lib/karafka/setup/configurators/base.rb +2 -0
- data/lib/karafka/setup/configurators/celluloid.rb +2 -0
- data/lib/karafka/setup/configurators/sidekiq.rb +2 -0
- data/lib/karafka/setup/configurators/water_drop.rb +15 -3
- data/lib/karafka/status.rb +2 -0
- data/lib/karafka/templates/app.rb.example +15 -5
- data/lib/karafka/templates/application_worker.rb.example +0 -6
- data/lib/karafka/version.rb +2 -1
- data/lib/karafka/workers/builder.rb +2 -0
- metadata +109 -60
- data/lib/karafka/cli/routes.rb +0 -36
- data/lib/karafka/connection/consumer.rb +0 -33
- data/lib/karafka/connection/message.rb +0 -17
- data/lib/karafka/connection/topic_consumer.rb +0 -94
- data/lib/karafka/responders/usage_validator.rb +0 -60
- data/lib/karafka/routing/route.rb +0 -113
- data/lib/karafka/setup/config_schema.rb +0 -44
- data/lib/karafka/setup/configurators/worker_glass.rb +0 -13
- data/lib/karafka/templates/config.ru.example +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b23b384c41e678138f2dec19e303e3cd62dc537
|
4
|
+
data.tar.gz: 794671bee86cd69916ae16f48111179be4e45228
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29f049589ec7f572b9de747c005522a2b40076b5fc8425f451f83f12d8eef549b6ce403cf2201068ca462dedae83df799735f4655df167714116a6990238a7df
|
7
|
+
data.tar.gz: 436c792d7b15fafd68754c75bc558559ed2d0828591aba5a0644a44a720dbf4bffeefa428d146517552ba6d66dfa266d76ab9b3a3fa1c6e3a19c685a4496eaf6
|
data/.console_irbrc
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# irbrc for Karafka console
|
2
|
+
require 'karafka'
|
3
|
+
require Karafka.boot_file
|
4
|
+
|
5
|
+
IRB.conf[:AUTO_INDENT] = true
|
6
|
+
IRB.conf[:SAVE_HISTORY] = 1000
|
7
|
+
IRB.conf[:USE_READLINE] = true
|
8
|
+
IRB.conf[:HISTORY_FILE] = "#{Karafka::App.root}/.irb-history"
|
9
|
+
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
|
10
|
+
|
11
|
+
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
|
12
|
+
IRB.conf[:LOAD_MODULES] << 'irb/completion'
|
13
|
+
end
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,64 @@
|
|
1
1
|
# Karafka framework changelog
|
2
2
|
|
3
|
+
## 0.6.0.rc1
|
4
|
+
|
5
|
+
### Closed issues:
|
6
|
+
|
7
|
+
- #103 - Env for logger is loaded 2 early (on gem load not on app init)
|
8
|
+
- #142 - Possibility to better control Kafka consumers (consumer groups management)
|
9
|
+
- #150 - Add support for start_from_beginning on a per topic basis
|
10
|
+
- #154 - Support for min_bytes and max_wait_time on messages consuming
|
11
|
+
- #160 - Reorganize settings to better resemble ruby-kafka requirements
|
12
|
+
- #164 - If we decide to have configuration per topic, topic uniqueness should be removed
|
13
|
+
- #165 - Router validator
|
14
|
+
- #166 - Params and route reorganization (new API)
|
15
|
+
- #167 - Remove Sidekiq UI from Karafka
|
16
|
+
- #168 - Introduce unique IDs of routes
|
17
|
+
- #171 - Add kafka message metadata to params
|
18
|
+
- #176 - Transform Karafka::Connection::Consumer into a module
|
19
|
+
- #177 - Monitor not reacting when kafka killed with -9
|
20
|
+
- #175 - Allow single consumer to subscribe to multiple topics
|
21
|
+
- #178 - Remove parsing failover when cannot unparse data
|
22
|
+
- #174 - Extended config validation
|
23
|
+
- #180 - Switch from JSON parser to yajl-ruby
|
24
|
+
- #181 - When responder is defined and not used due to ```respond_with``` not being triggered in the perform, it won't raise an exception.
|
25
|
+
- #188 - Rename name in config to client id
|
26
|
+
- #186 - Support ruby-kafka ```ssl_ca_cert_file_path``` config
|
27
|
+
- #189 - karafka console does not preserve history on exit
|
28
|
+
|
29
|
+
### New features and improvements
|
30
|
+
|
31
|
+
- batch processing thanks to ```#batch_processing``` flag and ```#params_batch``` on controllers
|
32
|
+
- ```#topic``` method on an controller instance to make a clear distinction in between params and route details
|
33
|
+
- Changed routing model (still compatible with 0.5) to allow better resources management
|
34
|
+
- Lower memory requirements due to object creation limitation (2-3 times less objects on each new message)
|
35
|
+
- Introduced the ```#batch_processing``` config flag (config for #126) that can be set per each consumer_group
|
36
|
+
- Added support for partition, offset and partition key in the params hash
|
37
|
+
- ```name``` option in config renamed to ```client_id```
|
38
|
+
|
39
|
+
### Incompatibilities
|
40
|
+
|
41
|
+
- Removed worker glass as dependency (now and independent gem)
|
42
|
+
- ```kafka.hosts``` option renamed to ```kafka.seed_brokers``` - you don't need to provide all the hosts to work with Kafka
|
43
|
+
- ```start_from_beginning``` moved into kafka scope (```kafka.start_from_beginning```)
|
44
|
+
- Router no longer checks for route uniqueness - now you can define same routes for multiple kafkas and do a lot of crazy stuff, so it's your responsibility to check uniqueness
|
45
|
+
- Change in the way we identify topics in between Karafka and Sidekiq workers. If you upgrade, please make sure, all the jobs scheduled in Sidekiq are finished before the upgrade.
|
46
|
+
- ```batch_mode``` renamed to ```batch_consuming```
|
47
|
+
- Renamed content to value to better resemble ruby-kafka internal messages naming convention
|
48
|
+
- When having a responder with ```required``` topics and not using ```#respond_with``` at all, it will raise an exception
|
49
|
+
- Renamed ```inline_mode``` to ```inline_processing``` to resemble other settings conventions
|
50
|
+
|
51
|
+
### Other changes
|
52
|
+
- PolishGeeksDevTools removed (in favour of Coditsu)
|
53
|
+
- Waaaaaay better code quality thanks to switching from dev tools to Coditsu
|
54
|
+
- Gem bump
|
55
|
+
- Cleaner internal API
|
56
|
+
- SRP
|
57
|
+
- Better settings proxying and management between ruby-kafka and karafka
|
58
|
+
- All internal validations are now powered by dry-validation
|
59
|
+
- Better naming conventions to reflect Kafka reality
|
60
|
+
- Removed Karafka::Connection::Message in favour of direct message details extraction from Kafka::FetchedMessage
|
61
|
+
|
3
62
|
## 0.5.0.3
|
4
63
|
- #132 - When Kafka is gone, should reconnect after a time period
|
5
64
|
- #136 - new ruby-kafka version + other gem bumps
|
@@ -247,4 +306,3 @@
|
|
247
306
|
|
248
307
|
## 0.1.0
|
249
308
|
- Initial framework code
|
250
|
-
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
6
|
+
|
7
|
+
## Our Standards
|
8
|
+
|
9
|
+
Examples of behavior that contributes to creating a positive environment include:
|
10
|
+
|
11
|
+
* Using welcoming and inclusive language
|
12
|
+
* Being respectful of differing viewpoints and experiences
|
13
|
+
* Gracefully accepting constructive criticism
|
14
|
+
* Focusing on what is best for the community
|
15
|
+
* Showing empathy towards other community members
|
16
|
+
|
17
|
+
Examples of unacceptable behavior by participants include:
|
18
|
+
|
19
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
20
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
21
|
+
* Public or private harassment
|
22
|
+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
23
|
+
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
24
|
+
|
25
|
+
## Our Responsibilities
|
26
|
+
|
27
|
+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
28
|
+
|
29
|
+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
30
|
+
|
31
|
+
## Scope
|
32
|
+
|
33
|
+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
34
|
+
|
35
|
+
## Enforcement
|
36
|
+
|
37
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at maciej@coditsu.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
38
|
+
|
39
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
40
|
+
|
41
|
+
## Attribution
|
42
|
+
|
43
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
44
|
+
|
45
|
+
[homepage]: http://contributor-covenant.org
|
46
|
+
[version]: http://contributor-covenant.org/version/1/4/
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# Contribute
|
2
|
+
|
3
|
+
## Introduction
|
4
|
+
|
5
|
+
First, thank you for considering contributing to karafka! It's people like you that make the open source community such a great community! 😊
|
6
|
+
|
7
|
+
We welcome any type of contribution, not only code. You can help with
|
8
|
+
- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open)
|
9
|
+
- **Marketing**: writing blog posts, howto's, printing stickers, ...
|
10
|
+
- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
|
11
|
+
- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them.
|
12
|
+
- **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/karafka).
|
13
|
+
|
14
|
+
## Your First Contribution
|
15
|
+
|
16
|
+
Working on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).
|
17
|
+
|
18
|
+
## Submitting code
|
19
|
+
|
20
|
+
Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests.
|
21
|
+
|
22
|
+
## Code review process
|
23
|
+
|
24
|
+
The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge.
|
25
|
+
It is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you?
|
26
|
+
|
27
|
+
## Financial contributions
|
28
|
+
|
29
|
+
We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/karafka).
|
30
|
+
Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed.
|
31
|
+
|
32
|
+
## Questions
|
33
|
+
|
34
|
+
If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!).
|
35
|
+
You can also reach us at hello@karafka.opencollective.com.
|
36
|
+
|
37
|
+
## Credits
|
38
|
+
|
39
|
+
### Contributors
|
40
|
+
|
41
|
+
Thank you to all the people who have already contributed to karafka!
|
42
|
+
<a href="graphs/contributors"><img src="https://opencollective.com/karafka/contributors.svg?width=890" /></a>
|
43
|
+
|
44
|
+
|
45
|
+
### Backers
|
46
|
+
|
47
|
+
Thank you to all our backers! [[Become a backer](https://opencollective.com/karafka#backer)]
|
48
|
+
|
49
|
+
<a href="https://opencollective.com/karafka#backers" target="_blank"><img src="https://opencollective.com/karafka/backers.svg?width=890"></a>
|
50
|
+
|
51
|
+
|
52
|
+
### Sponsors
|
53
|
+
|
54
|
+
Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/karafka#sponsor))
|
55
|
+
|
56
|
+
<a href="https://opencollective.com/karafka/sponsor/0/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/0/avatar.svg"></a>
|
57
|
+
<a href="https://opencollective.com/karafka/sponsor/1/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/1/avatar.svg"></a>
|
58
|
+
<a href="https://opencollective.com/karafka/sponsor/2/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/2/avatar.svg"></a>
|
59
|
+
<a href="https://opencollective.com/karafka/sponsor/3/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/3/avatar.svg"></a>
|
60
|
+
<a href="https://opencollective.com/karafka/sponsor/4/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/4/avatar.svg"></a>
|
61
|
+
<a href="https://opencollective.com/karafka/sponsor/5/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/5/avatar.svg"></a>
|
62
|
+
<a href="https://opencollective.com/karafka/sponsor/6/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/6/avatar.svg"></a>
|
63
|
+
<a href="https://opencollective.com/karafka/sponsor/7/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/7/avatar.svg"></a>
|
64
|
+
<a href="https://opencollective.com/karafka/sponsor/8/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/8/avatar.svg"></a>
|
65
|
+
<a href="https://opencollective.com/karafka/sponsor/9/website" target="_blank"><img src="https://opencollective.com/karafka/sponsor/9/avatar.svg"></a>
|
66
|
+
|
67
|
+
<!-- This `CONTRIBUTING.md` is based on @nayafia's template https://github.com/nayafia/contributing-template -->
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,37 +1,28 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
karafka (0.
|
5
|
-
activesupport (
|
6
|
-
celluloid
|
4
|
+
karafka (0.6.0.rc1)
|
5
|
+
activesupport (>= 5.0)
|
6
|
+
celluloid
|
7
7
|
dry-configurable (~> 0.7)
|
8
|
-
dry-validation (~> 0.
|
8
|
+
dry-validation (~> 0.11)
|
9
9
|
envlogic (~> 1.0)
|
10
|
-
rake (
|
11
|
-
ruby-kafka (
|
10
|
+
rake (>= 11.3)
|
11
|
+
ruby-kafka (>= 0.4)
|
12
12
|
sidekiq (>= 4.2)
|
13
13
|
thor (~> 0.19)
|
14
|
-
waterdrop (
|
15
|
-
|
14
|
+
waterdrop (>= 0.4)
|
15
|
+
yajl-ruby (>= 1.3.0)
|
16
16
|
|
17
17
|
GEM
|
18
18
|
remote: https://rubygems.org/
|
19
19
|
specs:
|
20
|
-
activesupport (5.
|
20
|
+
activesupport (5.1.3)
|
21
21
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
22
22
|
i18n (~> 0.7)
|
23
23
|
minitest (~> 5.1)
|
24
24
|
tzinfo (~> 1.1)
|
25
|
-
|
26
|
-
ast (2.3.0)
|
27
|
-
axiom-types (0.1.1)
|
28
|
-
descendants_tracker (~> 0.0.4)
|
29
|
-
ice_nine (~> 0.11.0)
|
30
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
31
|
-
brakeman (3.3.3)
|
32
|
-
bundler-audit (0.5.0)
|
33
|
-
bundler (~> 1.2)
|
34
|
-
thor (~> 0.18)
|
25
|
+
byebug (9.0.6)
|
35
26
|
celluloid (0.17.3)
|
36
27
|
celluloid-essentials
|
37
28
|
celluloid-extras
|
@@ -49,17 +40,9 @@ GEM
|
|
49
40
|
timers (>= 4.1.1)
|
50
41
|
celluloid-supervision (0.20.6)
|
51
42
|
timers (>= 4.1.1)
|
52
|
-
codeclimate-engine-rb (0.3.1)
|
53
|
-
virtus (~> 1.0)
|
54
|
-
coderay (1.1.1)
|
55
|
-
coercible (1.0.0)
|
56
|
-
descendants_tracker (~> 0.0.1)
|
57
|
-
colorize (0.8.1)
|
58
43
|
concurrent-ruby (1.0.5)
|
59
44
|
connection_pool (2.2.1)
|
60
|
-
|
61
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
62
|
-
diff-lcs (1.2.5)
|
45
|
+
diff-lcs (1.3)
|
63
46
|
docile (1.1.5)
|
64
47
|
dry-configurable (0.7.0)
|
65
48
|
concurrent-ruby (~> 1.0)
|
@@ -73,7 +56,7 @@ GEM
|
|
73
56
|
dry-container (~> 0.2, >= 0.2.6)
|
74
57
|
dry-core (~> 0.2)
|
75
58
|
dry-equalizer (~> 0.2)
|
76
|
-
dry-types (0.
|
59
|
+
dry-types (0.11.1)
|
77
60
|
concurrent-ruby (~> 1.0)
|
78
61
|
dry-configurable (~> 0.1)
|
79
62
|
dry-container (~> 0.3)
|
@@ -81,163 +64,79 @@ GEM
|
|
81
64
|
dry-equalizer (~> 0.2)
|
82
65
|
dry-logic (~> 0.4, >= 0.4.0)
|
83
66
|
inflecto (~> 0.0.0, >= 0.0.2)
|
84
|
-
dry-validation (0.
|
67
|
+
dry-validation (0.11.0)
|
85
68
|
concurrent-ruby (~> 1.0)
|
86
69
|
dry-configurable (~> 0.1, >= 0.1.3)
|
87
70
|
dry-core (~> 0.2, >= 0.2.1)
|
88
71
|
dry-equalizer (~> 0.2)
|
89
72
|
dry-logic (~> 0.4, >= 0.4.0)
|
90
|
-
dry-types (~> 0.
|
73
|
+
dry-types (~> 0.11.0)
|
91
74
|
envlogic (1.0.3)
|
92
75
|
activesupport
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
erubis (~> 2.7.0)
|
99
|
-
path_expander (~> 1.0)
|
100
|
-
ruby_parser (~> 3.0)
|
101
|
-
sexp_processor (~> 4.0)
|
102
|
-
flog (4.4.0)
|
103
|
-
path_expander (~> 1.0)
|
104
|
-
ruby_parser (~> 3.1, > 3.1.0)
|
105
|
-
sexp_processor (~> 4.4)
|
106
|
-
haml (4.0.7)
|
107
|
-
tilt
|
108
|
-
haml_lint (0.18.1)
|
109
|
-
haml (~> 4.0)
|
110
|
-
rake (>= 10, < 12)
|
111
|
-
rubocop (>= 0.36.0)
|
112
|
-
sysexits (~> 1.1)
|
113
|
-
hitimes (1.2.5)
|
114
|
-
i18n (0.7.0)
|
115
|
-
ice_nine (0.11.2)
|
76
|
+
ffi (1.9.18)
|
77
|
+
gssapi (1.2.0)
|
78
|
+
ffi (>= 1.0.1)
|
79
|
+
hitimes (1.2.6)
|
80
|
+
i18n (0.8.6)
|
116
81
|
inflecto (0.0.2)
|
117
|
-
json (2.0
|
118
|
-
|
119
|
-
addressable (~> 2.3)
|
120
|
-
method_source (0.8.2)
|
121
|
-
minitest (5.10.1)
|
82
|
+
json (2.1.0)
|
83
|
+
minitest (5.10.3)
|
122
84
|
null-logger (0.1.4)
|
123
|
-
parser (2.3.1.2)
|
124
|
-
ast (~> 2.2)
|
125
|
-
path_expander (1.0.0)
|
126
|
-
polishgeeks-dev-tools (1.3.2)
|
127
|
-
brakeman
|
128
|
-
bundler-audit
|
129
|
-
faker
|
130
|
-
haml_lint
|
131
|
-
pry
|
132
|
-
rspec
|
133
|
-
rubocop
|
134
|
-
rubocop-rspec
|
135
|
-
rubycritic
|
136
|
-
shoulda
|
137
|
-
simplecov
|
138
|
-
timecop
|
139
|
-
yard
|
140
|
-
powerpack (0.1.1)
|
141
|
-
pry (0.10.4)
|
142
|
-
coderay (~> 1.1.0)
|
143
|
-
method_source (~> 0.8.1)
|
144
|
-
slop (~> 3.4)
|
145
85
|
rack (2.0.3)
|
146
86
|
rack-protection (2.0.0)
|
147
87
|
rack
|
148
|
-
|
149
|
-
rake (11.3.0)
|
88
|
+
rake (12.0.0)
|
150
89
|
redis (3.3.3)
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
rspec (3.
|
156
|
-
rspec-
|
157
|
-
|
158
|
-
rspec-mocks (~> 3.5.0)
|
159
|
-
rspec-core (3.5.2)
|
160
|
-
rspec-support (~> 3.5.0)
|
161
|
-
rspec-expectations (3.5.0)
|
90
|
+
rspec (3.6.0)
|
91
|
+
rspec-core (~> 3.6.0)
|
92
|
+
rspec-expectations (~> 3.6.0)
|
93
|
+
rspec-mocks (~> 3.6.0)
|
94
|
+
rspec-core (3.6.0)
|
95
|
+
rspec-support (~> 3.6.0)
|
96
|
+
rspec-expectations (3.6.0)
|
162
97
|
diff-lcs (>= 1.2.0, < 2.0)
|
163
|
-
rspec-support (~> 3.
|
164
|
-
rspec-mocks (3.
|
98
|
+
rspec-support (~> 3.6.0)
|
99
|
+
rspec-mocks (3.6.0)
|
165
100
|
diff-lcs (>= 1.2.0, < 2.0)
|
166
|
-
rspec-support (~> 3.
|
167
|
-
rspec-support (3.
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
rainbow (>= 1.99.1, < 3.0)
|
172
|
-
ruby-progressbar (~> 1.7)
|
173
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
174
|
-
rubocop-rspec (1.5.3)
|
175
|
-
rubocop (>= 0.42.0)
|
176
|
-
ruby-kafka (0.3.17)
|
177
|
-
ruby-progressbar (1.8.1)
|
178
|
-
ruby_parser (3.8.2)
|
179
|
-
sexp_processor (~> 4.1)
|
180
|
-
rubycritic (2.9.2)
|
181
|
-
colorize
|
182
|
-
flay (= 2.8.0)
|
183
|
-
flog (= 4.4.0)
|
184
|
-
launchy (= 2.4.3)
|
185
|
-
parser (= 2.3.1.2)
|
186
|
-
reek (= 4.1.0)
|
187
|
-
ruby_parser (~> 3.8)
|
188
|
-
virtus (~> 1.0)
|
189
|
-
sexp_processor (4.7.0)
|
190
|
-
shoulda (3.5.0)
|
191
|
-
shoulda-context (~> 1.0, >= 1.0.1)
|
192
|
-
shoulda-matchers (>= 1.4.1, < 3.0)
|
193
|
-
shoulda-context (1.2.1)
|
194
|
-
shoulda-matchers (2.8.0)
|
195
|
-
activesupport (>= 3.0.0)
|
196
|
-
sidekiq (5.0.3)
|
101
|
+
rspec-support (~> 3.6.0)
|
102
|
+
rspec-support (3.6.0)
|
103
|
+
ruby-kafka (0.4.0)
|
104
|
+
gssapi (>= 1.2.0)
|
105
|
+
sidekiq (5.0.4)
|
197
106
|
concurrent-ruby (~> 1.0)
|
198
107
|
connection_pool (~> 2.2, >= 2.2.0)
|
199
108
|
rack-protection (>= 1.5.0)
|
200
109
|
redis (~> 3.3, >= 3.3.3)
|
201
|
-
simplecov (0.
|
110
|
+
simplecov (0.15.0)
|
202
111
|
docile (~> 1.1.0)
|
203
112
|
json (>= 1.8, < 3)
|
204
113
|
simplecov-html (~> 0.10.0)
|
205
|
-
simplecov-html (0.10.
|
206
|
-
slop (3.6.0)
|
207
|
-
sysexits (1.2.0)
|
114
|
+
simplecov-html (0.10.2)
|
208
115
|
thor (0.19.4)
|
209
|
-
thread_safe (0.3.
|
210
|
-
|
211
|
-
timecop (0.8.1)
|
116
|
+
thread_safe (0.3.6)
|
117
|
+
timecop (0.9.1)
|
212
118
|
timers (4.1.2)
|
213
119
|
hitimes
|
214
120
|
tzinfo (1.2.3)
|
215
121
|
thread_safe (~> 0.1)
|
216
|
-
|
217
|
-
virtus (1.0.5)
|
218
|
-
axiom-types (~> 0.1)
|
219
|
-
coercible (~> 1.0)
|
220
|
-
descendants_tracker (~> 0.0, >= 0.0.3)
|
221
|
-
equalizer (~> 0.0, >= 0.0.9)
|
222
|
-
waterdrop (0.3.2.4)
|
122
|
+
waterdrop (0.4.0)
|
223
123
|
bundler
|
224
124
|
connection_pool
|
225
125
|
dry-configurable (~> 0.6)
|
226
126
|
null-logger
|
227
127
|
rake
|
228
|
-
ruby-kafka
|
229
|
-
|
230
|
-
activesupport
|
231
|
-
null-logger
|
232
|
-
yard (0.9.5)
|
128
|
+
ruby-kafka (~> 0.4)
|
129
|
+
yajl-ruby (1.3.0)
|
233
130
|
|
234
131
|
PLATFORMS
|
235
132
|
ruby
|
236
133
|
|
237
134
|
DEPENDENCIES
|
238
135
|
bundler (~> 1.2)
|
136
|
+
byebug
|
239
137
|
karafka!
|
240
|
-
|
138
|
+
rspec (>= 3.6)
|
139
|
+
simplecov (>= 0.14)
|
241
140
|
timecop
|
242
141
|
|
243
142
|
BUNDLED WITH
|