waterdrop 0.3.0 → 0.3.2

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
  SHA1:
3
- metadata.gz: 787b506aa11e17d65df6abb198bbd86b750b95a8
4
- data.tar.gz: 248d7a49d44adb5379940b64e7d5fd27b3821557
3
+ metadata.gz: ab65b6b8e98a843a2c27d89bd739cfc3b3d1bce4
4
+ data.tar.gz: e724e7d3cfb190542fd94143ae02535e143181d8
5
5
  SHA512:
6
- metadata.gz: b161ff34041a2471d19fea75d770c3f4e2eb1e5bdccd6ddca10863cc08444846c31aef795a3b69c779e239f1579e823326857ea78ab74d728570af69d0a0c397
7
- data.tar.gz: 1713e4c8d7556c7d66d1ec76a848fcfbd8eb5b38ed7230f1b4518606f30232314a69915bf5bafc3a1bc8c038f267518bc23642e2d60293c810281e567d352845
6
+ metadata.gz: c5f23ebad58c98bc249e538a90f1fc053ff2539a54d27caaff42101b682435152b49ce6948c66755d41f472b83da72f2f71dbb6c508e0fdc42d43bc5cc2d8d80
7
+ data.tar.gz: cf4e30a81f495d65a422989163028db62e65e4f3fc28a5a319d8abc2daf89b0c403eadfa1f3f3f50473397326a0f407bcabbaded4a8fe0f42dc698f96a86e5a6
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.3.1
data/.travis.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.7
4
3
  - 2.2.3
5
4
  - 2.3.0
5
+ - 2.3.1
6
6
  script:
7
7
  - bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # WaterDrop changelog
2
2
 
3
+ ## 0.3.2
4
+ - Removed support for Ruby 2.1.*
5
+ - Ruby 2.3.1 as default
6
+ - Gem dump
7
+
8
+ ## 0.3.1
9
+ - Dev tools update
10
+ - Gem update
11
+ - Specs updates
12
+ - File namming convention fix from waterdrop to water_drop + compatibility file
13
+ - Additional params (partition, etc) that can be passed into producer
14
+
3
15
  ## 0.3.0
4
16
  - Driver change from Poseidon (not maintained) to Ruby-Kafka
5
17
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- waterdrop (0.3.0)
4
+ waterdrop (0.3.2)
5
5
  bundler
6
6
  connection_pool
7
7
  null-logger
@@ -11,39 +11,28 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activemodel (4.2.6)
15
- activesupport (= 4.2.6)
16
- builder (~> 3.1)
17
- activesupport (4.2.6)
14
+ activesupport (5.0.0)
15
+ concurrent-ruby (~> 1.0, >= 1.0.2)
18
16
  i18n (~> 0.7)
19
- json (~> 1.7, >= 1.7.7)
20
17
  minitest (~> 5.1)
21
- thread_safe (~> 0.3, >= 0.3.4)
22
18
  tzinfo (~> 1.1)
23
19
  addressable (2.4.0)
24
- ast (2.2.0)
20
+ ast (2.3.0)
25
21
  axiom-types (0.1.1)
26
22
  descendants_tracker (~> 0.0.4)
27
23
  ice_nine (~> 0.11.0)
28
24
  thread_safe (~> 0.3, >= 0.3.1)
29
- brakeman (3.2.1)
30
- erubis (~> 2.6)
31
- haml (>= 3.0, < 5.0)
32
- highline (>= 1.6.20, < 2.0)
33
- ruby2ruby (~> 2.3.0)
34
- ruby_parser (~> 3.8.1)
35
- safe_yaml (>= 1.0)
36
- sass (~> 3.0)
37
- slim (>= 1.3.6, < 4.0)
38
- terminal-table (~> 1.4)
39
- bson (4.0.4)
40
- builder (3.2.2)
25
+ brakeman (3.3.3)
26
+ bundler-audit (0.5.0)
27
+ bundler (~> 1.2)
28
+ thor (~> 0.18)
41
29
  codeclimate-engine-rb (0.3.1)
42
30
  virtus (~> 1.0)
43
31
  coderay (1.1.1)
44
32
  coercible (1.0.0)
45
33
  descendants_tracker (~> 0.0.1)
46
- colorize (0.7.7)
34
+ colorize (0.8.1)
35
+ concurrent-ruby (1.0.2)
47
36
  connection_pool (2.2.0)
48
37
  descendants_tracker (0.0.4)
49
38
  thread_safe (~> 0.3, >= 0.3.1)
@@ -51,105 +40,94 @@ GEM
51
40
  docile (1.1.5)
52
41
  equalizer (0.0.11)
53
42
  erubis (2.7.0)
54
- faker (1.6.3)
43
+ faker (1.6.6)
55
44
  i18n (~> 0.5)
56
- flay (2.7.0)
45
+ flay (2.8.0)
57
46
  erubis (~> 2.7.0)
47
+ path_expander (~> 1.0)
58
48
  ruby_parser (~> 3.0)
59
49
  sexp_processor (~> 4.0)
60
- flog (4.3.2)
50
+ flog (4.4.0)
51
+ path_expander (~> 1.0)
61
52
  ruby_parser (~> 3.1, > 3.1.0)
62
53
  sexp_processor (~> 4.4)
63
54
  haml (4.0.7)
64
55
  tilt
65
- haml-lint (0.13.0)
56
+ haml_lint (0.18.1)
66
57
  haml (~> 4.0)
67
- rubocop (>= 0.25.0)
58
+ rake (>= 10, < 12)
59
+ rubocop (>= 0.36.0)
68
60
  sysexits (~> 1.1)
69
- highline (1.7.8)
70
61
  i18n (0.7.0)
71
62
  ice_nine (0.11.2)
72
- json (1.8.3)
63
+ json (2.0.2)
73
64
  launchy (2.4.3)
74
65
  addressable (~> 2.3)
75
66
  method_source (0.8.2)
76
- minitest (5.8.4)
77
- mongo (2.2.4)
78
- bson (~> 4.0)
79
- mongoid (5.1.1)
80
- activemodel (~> 4.0)
81
- mongo (~> 2.1)
82
- origin (~> 2.2)
83
- tzinfo (>= 0.3.37)
84
- mongoid-rspec (3.0.0)
85
- mongoid (~> 5.0)
86
- rake
87
- rspec (~> 3.3)
67
+ minitest (5.9.0)
88
68
  null-logger (0.1.1)
89
- origin (2.2.0)
90
- parser (2.3.0.6)
69
+ parser (2.3.1.2)
91
70
  ast (~> 2.2)
92
- polishgeeks-dev-tools (1.2.1)
71
+ path_expander (1.0.0)
72
+ polishgeeks-dev-tools (1.3.2)
93
73
  brakeman
74
+ bundler-audit
94
75
  faker
95
- haml-lint
96
- mongoid-rspec
76
+ haml_lint
97
77
  pry
98
78
  rspec
99
79
  rubocop
80
+ rubocop-rspec
100
81
  rubycritic
101
82
  shoulda
102
83
  simplecov
103
84
  timecop
104
85
  yard
105
86
  powerpack (0.1.1)
106
- pry (0.10.3)
87
+ pry (0.10.4)
107
88
  coderay (~> 1.1.0)
108
89
  method_source (~> 0.8.1)
109
90
  slop (~> 3.4)
110
91
  rainbow (2.1.0)
111
- rake (11.1.1)
112
- reek (3.11)
92
+ rake (11.2.2)
93
+ reek (4.1.0)
113
94
  codeclimate-engine-rb (~> 0.3.1)
114
- parser (~> 2.3, >= 2.3.0.6)
95
+ parser (~> 2.3.1, >= 2.3.1.2)
115
96
  rainbow (~> 2.0)
116
- rspec (3.4.0)
117
- rspec-core (~> 3.4.0)
118
- rspec-expectations (~> 3.4.0)
119
- rspec-mocks (~> 3.4.0)
120
- rspec-core (3.4.4)
121
- rspec-support (~> 3.4.0)
122
- rspec-expectations (3.4.0)
97
+ rspec (3.5.0)
98
+ rspec-core (~> 3.5.0)
99
+ rspec-expectations (~> 3.5.0)
100
+ rspec-mocks (~> 3.5.0)
101
+ rspec-core (3.5.1)
102
+ rspec-support (~> 3.5.0)
103
+ rspec-expectations (3.5.0)
123
104
  diff-lcs (>= 1.2.0, < 2.0)
124
- rspec-support (~> 3.4.0)
125
- rspec-mocks (3.4.1)
105
+ rspec-support (~> 3.5.0)
106
+ rspec-mocks (3.5.0)
126
107
  diff-lcs (>= 1.2.0, < 2.0)
127
- rspec-support (~> 3.4.0)
128
- rspec-support (3.4.1)
129
- rubocop (0.38.0)
130
- parser (>= 2.3.0.6, < 3.0)
108
+ rspec-support (~> 3.5.0)
109
+ rspec-support (3.5.0)
110
+ rubocop (0.42.0)
111
+ parser (>= 2.3.1.1, < 3.0)
131
112
  powerpack (~> 0.1)
132
113
  rainbow (>= 1.99.1, < 3.0)
133
114
  ruby-progressbar (~> 1.7)
134
115
  unicode-display_width (~> 1.0, >= 1.0.1)
135
- ruby-kafka (0.3.2)
136
- ruby-progressbar (1.7.5)
137
- ruby2ruby (2.3.0)
138
- ruby_parser (~> 3.1)
139
- sexp_processor (~> 4.0)
140
- ruby_parser (3.8.1)
116
+ rubocop-rspec (1.5.1)
117
+ rubocop (>= 0.41.2)
118
+ ruby-kafka (0.3.12)
119
+ ruby-progressbar (1.8.1)
120
+ ruby_parser (3.8.2)
141
121
  sexp_processor (~> 4.1)
142
- rubycritic (2.8.0)
122
+ rubycritic (2.9.2)
143
123
  colorize
144
- flay (= 2.7.0)
145
- flog (= 4.3.2)
124
+ flay (= 2.8.0)
125
+ flog (= 4.4.0)
146
126
  launchy (= 2.4.3)
147
- parser (~> 2.3)
148
- reek (= 3.11)
127
+ parser (= 2.3.1.2)
128
+ reek (= 4.1.0)
149
129
  ruby_parser (~> 3.8)
150
130
  virtus (~> 1.0)
151
- safe_yaml (1.0.4)
152
- sass (3.4.21)
153
131
  sexp_processor (4.7.0)
154
132
  shoulda (3.5.0)
155
133
  shoulda-context (~> 1.0, >= 1.0.1)
@@ -157,30 +135,26 @@ GEM
157
135
  shoulda-context (1.2.1)
158
136
  shoulda-matchers (2.8.0)
159
137
  activesupport (>= 3.0.0)
160
- simplecov (0.11.2)
138
+ simplecov (0.12.0)
161
139
  docile (~> 1.1.0)
162
- json (~> 1.8)
140
+ json (>= 1.8, < 3)
163
141
  simplecov-html (~> 0.10.0)
164
142
  simplecov-html (0.10.0)
165
- slim (3.0.6)
166
- temple (~> 0.7.3)
167
- tilt (>= 1.3.3, < 2.1)
168
143
  slop (3.6.0)
169
144
  sysexits (1.2.0)
170
- temple (0.7.6)
171
- terminal-table (1.5.2)
145
+ thor (0.19.1)
172
146
  thread_safe (0.3.5)
173
- tilt (2.0.2)
174
- timecop (0.8.0)
147
+ tilt (2.0.5)
148
+ timecop (0.8.1)
175
149
  tzinfo (1.2.2)
176
150
  thread_safe (~> 0.1)
177
- unicode-display_width (1.0.2)
151
+ unicode-display_width (1.1.0)
178
152
  virtus (1.0.5)
179
153
  axiom-types (~> 0.1)
180
154
  coercible (~> 1.0)
181
155
  descendants_tracker (~> 0.0, >= 0.0.3)
182
156
  equalizer (~> 0.0, >= 0.0.9)
183
- yard (0.8.7.6)
157
+ yard (0.9.5)
184
158
 
185
159
  PLATFORMS
186
160
  ruby
data/Rakefile CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'bundler'
2
- require 'bundler/gem_tasks'
3
2
  require 'rake'
4
3
  require 'polishgeeks-dev-tools'
5
4
 
@@ -8,7 +7,7 @@ PolishGeeks::DevTools.setup do |config|
8
7
  config.haml_lint = false
9
8
  end
10
9
 
11
- desc 'Self check using strike-dev-tools'
10
+ desc 'Self check using polishgeeks-dev-tools'
12
11
  task :check do
13
12
  PolishGeeks::DevTools::Runner.new.execute(
14
13
  PolishGeeks::DevTools::Logger.new
data/lib/water_drop.rb ADDED
@@ -0,0 +1,47 @@
1
+ # External components
2
+ %w(
3
+ rake
4
+ rubygems
5
+ bundler
6
+ logger
7
+ pathname
8
+ json
9
+ kafka
10
+ forwardable
11
+ connection_pool
12
+ null_logger
13
+ ).each { |lib| require lib }
14
+
15
+ # Internal components
16
+ base_path = File.dirname(__FILE__) + '/water_drop'
17
+
18
+ %w(
19
+ version
20
+ producer_proxy
21
+ pool
22
+ config
23
+ message
24
+ ).each { |lib| require "#{base_path}/#{lib}" }
25
+
26
+ # WaterDrop library
27
+ module WaterDrop
28
+ class << self
29
+ attr_writer :logger
30
+
31
+ # @return [Logger] logger that we want to use
32
+ def logger
33
+ @logger ||= NullLogger.new
34
+ end
35
+
36
+ # Sets up the whole configuration
37
+ # @param [Block] block configuration block
38
+ def setup(&block)
39
+ Config.setup(&block)
40
+ end
41
+
42
+ # @return [WaterDrop::Config] config instance
43
+ def config
44
+ Config.config
45
+ end
46
+ end
47
+ end
@@ -1,17 +1,19 @@
1
1
  module WaterDrop
2
2
  # Message class which encapsulate single Kafka message logic and its delivery
3
3
  class Message
4
- attr_reader :topic, :message
4
+ attr_reader :topic, :message, :options
5
5
 
6
6
  # @param topic [String, Symbol] a topic to which we want to send a message
7
7
  # @param message [Object] any object that can be serialized to a JSON string or
8
8
  # that can be casted to a string
9
+ # @param options [Hash] (optional) additonal options to pass to the Kafka producer
9
10
  # @return [WaterDrop::Message] WaterDrop message instance
10
11
  # @example Creating a new message
11
12
  # WaterDrop::Message.new(topic, message)
12
- def initialize(topic, message)
13
+ def initialize(topic, message, options = {})
13
14
  @topic = topic.to_s
14
15
  @message = message
16
+ @options = options
15
17
  end
16
18
 
17
19
  # Sents a current message to Kafka
@@ -30,7 +30,9 @@ module WaterDrop
30
30
  # ProducerProxy.new.send_message(WaterDrop::Message.new(topic, message))
31
31
  def send_message(message)
32
32
  touch
33
- producer.produce(message.message, topic: message.topic)
33
+ producer.produce(message.message, {
34
+ topic: message.topic
35
+ }.merge(message.options))
34
36
  producer.deliver_messages
35
37
  rescue StandardError => e
36
38
  reload!
@@ -2,5 +2,5 @@
2
2
  # WaterDrop library
3
3
  module WaterDrop
4
4
  # Current WaterDrop version
5
- VERSION = '0.3.0'.freeze
5
+ VERSION = '0.3.2'
6
6
  end
data/lib/waterdrop.rb CHANGED
@@ -1,47 +1,2 @@
1
- # External components
2
- %w(
3
- rake
4
- rubygems
5
- bundler
6
- logger
7
- pathname
8
- json
9
- kafka
10
- forwardable
11
- connection_pool
12
- null_logger
13
- ).each { |lib| require lib }
14
-
15
- # Internal components
16
- base_path = File.dirname(__FILE__) + '/water_drop'
17
-
18
- %w(
19
- version
20
- producer_proxy
21
- pool
22
- config
23
- message
24
- ).each { |lib| require "#{base_path}/#{lib}" }
25
-
26
- # WaterDrop library
27
- module WaterDrop
28
- class << self
29
- attr_writer :logger
30
-
31
- # @return [Logger] logger that we want to use
32
- def logger
33
- @logger ||= NullLogger.new
34
- end
35
-
36
- # Sets up the whole configuration
37
- # @param [Block] block configuration block
38
- def setup(&block)
39
- Config.setup(&block)
40
- end
41
-
42
- # @return [WaterDrop::Config] config instance
43
- def config
44
- Config.config
45
- end
46
- end
47
- end
1
+ # This file is used as a compatibility step
2
+ require 'water_drop'
data/waterdrop.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.add_dependency 'ruby-kafka', '>= 0'
20
20
  spec.add_dependency 'connection_pool', '>= 0'
21
21
  spec.add_dependency 'null-logger'
22
+ spec.required_ruby_version = '>= 2.2.0'
22
23
 
23
24
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
24
25
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waterdrop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-03-21 00:00:00.000000000 Z
12
+ date: 2016-07-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -99,6 +99,7 @@ files:
99
99
  - MIT-LICENCE
100
100
  - README.md
101
101
  - Rakefile
102
+ - lib/water_drop.rb
102
103
  - lib/water_drop/config.rb
103
104
  - lib/water_drop/message.rb
104
105
  - lib/water_drop/pool.rb
@@ -118,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
119
  requirements:
119
120
  - - ">="
120
121
  - !ruby/object:Gem::Version
121
- version: '0'
122
+ version: 2.2.0
122
123
  required_rubygems_version: !ruby/object:Gem::Requirement
123
124
  requirements:
124
125
  - - ">="
@@ -131,4 +132,3 @@ signing_key:
131
132
  specification_version: 4
132
133
  summary: Kafka messaging made easy!
133
134
  test_files: []
134
- has_rdoc: