deimos-ruby 1.12.4 → 1.13.0
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 +4 -4
- data/.gemfiles/avro_turf-0.gemfile +3 -0
- data/.gemfiles/avro_turf-1.gemfile +3 -0
- data/.github/workflows/ci.yml +49 -0
- data/.gitignore +2 -1
- data/CHANGELOG.md +16 -0
- data/README.md +3 -3
- data/bin/console +15 -0
- data/deimos-ruby.gemspec +1 -1
- data/docs/CONFIGURATION.md +15 -1
- data/lib/deimos/config/configuration.rb +62 -2
- data/lib/deimos/config/phobos_config.rb +24 -0
- data/lib/deimos/metrics/datadog.rb +1 -1
- data/lib/deimos/schema_backends/avro_schema_registry.rb +4 -1
- data/lib/deimos/version.rb +1 -1
- data/lib/generators/deimos/schema_class_generator.rb +27 -1
- data/spec/active_record_batch_consumer_spec.rb +1 -1
- data/spec/active_record_consumer_spec.rb +6 -6
- data/spec/active_record_producer_spec.rb +1 -1
- data/spec/config/configuration_spec.rb +25 -1
- data/spec/consumer_spec.rb +17 -17
- data/spec/generators/schema_class/my_schema_with_complex_types_spec.rb +3 -2
- data/spec/generators/schema_class_generator_spec.rb +2 -2
- data/spec/producer_spec.rb +24 -24
- data/spec/schema_backends/avro_base_shared.rb +2 -2
- data/spec/schema_classes/my_schema_key.rb +2 -2
- data/spec/schema_classes/my_schema_with_complex_types.rb +34 -2
- data/spec/schemas/com/my-namespace/{MySchemaCompound-key.avsc → MySchemaCompound_key.avsc} +1 -1
- data/spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc +11 -0
- data/spec/schemas/com/my-namespace/{MySchema-key.avsc → MySchema_key.avsc} +1 -1
- data/spec/utils/inline_consumer_spec.rb +2 -2
- metadata +19 -9
- data/Gemfile.lock +0 -292
@@ -81,7 +81,7 @@ RSpec.describe Deimos::Generators::SchemaClassGenerator do
|
|
81
81
|
topic 'MyTopic'
|
82
82
|
schema 'MySchema'
|
83
83
|
namespace 'com.my-namespace'
|
84
|
-
key_config schema: '
|
84
|
+
key_config schema: 'MySchema_key'
|
85
85
|
end
|
86
86
|
end
|
87
87
|
described_class.start
|
@@ -143,7 +143,7 @@ RSpec.describe Deimos::Generators::SchemaClassGenerator do
|
|
143
143
|
topic 'MyTopic'
|
144
144
|
schema 'MySchema'
|
145
145
|
namespace 'com.my-namespace'
|
146
|
-
key_config schema: '
|
146
|
+
key_config schema: 'MySchema_key'
|
147
147
|
end
|
148
148
|
|
149
149
|
producer do
|
data/spec/producer_spec.rb
CHANGED
@@ -53,7 +53,7 @@ module ProducerTest
|
|
53
53
|
schema 'MySchema'
|
54
54
|
namespace 'com.my-namespace'
|
55
55
|
topic 'my-topic2'
|
56
|
-
key_config schema: '
|
56
|
+
key_config schema: 'MySchema_key'
|
57
57
|
end
|
58
58
|
stub_const('MySchemaProducer', producer_class)
|
59
59
|
|
@@ -79,7 +79,7 @@ module ProducerTest
|
|
79
79
|
expect(event.payload[:payloads]).to eq([{ 'invalid' => 'key' }])
|
80
80
|
end
|
81
81
|
expect(MyProducer.encoder).to receive(:validate).and_raise('OH NOES')
|
82
|
-
expect { MyProducer.publish('invalid' => 'key', :payload_key => 'key') }.
|
82
|
+
expect { MyProducer.publish({'invalid' => 'key', :payload_key => 'key'}) }.
|
83
83
|
to raise_error('OH NOES')
|
84
84
|
Deimos.unsubscribe(subscriber)
|
85
85
|
end
|
@@ -294,7 +294,7 @@ module ProducerTest
|
|
294
294
|
|
295
295
|
it 'should properly encode and coerce values with a nested record' do
|
296
296
|
expect(MyNestedSchemaProducer.encoder).to receive(:encode_key).with('test_id', 'foo', topic: 'my-topic-key')
|
297
|
-
MyNestedSchemaProducer.publish(
|
297
|
+
MyNestedSchemaProducer.publish({
|
298
298
|
'test_id' => 'foo',
|
299
299
|
'test_float' => BigDecimal('123.456'),
|
300
300
|
'test_array' => ['1'],
|
@@ -305,7 +305,7 @@ module ProducerTest
|
|
305
305
|
'some_optional_int' => nil
|
306
306
|
},
|
307
307
|
'some_optional_record' => nil
|
308
|
-
|
308
|
+
})
|
309
309
|
expect(MyNestedSchemaProducer.topic).to have_sent(
|
310
310
|
'test_id' => 'foo',
|
311
311
|
'test_float' => 123.456,
|
@@ -504,23 +504,23 @@ module ProducerTest
|
|
504
504
|
it 'should disable globally' do
|
505
505
|
Deimos.disable_producers do
|
506
506
|
Deimos.disable_producers do # test nested
|
507
|
-
MyProducer.publish(
|
507
|
+
MyProducer.publish({
|
508
508
|
'test_id' => 'foo',
|
509
509
|
'some_int' => 123,
|
510
510
|
:payload_key => '123'
|
511
|
-
|
512
|
-
MyProducerWithID.publish(
|
511
|
+
})
|
512
|
+
MyProducerWithID.publish({
|
513
513
|
'test_id' => 'foo', 'some_int' => 123
|
514
|
-
|
514
|
+
})
|
515
515
|
expect('my-topic').not_to have_sent(anything)
|
516
516
|
expect(Deimos).to be_producers_disabled
|
517
517
|
expect(Deimos).to be_producers_disabled([MyProducer])
|
518
518
|
end
|
519
519
|
end
|
520
520
|
|
521
|
-
MyProducerWithID.publish(
|
521
|
+
MyProducerWithID.publish({
|
522
522
|
'test_id' => 'foo', 'some_int' => 123, :payload_key => 123
|
523
|
-
|
523
|
+
})
|
524
524
|
expect('my-topic').
|
525
525
|
to have_sent('test_id' => 'foo', 'some_int' => 123,
|
526
526
|
'message_id' => anything, 'timestamp' => anything)
|
@@ -531,15 +531,15 @@ module ProducerTest
|
|
531
531
|
it 'should disable a single producer' do
|
532
532
|
Deimos.disable_producers(MyProducer) do # test nested
|
533
533
|
Deimos.disable_producers(MyProducer) do
|
534
|
-
MySchemaProducer.publish(
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
MyProducer.publish(
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
534
|
+
MySchemaProducer.publish({
|
535
|
+
'test_id' => 'foo', 'some_int' => 123,
|
536
|
+
:payload_key => { 'test_id' => 'foo_key' }
|
537
|
+
})
|
538
|
+
MyProducer.publish({
|
539
|
+
'test_id' => 'foo',
|
540
|
+
'some_int' => 123,
|
541
|
+
:payload_key => '123'
|
542
|
+
})
|
543
543
|
expect('my-topic').not_to have_sent(anything)
|
544
544
|
expect('my-topic2').to have_sent('test_id' => 'foo', 'some_int' => 123)
|
545
545
|
expect(Deimos).not_to be_producers_disabled
|
@@ -550,11 +550,11 @@ module ProducerTest
|
|
550
550
|
expect(Deimos).not_to be_producers_disabled
|
551
551
|
expect(Deimos).not_to be_producers_disabled(MyProducer)
|
552
552
|
expect(Deimos).not_to be_producers_disabled(MySchemaProducer)
|
553
|
-
MyProducer.publish(
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
553
|
+
MyProducer.publish({
|
554
|
+
'test_id' => 'foo',
|
555
|
+
'some_int' => 123,
|
556
|
+
:payload_key => '123'
|
557
|
+
})
|
558
558
|
expect('my-topic').
|
559
559
|
to have_sent('test_id' => 'foo', 'some_int' => 123)
|
560
560
|
end
|
@@ -87,13 +87,13 @@ RSpec.shared_examples_for('an Avro backend') do
|
|
87
87
|
describe('#validate') do
|
88
88
|
it 'should pass valid schemas' do
|
89
89
|
expect {
|
90
|
-
backend.validate({ 'test_id' => 'hi', 'some_int' => 4 },
|
90
|
+
backend.validate({ 'test_id' => 'hi', 'some_int' => 4 }, schema: 'MySchema')
|
91
91
|
}.not_to raise_error
|
92
92
|
end
|
93
93
|
|
94
94
|
it 'should fail invalid schemas' do
|
95
95
|
expect {
|
96
|
-
backend.validate({ 'test_id2' => 'hi', 'some_int' => 4 },
|
96
|
+
backend.validate({ 'test_id2' => 'hi', 'some_int' => 4 }, schema: 'MySchema')
|
97
97
|
}.to raise_error(Avro::SchemaValidator::ValidationError)
|
98
98
|
end
|
99
99
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# This file is autogenerated by Deimos, Do NOT modify
|
4
4
|
module Schemas
|
5
5
|
### Primary Schema Class ###
|
6
|
-
# Autogenerated Schema for Record at com.my-namespace.
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.MySchema_key
|
7
7
|
class MySchemaKey < Deimos::SchemaClass::Record
|
8
8
|
### Attribute Accessors ###
|
9
9
|
# @param value [String]
|
@@ -17,7 +17,7 @@ module Schemas
|
|
17
17
|
|
18
18
|
# @override
|
19
19
|
def schema
|
20
|
-
'
|
20
|
+
'MySchema_key'
|
21
21
|
end
|
22
22
|
|
23
23
|
# @override
|
@@ -55,6 +55,28 @@ module Schemas
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
+
# Autogenerated Schema for Enum at com.my-namespace.AnotherEnum
|
59
|
+
class AnotherEnum < Deimos::SchemaClass::Enum
|
60
|
+
# @return ['sym3', 'sym4']
|
61
|
+
attr_accessor :another_enum
|
62
|
+
|
63
|
+
# :nodoc:
|
64
|
+
def initialize(another_enum)
|
65
|
+
super
|
66
|
+
self.another_enum = another_enum
|
67
|
+
end
|
68
|
+
|
69
|
+
# @override
|
70
|
+
def symbols
|
71
|
+
%w(sym3 sym4)
|
72
|
+
end
|
73
|
+
|
74
|
+
# @override
|
75
|
+
def to_h
|
76
|
+
@another_enum
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
58
80
|
### Primary Schema Class ###
|
59
81
|
# Autogenerated Schema for Record at com.my-namespace.MySchemaWithComplexTypes
|
60
82
|
class MySchemaWithComplexTypes < Deimos::SchemaClass::Record
|
@@ -69,6 +91,8 @@ module Schemas
|
|
69
91
|
attr_reader :some_record_map
|
70
92
|
# @return [Array<AnEnum>]
|
71
93
|
attr_reader :some_enum_array
|
94
|
+
# @return [nil, AnotherEnum]
|
95
|
+
attr_reader :some_optional_enum
|
72
96
|
|
73
97
|
### Attribute Accessors ###
|
74
98
|
# @param value [String]
|
@@ -116,6 +140,11 @@ module Schemas
|
|
116
140
|
end
|
117
141
|
end
|
118
142
|
|
143
|
+
# @param value [nil, AnotherEnum]
|
144
|
+
def some_optional_enum=(value)
|
145
|
+
@some_optional_enum = AnotherEnum.initialize_from_value(value)
|
146
|
+
end
|
147
|
+
|
119
148
|
# @override
|
120
149
|
def initialize(test_id: nil,
|
121
150
|
test_float: nil,
|
@@ -127,7 +156,8 @@ module Schemas
|
|
127
156
|
some_optional_record: nil,
|
128
157
|
some_record_array: nil,
|
129
158
|
some_record_map: nil,
|
130
|
-
some_enum_array: nil
|
159
|
+
some_enum_array: nil,
|
160
|
+
some_optional_enum: nil)
|
131
161
|
super
|
132
162
|
self.test_id = test_id
|
133
163
|
self.test_float = test_float
|
@@ -140,6 +170,7 @@ module Schemas
|
|
140
170
|
self.some_record_array = some_record_array
|
141
171
|
self.some_record_map = some_record_map
|
142
172
|
self.some_enum_array = some_enum_array
|
173
|
+
self.some_optional_enum = some_optional_enum
|
143
174
|
end
|
144
175
|
|
145
176
|
# @override
|
@@ -165,7 +196,8 @@ module Schemas
|
|
165
196
|
'some_optional_record' => @some_optional_record&.to_h,
|
166
197
|
'some_record_array' => @some_record_array.map { |v| v&.to_h },
|
167
198
|
'some_record_map' => @some_record_map.transform_values { |v| v&.to_h },
|
168
|
-
'some_enum_array' => @some_enum_array.map { |v| v&.to_h }
|
199
|
+
'some_enum_array' => @some_enum_array.map { |v| v&.to_h },
|
200
|
+
'some_optional_enum' => @some_optional_enum&.to_h
|
169
201
|
}
|
170
202
|
end
|
171
203
|
end
|
@@ -17,14 +17,14 @@ describe Deimos::Utils::SeekListener do
|
|
17
17
|
it 'should seek offset' do
|
18
18
|
allow(consumer).to receive(:seek)
|
19
19
|
expect(consumer).to receive(:seek).once
|
20
|
-
seek_listener = described_class.new(
|
20
|
+
seek_listener = described_class.new(handler: handler, group_id: 999, topic: 'test_topic')
|
21
21
|
seek_listener.start_listener
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should retry on errors when seeking offset' do
|
25
25
|
allow(consumer).to receive(:seek).and_raise(StandardError)
|
26
26
|
expect(consumer).to receive(:seek).twice
|
27
|
-
seek_listener = described_class.new(
|
27
|
+
seek_listener = described_class.new(handler: handler, group_id: 999, topic: 'test_topic')
|
28
28
|
seek_listener.start_listener
|
29
29
|
end
|
30
30
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deimos-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Orner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avro_turf
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.11'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '2'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0.11'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: phobos
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -342,11 +348,15 @@ description:
|
|
342
348
|
email:
|
343
349
|
- daniel.orner@wishabi.com
|
344
350
|
executables:
|
351
|
+
- console
|
345
352
|
- deimos
|
346
353
|
extensions: []
|
347
354
|
extra_rdoc_files: []
|
348
355
|
files:
|
349
356
|
- ".circleci/config.yml"
|
357
|
+
- ".gemfiles/avro_turf-0.gemfile"
|
358
|
+
- ".gemfiles/avro_turf-1.gemfile"
|
359
|
+
- ".github/workflows/ci.yml"
|
350
360
|
- ".gitignore"
|
351
361
|
- ".gitmodules"
|
352
362
|
- ".rspec"
|
@@ -357,11 +367,11 @@ files:
|
|
357
367
|
- CODE_OF_CONDUCT.md
|
358
368
|
- Dockerfile
|
359
369
|
- Gemfile
|
360
|
-
- Gemfile.lock
|
361
370
|
- Guardfile
|
362
371
|
- LICENSE.md
|
363
372
|
- README.md
|
364
373
|
- Rakefile
|
374
|
+
- bin/console
|
365
375
|
- bin/deimos
|
366
376
|
- deimos-ruby.gemspec
|
367
377
|
- docker-compose.yml
|
@@ -477,14 +487,14 @@ files:
|
|
477
487
|
- spec/schema_classes/my_schema_with_complex_types.rb
|
478
488
|
- spec/schemas/com/my-namespace/Generated.avsc
|
479
489
|
- spec/schemas/com/my-namespace/MyNestedSchema.avsc
|
480
|
-
- spec/schemas/com/my-namespace/MySchema-key.avsc
|
481
490
|
- spec/schemas/com/my-namespace/MySchema.avsc
|
482
|
-
- spec/schemas/com/my-namespace/
|
491
|
+
- spec/schemas/com/my-namespace/MySchemaCompound_key.avsc
|
483
492
|
- spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
|
484
493
|
- spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc
|
485
494
|
- spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
|
486
495
|
- spec/schemas/com/my-namespace/MySchemaWithId.avsc
|
487
496
|
- spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc
|
497
|
+
- spec/schemas/com/my-namespace/MySchema_key.avsc
|
488
498
|
- spec/schemas/com/my-namespace/Wibble.avsc
|
489
499
|
- spec/schemas/com/my-namespace/Widget.avsc
|
490
500
|
- spec/schemas/com/my-namespace/WidgetTheSecond.avsc
|
@@ -568,14 +578,14 @@ test_files:
|
|
568
578
|
- spec/schema_classes/my_schema_with_complex_types.rb
|
569
579
|
- spec/schemas/com/my-namespace/Generated.avsc
|
570
580
|
- spec/schemas/com/my-namespace/MyNestedSchema.avsc
|
571
|
-
- spec/schemas/com/my-namespace/MySchema-key.avsc
|
572
581
|
- spec/schemas/com/my-namespace/MySchema.avsc
|
573
|
-
- spec/schemas/com/my-namespace/
|
582
|
+
- spec/schemas/com/my-namespace/MySchemaCompound_key.avsc
|
574
583
|
- spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
|
575
584
|
- spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc
|
576
585
|
- spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
|
577
586
|
- spec/schemas/com/my-namespace/MySchemaWithId.avsc
|
578
587
|
- spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc
|
588
|
+
- spec/schemas/com/my-namespace/MySchema_key.avsc
|
579
589
|
- spec/schemas/com/my-namespace/Wibble.avsc
|
580
590
|
- spec/schemas/com/my-namespace/Widget.avsc
|
581
591
|
- spec/schemas/com/my-namespace/WidgetTheSecond.avsc
|
data/Gemfile.lock
DELETED
@@ -1,292 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
deimos-ruby (1.12.3)
|
5
|
-
avro_turf (~> 0.11)
|
6
|
-
fig_tree (~> 0.0.2)
|
7
|
-
phobos (>= 1.9, < 3.0)
|
8
|
-
ruby-kafka (< 2)
|
9
|
-
sigurd (~> 0.0.1)
|
10
|
-
|
11
|
-
GEM
|
12
|
-
remote: https://rubygems.org/
|
13
|
-
specs:
|
14
|
-
actioncable (6.1.3)
|
15
|
-
actionpack (= 6.1.3)
|
16
|
-
activesupport (= 6.1.3)
|
17
|
-
nio4r (~> 2.0)
|
18
|
-
websocket-driver (>= 0.6.1)
|
19
|
-
actionmailbox (6.1.3)
|
20
|
-
actionpack (= 6.1.3)
|
21
|
-
activejob (= 6.1.3)
|
22
|
-
activerecord (= 6.1.3)
|
23
|
-
activestorage (= 6.1.3)
|
24
|
-
activesupport (= 6.1.3)
|
25
|
-
mail (>= 2.7.1)
|
26
|
-
actionmailer (6.1.3)
|
27
|
-
actionpack (= 6.1.3)
|
28
|
-
actionview (= 6.1.3)
|
29
|
-
activejob (= 6.1.3)
|
30
|
-
activesupport (= 6.1.3)
|
31
|
-
mail (~> 2.5, >= 2.5.4)
|
32
|
-
rails-dom-testing (~> 2.0)
|
33
|
-
actionpack (6.1.3)
|
34
|
-
actionview (= 6.1.3)
|
35
|
-
activesupport (= 6.1.3)
|
36
|
-
rack (~> 2.0, >= 2.0.9)
|
37
|
-
rack-test (>= 0.6.3)
|
38
|
-
rails-dom-testing (~> 2.0)
|
39
|
-
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
40
|
-
actiontext (6.1.3)
|
41
|
-
actionpack (= 6.1.3)
|
42
|
-
activerecord (= 6.1.3)
|
43
|
-
activestorage (= 6.1.3)
|
44
|
-
activesupport (= 6.1.3)
|
45
|
-
nokogiri (>= 1.8.5)
|
46
|
-
actionview (6.1.3)
|
47
|
-
activesupport (= 6.1.3)
|
48
|
-
builder (~> 3.1)
|
49
|
-
erubi (~> 1.4)
|
50
|
-
rails-dom-testing (~> 2.0)
|
51
|
-
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
52
|
-
activejob (6.1.3)
|
53
|
-
activesupport (= 6.1.3)
|
54
|
-
globalid (>= 0.3.6)
|
55
|
-
activemodel (6.1.3)
|
56
|
-
activesupport (= 6.1.3)
|
57
|
-
activerecord (6.1.3)
|
58
|
-
activemodel (= 6.1.3)
|
59
|
-
activesupport (= 6.1.3)
|
60
|
-
activerecord-import (1.0.8)
|
61
|
-
activerecord (>= 3.2)
|
62
|
-
activestorage (6.1.3)
|
63
|
-
actionpack (= 6.1.3)
|
64
|
-
activejob (= 6.1.3)
|
65
|
-
activerecord (= 6.1.3)
|
66
|
-
activesupport (= 6.1.3)
|
67
|
-
marcel (~> 0.3.1)
|
68
|
-
mimemagic (~> 0.3.2)
|
69
|
-
activesupport (6.1.3)
|
70
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
71
|
-
i18n (>= 1.6, < 2)
|
72
|
-
minitest (>= 5.1)
|
73
|
-
tzinfo (~> 2.0)
|
74
|
-
zeitwerk (~> 2.3)
|
75
|
-
ast (2.4.2)
|
76
|
-
avro (1.9.2)
|
77
|
-
multi_json
|
78
|
-
avro_turf (0.11.0)
|
79
|
-
avro (>= 1.7.7, < 1.10)
|
80
|
-
excon (~> 0.45)
|
81
|
-
builder (3.2.4)
|
82
|
-
coderay (1.1.3)
|
83
|
-
concurrent-ruby (1.1.8)
|
84
|
-
concurrent-ruby-ext (1.1.8)
|
85
|
-
concurrent-ruby (= 1.1.8)
|
86
|
-
crass (1.0.6)
|
87
|
-
database_cleaner (1.99.0)
|
88
|
-
ddtrace (0.46.0)
|
89
|
-
msgpack
|
90
|
-
diff-lcs (1.4.4)
|
91
|
-
digest-crc (0.6.4)
|
92
|
-
rake (>= 12.0.0, < 14.0.0)
|
93
|
-
dogstatsd-ruby (4.8.3)
|
94
|
-
erubi (1.10.0)
|
95
|
-
excon (0.89.0)
|
96
|
-
exponential-backoff (0.0.4)
|
97
|
-
ffi (1.15.0)
|
98
|
-
fig_tree (0.0.2)
|
99
|
-
activesupport (>= 3.0.0)
|
100
|
-
formatador (0.2.5)
|
101
|
-
globalid (0.4.2)
|
102
|
-
activesupport (>= 4.2.0)
|
103
|
-
guard (2.16.2)
|
104
|
-
formatador (>= 0.2.4)
|
105
|
-
listen (>= 2.7, < 4.0)
|
106
|
-
lumberjack (>= 1.0.12, < 2.0)
|
107
|
-
nenv (~> 0.1)
|
108
|
-
notiffany (~> 0.0)
|
109
|
-
pry (>= 0.9.12)
|
110
|
-
shellany (~> 0.0)
|
111
|
-
thor (>= 0.18.1)
|
112
|
-
guard-compat (1.2.1)
|
113
|
-
guard-rspec (4.7.3)
|
114
|
-
guard (~> 2.1)
|
115
|
-
guard-compat (~> 1.1)
|
116
|
-
rspec (>= 2.99.0, < 4.0)
|
117
|
-
guard-rubocop (1.4.0)
|
118
|
-
guard (~> 2.0)
|
119
|
-
rubocop (< 2.0)
|
120
|
-
i18n (1.8.9)
|
121
|
-
concurrent-ruby (~> 1.0)
|
122
|
-
listen (3.4.1)
|
123
|
-
rb-fsevent (~> 0.10, >= 0.10.3)
|
124
|
-
rb-inotify (~> 0.9, >= 0.9.10)
|
125
|
-
little-plugger (1.1.4)
|
126
|
-
logging (2.3.0)
|
127
|
-
little-plugger (~> 1.1)
|
128
|
-
multi_json (~> 1.14)
|
129
|
-
loofah (2.9.0)
|
130
|
-
crass (~> 1.0.2)
|
131
|
-
nokogiri (>= 1.5.9)
|
132
|
-
lumberjack (1.2.8)
|
133
|
-
mail (2.7.1)
|
134
|
-
mini_mime (>= 0.1.1)
|
135
|
-
marcel (0.3.3)
|
136
|
-
mimemagic (~> 0.3.2)
|
137
|
-
method_source (1.0.0)
|
138
|
-
mimemagic (0.3.10)
|
139
|
-
nokogiri (~> 1)
|
140
|
-
rake
|
141
|
-
mini_mime (1.0.2)
|
142
|
-
mini_portile2 (2.5.1)
|
143
|
-
minitest (5.14.4)
|
144
|
-
msgpack (1.4.2)
|
145
|
-
multi_json (1.15.0)
|
146
|
-
mysql2 (0.5.3)
|
147
|
-
nenv (0.3.0)
|
148
|
-
nio4r (2.5.7)
|
149
|
-
nokogiri (1.11.5)
|
150
|
-
mini_portile2 (~> 2.5.0)
|
151
|
-
racc (~> 1.4)
|
152
|
-
notiffany (0.1.3)
|
153
|
-
nenv (~> 0.1)
|
154
|
-
shellany (~> 0.0)
|
155
|
-
parallel (1.20.1)
|
156
|
-
parser (3.0.1.1)
|
157
|
-
ast (~> 2.4.1)
|
158
|
-
pg (1.2.3)
|
159
|
-
phobos (2.1.0)
|
160
|
-
activesupport (>= 3.0.0)
|
161
|
-
concurrent-ruby (>= 1.0.2)
|
162
|
-
concurrent-ruby-ext (>= 1.0.2)
|
163
|
-
exponential-backoff
|
164
|
-
logging
|
165
|
-
ruby-kafka
|
166
|
-
thor
|
167
|
-
pry (0.14.0)
|
168
|
-
coderay (~> 1.1)
|
169
|
-
method_source (~> 1.0)
|
170
|
-
racc (1.5.2)
|
171
|
-
rack (2.2.3)
|
172
|
-
rack-test (1.1.0)
|
173
|
-
rack (>= 1.0, < 3)
|
174
|
-
rails (6.1.3)
|
175
|
-
actioncable (= 6.1.3)
|
176
|
-
actionmailbox (= 6.1.3)
|
177
|
-
actionmailer (= 6.1.3)
|
178
|
-
actionpack (= 6.1.3)
|
179
|
-
actiontext (= 6.1.3)
|
180
|
-
actionview (= 6.1.3)
|
181
|
-
activejob (= 6.1.3)
|
182
|
-
activemodel (= 6.1.3)
|
183
|
-
activerecord (= 6.1.3)
|
184
|
-
activestorage (= 6.1.3)
|
185
|
-
activesupport (= 6.1.3)
|
186
|
-
bundler (>= 1.15.0)
|
187
|
-
railties (= 6.1.3)
|
188
|
-
sprockets-rails (>= 2.0.0)
|
189
|
-
rails-dom-testing (2.0.3)
|
190
|
-
activesupport (>= 4.2.0)
|
191
|
-
nokogiri (>= 1.6)
|
192
|
-
rails-html-sanitizer (1.3.0)
|
193
|
-
loofah (~> 2.3)
|
194
|
-
railties (6.1.3)
|
195
|
-
actionpack (= 6.1.3)
|
196
|
-
activesupport (= 6.1.3)
|
197
|
-
method_source
|
198
|
-
rake (>= 0.8.7)
|
199
|
-
thor (~> 1.0)
|
200
|
-
rainbow (3.0.0)
|
201
|
-
rake (13.0.3)
|
202
|
-
rb-fsevent (0.10.4)
|
203
|
-
rb-inotify (0.10.1)
|
204
|
-
ffi (~> 1.0)
|
205
|
-
regexp_parser (2.1.1)
|
206
|
-
rexml (3.2.5)
|
207
|
-
rspec (3.10.0)
|
208
|
-
rspec-core (~> 3.10.0)
|
209
|
-
rspec-expectations (~> 3.10.0)
|
210
|
-
rspec-mocks (~> 3.10.0)
|
211
|
-
rspec-core (3.10.1)
|
212
|
-
rspec-support (~> 3.10.0)
|
213
|
-
rspec-expectations (3.10.1)
|
214
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
215
|
-
rspec-support (~> 3.10.0)
|
216
|
-
rspec-mocks (3.10.2)
|
217
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
218
|
-
rspec-support (~> 3.10.0)
|
219
|
-
rspec-rails (4.1.1)
|
220
|
-
actionpack (>= 4.2)
|
221
|
-
activesupport (>= 4.2)
|
222
|
-
railties (>= 4.2)
|
223
|
-
rspec-core (~> 3.10)
|
224
|
-
rspec-expectations (~> 3.10)
|
225
|
-
rspec-mocks (~> 3.10)
|
226
|
-
rspec-support (~> 3.10)
|
227
|
-
rspec-support (3.10.2)
|
228
|
-
rspec_junit_formatter (0.4.1)
|
229
|
-
rspec-core (>= 2, < 4, != 2.12.0)
|
230
|
-
rubocop (0.89.0)
|
231
|
-
parallel (~> 1.10)
|
232
|
-
parser (>= 2.7.1.1)
|
233
|
-
rainbow (>= 2.2.2, < 4.0)
|
234
|
-
regexp_parser (>= 1.7)
|
235
|
-
rexml
|
236
|
-
rubocop-ast (>= 0.1.0, < 1.0)
|
237
|
-
ruby-progressbar (~> 1.7)
|
238
|
-
unicode-display_width (>= 1.4.0, < 2.0)
|
239
|
-
rubocop-ast (0.8.0)
|
240
|
-
parser (>= 2.7.1.5)
|
241
|
-
rubocop-rspec (1.42.0)
|
242
|
-
rubocop (>= 0.87.0)
|
243
|
-
ruby-kafka (1.4.0)
|
244
|
-
digest-crc
|
245
|
-
ruby-progressbar (1.11.0)
|
246
|
-
shellany (0.0.1)
|
247
|
-
sigurd (0.0.3)
|
248
|
-
concurrent-ruby (~> 1)
|
249
|
-
exponential-backoff
|
250
|
-
sprockets (4.0.2)
|
251
|
-
concurrent-ruby (~> 1.0)
|
252
|
-
rack (> 1, < 3)
|
253
|
-
sprockets-rails (3.2.2)
|
254
|
-
actionpack (>= 4.0)
|
255
|
-
activesupport (>= 4.0)
|
256
|
-
sprockets (>= 3.0.0)
|
257
|
-
sqlite3 (1.4.2)
|
258
|
-
thor (1.1.0)
|
259
|
-
tzinfo (2.0.4)
|
260
|
-
concurrent-ruby (~> 1.0)
|
261
|
-
unicode-display_width (1.7.0)
|
262
|
-
websocket-driver (0.7.3)
|
263
|
-
websocket-extensions (>= 0.1.0)
|
264
|
-
websocket-extensions (0.1.5)
|
265
|
-
zeitwerk (2.4.2)
|
266
|
-
|
267
|
-
PLATFORMS
|
268
|
-
ruby
|
269
|
-
|
270
|
-
DEPENDENCIES
|
271
|
-
activerecord-import
|
272
|
-
avro (~> 1.9)
|
273
|
-
database_cleaner (~> 1.7)
|
274
|
-
ddtrace (~> 0.11)
|
275
|
-
deimos-ruby!
|
276
|
-
dogstatsd-ruby (~> 4.2)
|
277
|
-
guard (~> 2)
|
278
|
-
guard-rspec (~> 4)
|
279
|
-
guard-rubocop (~> 1)
|
280
|
-
mysql2 (~> 0.5)
|
281
|
-
pg (~> 1.1)
|
282
|
-
rails (~> 6)
|
283
|
-
rake (~> 13)
|
284
|
-
rspec (~> 3)
|
285
|
-
rspec-rails (~> 4)
|
286
|
-
rspec_junit_formatter (~> 0.3)
|
287
|
-
rubocop (= 0.89.0)
|
288
|
-
rubocop-rspec (= 1.42.0)
|
289
|
-
sqlite3 (~> 1.3)
|
290
|
-
|
291
|
-
BUNDLED WITH
|
292
|
-
2.2.17
|