rimless 1.8.0 → 1.10.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
  SHA256:
3
- metadata.gz: a1deea4fa3747418c007acbf6eadb5634b97f3e5fc3ec221a78d6cf4f8c10d42
4
- data.tar.gz: 939c0455cc813c211a2f934ee0cad879d06bc28faef5d03ab5ca7906bf5c015e
3
+ metadata.gz: de979febab99ce6dfef68a6e74f31153431030bdb4f74c95d6a5405ba834390b
4
+ data.tar.gz: b19aabf3263bcef2191635da4a288a4e1260557409a45b0bfb9704dc105e2246
5
5
  SHA512:
6
- metadata.gz: e73bffa03e3c7f5b1635ae1eeb79cc7de8748e841d7d7aa027def3b9ef62b3e068cd04c04349cf498cc55b94d13d5a7538be5c7c599707c72526c72d94a716bd
7
- data.tar.gz: b33dd85d1d5a915483de9b2836f184ad17e4cfb180902b53e41a14ee1283683d8f7838acd51326a68758663ea27bdfc9e419b5a461d40f75758ef035911da776
6
+ metadata.gz: 5423dd559bbad4a9bf8b0a564acbea9521fd340d3af6b2e0eb8eb4680b960b68175bf744428ba07d4cbb3a24f27d508f9d6b653088b19fb96d5cc63796807f0d
7
+ data.tar.gz: c1c760ee3339a7cff79ceb102d1db3ecb472f21b719991d6e15276d1d5fbfb9b1788814c7af593d7d46ad8fb1681cb2a0d91b31871b6351d11fa0b78f7dead64
@@ -18,8 +18,8 @@ jobs:
18
18
  strategy:
19
19
  fail-fast: false
20
20
  matrix:
21
- ruby: ['2.7']
22
- rails: ['5.2', '6.1', '7.1']
21
+ ruby: ['2.7', '3.0']
22
+ rails: ['6.1', '7.1']
23
23
  env:
24
24
  BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
25
25
  steps:
data/.rubocop.yml CHANGED
@@ -13,7 +13,7 @@ AllCops:
13
13
  SuggestExtensions: false
14
14
  DisplayCopNames: true
15
15
  TargetRubyVersion: 2.7
16
- TargetRailsVersion: 5.2
16
+ TargetRailsVersion: 6.1
17
17
  Exclude:
18
18
  - bin/**/*
19
19
  - vendor/**/*
data/Appraisals CHANGED
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'rails-5.2' do
4
- gem 'activesupport', '~> 5.2.0'
5
- gem 'railties', '~> 5.2.0'
6
- end
7
-
8
3
  appraise 'rails-6.1' do
9
4
  gem 'activesupport', '~> 6.1.0'
10
5
  gem 'railties', '~> 6.1.0'
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 1.10.0 (11 January 2025)
6
+
7
+ * Switched to Zeitwerk as autoloader (#46)
8
+
9
+ ### 1.9.0 (3 January 2025)
10
+
11
+ * Raised minimum supported Ruby/Rails version to 2.7/6.1 (#45)
12
+
5
13
  ### 1.8.0 (14 November 2024)
6
14
 
7
15
  * Added support for custom topic names via the `full_name:` keyword argument on
data/Gemfile CHANGED
@@ -11,11 +11,9 @@ gemspec
11
11
  gem 'appraisal', '~> 2.4'
12
12
  gem 'bundler', '~> 2.3'
13
13
  gem 'countless', '~> 1.1'
14
- # TODO: Remove the upper lock when
15
- # https://github.com/thoughtbot/factory_bot/issues/1614 is solved.
16
- gem 'factory_bot', '~> 6.2', '< 6.4.5'
14
+ gem 'factory_bot', '~> 6.2'
17
15
  gem 'guard-rspec', '~> 4.7'
18
- gem 'railties', '>= 5.2'
16
+ gem 'railties', '>= 6.1'
19
17
  gem 'rake', '~> 13.0'
20
18
  gem 'redcarpet', '~> 3.5'
21
19
  gem 'rspec', '~> 3.12'
@@ -1,7 +1,7 @@
1
1
  version: "3"
2
2
  services:
3
3
  kafka:
4
- image: hausgold/kafka:3.7
4
+ image: hausgold/kafka:3.9
5
5
  network_mode: bridge
6
6
  environment:
7
7
  MDNS_HOSTNAME: kafka.playground.local
@@ -20,7 +20,7 @@ services:
20
20
  hard: 100000
21
21
 
22
22
  schema-registry:
23
- image: hausgold/schema-registry:7.6
23
+ image: hausgold/schema-registry:7.8
24
24
  network_mode: bridge
25
25
  environment:
26
26
  MDNS_HOSTNAME: schema-registry.playground.local
@@ -5,7 +5,7 @@ source "https://rubygems.org"
5
5
  gem "appraisal", "~> 2.4"
6
6
  gem "bundler", "~> 2.3"
7
7
  gem "countless", "~> 1.1"
8
- gem "factory_bot", "~> 6.2", "< 6.4.5"
8
+ gem "factory_bot", "~> 6.2"
9
9
  gem "guard-rspec", "~> 4.7"
10
10
  gem "railties", "~> 6.1.0"
11
11
  gem "rake", "~> 13.0"
@@ -5,7 +5,7 @@ source "https://rubygems.org"
5
5
  gem "appraisal", "~> 2.4"
6
6
  gem "bundler", "~> 2.3"
7
7
  gem "countless", "~> 1.1"
8
- gem "factory_bot", "~> 6.2", "< 6.4.5"
8
+ gem "factory_bot", "~> 6.2"
9
9
  gem "guard-rspec", "~> 4.7"
10
10
  gem "railties", "~> 7.1.0"
11
11
  gem "rake", "~> 13.0"
@@ -3,7 +3,7 @@
3
3
  # The gem version details.
4
4
  module Rimless
5
5
  # The version of the +rimless+ gem
6
- VERSION = '1.8.0'
6
+ VERSION = '1.10.0'
7
7
 
8
8
  class << self
9
9
  # Returns the version of gem as a string.
data/lib/rimless.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'zeitwerk'
3
4
  require 'active_support'
4
5
  require 'active_support/concern'
5
6
  require 'active_support/configurable'
@@ -22,28 +23,26 @@ module Rimless
22
23
  # Configure the relative gem code base location
23
24
  root_path = Pathname.new("#{__dir__}/rimless")
24
25
 
25
- # Top level elements
26
- autoload :Configuration, 'rimless/configuration'
27
- autoload :ConfigurationHandling, 'rimless/configuration_handling'
28
- autoload :AvroHelpers, 'rimless/avro_helpers'
29
- autoload :AvroUtils, 'rimless/avro_utils'
30
- autoload :KafkaHelpers, 'rimless/kafka_helpers'
31
- autoload :Dependencies, 'rimless/dependencies'
32
- autoload :BaseConsumer, 'rimless/base_consumer'
33
- autoload :Consumer, 'rimless/consumer'
34
- autoload :ConsumerJob, 'rimless/consumer_job'
35
-
36
- # All Karafka-framework related components
37
- module Karafka
38
- autoload :Base64Interchanger, 'rimless/karafka/base64_interchanger'
39
- autoload :PassthroughMapper, 'rimless/karafka/passthrough_mapper'
40
- autoload :AvroDeserializer, 'rimless/karafka/avro_deserializer'
41
- end
26
+ # Setup a Zeitwerk autoloader instance and configure it
27
+ loader = Zeitwerk::Loader.for_gem
28
+
29
+ # Do not auto load some parts of the gem
30
+ loader.ignore(root_path.join('compatibility*'))
31
+ loader.ignore(root_path.join('initializers*'))
32
+ loader.ignore(root_path.join('tasks*'))
33
+ loader.ignore(root_path.join('railtie.rb'))
34
+ loader.ignore(root_path.join('rspec*'))
35
+
36
+ # Finish the auto loader configuration
37
+ loader.setup
42
38
 
43
39
  # Load standalone code
44
40
  require 'rimless/version'
45
41
  require 'rimless/railtie' if defined? Rails
46
42
 
43
+ # Load all initializers of the gem
44
+ Dir[root_path.join('initializers/**/*.rb')].sort.each { |path| require path }
45
+
47
46
  # Include top-level features
48
47
  include Rimless::ConfigurationHandling
49
48
  include Rimless::AvroHelpers
@@ -51,6 +50,6 @@ module Rimless
51
50
  include Rimless::Dependencies
52
51
  include Rimless::Consumer
53
52
 
54
- # Load all initializers of the gem
55
- Dir[root_path.join('initializers/**/*.rb')].sort.each { |path| require path }
53
+ # Make sure to eager load all SDK constants
54
+ loader.eager_load
56
55
  end
data/rimless.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.required_ruby_version = '>= 2.7'
37
37
 
38
- spec.add_dependency 'activesupport', '>= 5.2'
38
+ spec.add_dependency 'activesupport', '>= 6.1'
39
39
  spec.add_dependency 'avro_turf', '~> 0.11.0'
40
40
  spec.add_dependency 'karafka', '~> 1.4', '< 1.4.15'
41
41
  spec.add_dependency 'karafka-sidekiq-backend', '~> 1.4'
@@ -45,4 +45,5 @@ Gem::Specification.new do |spec|
45
45
  spec.add_dependency 'sparsify', '~> 1.1'
46
46
  spec.add_dependency 'waterdrop', '~> 1.4'
47
47
  spec.add_dependency 'webmock', '~> 3.18'
48
+ spec.add_dependency 'zeitwerk', '~> 2.6'
48
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rimless
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-14 00:00:00.000000000 Z
11
+ date: 2025-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.2'
19
+ version: '6.1'
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: '5.2'
26
+ version: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avro_turf
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -156,6 +156,20 @@ dependencies:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
158
  version: '3.18'
159
+ - !ruby/object:Gem::Dependency
160
+ name: zeitwerk
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '2.6'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '2.6'
159
173
  description: A bundle of opinionated Apache Kafka / Confluent Schema Registry helpers.
160
174
  email:
161
175
  - hermann.mayer92@gmail.com
@@ -214,7 +228,6 @@ files:
214
228
  - doc/kafka-playground/docker-compose.yml
215
229
  - doc/kafka-playground/examples/rimless-produce
216
230
  - docker-compose.yml
217
- - gemfiles/rails_5.2.gemfile
218
231
  - gemfiles/rails_6.1.gemfile
219
232
  - gemfiles/rails_7.1.gemfile
220
233
  - lib/rimless.rb
@@ -1,24 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.3"
7
- gem "countless", "~> 1.1"
8
- gem "factory_bot", "~> 6.2", "< 6.4.5"
9
- gem "guard-rspec", "~> 4.7"
10
- gem "railties", "~> 5.2.0"
11
- gem "rake", "~> 13.0"
12
- gem "redcarpet", "~> 3.5"
13
- gem "rspec", "~> 3.12"
14
- gem "rubocop", "~> 1.28"
15
- gem "rubocop-rails", "~> 2.14"
16
- gem "rubocop-rspec", "~> 2.10"
17
- gem "simplecov", ">= 0.22"
18
- gem "timecop", ">= 0.9.6"
19
- gem "vcr", "~> 6.0"
20
- gem "yard", ">= 0.9.28"
21
- gem "yard-activesupport-concern", ">= 0.0.1"
22
- gem "activesupport", "~> 5.2.0"
23
-
24
- gemspec path: "../"