rimless 1.13.2 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c250689ff71fd837bec4970fa6c09f2f0c80ab02ca3367c9ebd92a96df5eabbf
4
- data.tar.gz: 1c04a71b3109a2ec76c13f56de503ca65d08e347c33ef63d060a564af77a96df
3
+ metadata.gz: d60741a8100159c3924d5e27ccd2d8b5c6f6fc8594bd1b26e9ee722073bf8b53
4
+ data.tar.gz: 651bb8b591272452e2c6a044008d31b7885bbac63af472a2abca9976c069716e
5
5
  SHA512:
6
- metadata.gz: b879991c51a9d1044735c6e296778eb4b3e7c9f9e2d72dc95bedf112d8e25b9e59234c99dd702afdadbff7463f6f9ffd39f963d264a9b33a25abeb57a3f9c808
7
- data.tar.gz: 19ee1b549553a529612b511bab03df1c848b00e3d5054943baef1b81e51235c7b49cf61aa5a0b779f2be31660d8fe5648a2cf6bbf87a3b3506271f0642742387
6
+ metadata.gz: bd2f29e6219fe3afdfa3eaa86478dcd3216c0aacfcd536660d573eae17c4020e21a8cebdb2418108c1767f28f156b4c266042d1fb41485d3bfad9fcf11a69559
7
+ data.tar.gz: acdea15705ea5b79cec433d6f10a2ba577ca87b9cce29da42ca531cb1b1d2a1ec8d58e876a2e4c4233471db759495d8d8bc3a84f6365a682ed63b41e93d19c63
@@ -20,12 +20,12 @@ jobs:
20
20
  steps:
21
21
  - uses: actions/checkout@v4
22
22
 
23
- - name: Install Ruby 2.7
23
+ - name: Install Ruby 3.2
24
24
  uses: ruby/setup-ruby@v1
25
25
  with:
26
- ruby-version: 2.7
26
+ ruby-version: 3.2
27
27
  bundler-cache: true
28
- rubygems: '3.4.22'
28
+ rubygems: '3.6.9'
29
29
 
30
30
  - name: Prepare the virtual environment
31
31
  uses: hausgold/actions/ci@master
@@ -18,8 +18,8 @@ jobs:
18
18
  strategy:
19
19
  fail-fast: false
20
20
  matrix:
21
- ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
22
- rails: ['6.1', '7.1']
21
+ ruby: ['3.2', '3.3', '3.4']
22
+ rails: ['7.1', '7.2', '8.0']
23
23
  env:
24
24
  BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
25
25
  steps:
@@ -30,7 +30,7 @@ jobs:
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
32
  bundler-cache: true
33
- rubygems: '3.4.22'
33
+ rubygems: '3.6.9'
34
34
 
35
35
  - name: Prepare the virtual environment
36
36
  uses: hausgold/actions/ci@master
data/.rubocop.yml CHANGED
@@ -12,7 +12,7 @@ AllCops:
12
12
  NewCops: enable
13
13
  SuggestExtensions: false
14
14
  DisplayCopNames: true
15
- TargetRubyVersion: 2.7
15
+ TargetRubyVersion: 3.2
16
16
  TargetRailsVersion: 6.1
17
17
  Exclude:
18
18
  - bin/**/*
data/Appraisals CHANGED
@@ -1,11 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'rails-6.1' do
4
- gem 'activesupport', '~> 6.1.0'
5
- gem 'railties', '~> 6.1.0'
6
- end
7
-
8
3
  appraise 'rails-7.1' do
9
4
  gem 'activesupport', '~> 7.1.0'
10
5
  gem 'railties', '~> 7.1.0'
11
6
  end
7
+
8
+ appraise 'rails-7.2' do
9
+ gem 'activesupport', '~> 7.2.0'
10
+ gem 'railties', '~> 7.2.0'
11
+ end
12
+
13
+ appraise 'rails-8.0' do
14
+ gem 'activesupport', '~> 8.0.0'
15
+ gem 'railties', '~> 8.0.0'
16
+ end
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 2.0.0 (28 June 2025)
6
+
7
+ * Corrected some RuboCop glitches ([#58](https://github.com/hausgold/rimless/pull/58))
8
+ * Drop Ruby 2 and end of life Rails (<7.1) ([#59](https://github.com/hausgold/rimless/pull/59))
9
+
10
+ ### 1.13.3 (21 May 2025)
11
+
12
+ * Corrected some RuboCop glitches ([#56](https://github.com/hausgold/rimless/pull/56))
13
+ * Added a workaround for broken specs when Sidekiq >=8.0.3 is installed ([#57](https://github.com/hausgold/rimless/pull/57))
14
+
5
15
  ### 1.13.2 (11 March 2025)
6
16
 
7
17
  * Corrected a typo of #54, its `rimless/railtie` not `rimless/rails` ([#55](https://github.com/hausgold/rimless/pull/55))
data/Dockerfile CHANGED
@@ -1,8 +1,8 @@
1
- FROM hausgold/ruby:2.7
2
- MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>
1
+ FROM hausgold/ruby:3.2
2
+ LABEL org.opencontainers.image.authors="containers@hausgold.de"
3
3
 
4
4
  # Update system gem
5
- RUN gem update --system '3.4.22'
5
+ RUN gem update --system '3.6.9'
6
6
 
7
7
  # Install system packages and the latest bundler
8
8
  RUN apt-get update -yqqq && \
@@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \
11
11
  ca-certificates \
12
12
  bash-completion inotify-tools && \
13
13
  echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
14
- gem install bundler -v '~> 2.4.22' --no-document --no-prerelease
14
+ gem install bundler -v '~> 2.6.9' --no-document --no-prerelease
15
15
 
16
16
  # Add new web user
17
17
  RUN mkdir /app && \
data/Gemfile CHANGED
@@ -9,11 +9,11 @@ gemspec
9
9
 
10
10
  # Development dependencies
11
11
  gem 'appraisal', '~> 2.4'
12
- gem 'bundler', '~> 2.3'
13
- gem 'countless', '~> 1.1'
12
+ gem 'bundler', '~> 2.6'
13
+ gem 'countless', '~> 2.0'
14
14
  gem 'factory_bot', '~> 6.2'
15
15
  gem 'guard-rspec', '~> 4.7'
16
- gem 'railties', '>= 6.1'
16
+ gem 'railties', '>= 7.1'
17
17
  gem 'rake', '~> 13.0'
18
18
  gem 'redcarpet', '~> 3.5'
19
19
  gem 'rspec', '~> 3.12'
data/Makefile CHANGED
@@ -117,7 +117,7 @@ test-style: \
117
117
  test-style-ruby:
118
118
  # Run the static code analyzer (rubocop)
119
119
  @$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \
120
- || ($(TEST) $$($(RUBY_VERSION)) != '2.7' && true))
120
+ || ($(TEST) $$($(RUBY_VERSION)) != '3.2' && true))
121
121
 
122
122
  clean:
123
123
  # Clean the dependencies
data/README.md CHANGED
@@ -69,7 +69,7 @@ Rimless.configure do |conf|
69
69
  conf.env = 'test'
70
70
  # Defaults to your Rails application name when available
71
71
  conf.app_name = 'your-app'
72
- # Dito
72
+ # Ditto
73
73
  conf.client_id = 'your-app'
74
74
 
75
75
  # Writes to stdout by default
@@ -1,68 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- version="1.1"
9
- id="Ebene_1"
10
- x="0px"
11
- y="0px"
12
- viewBox="0 0 800 200"
13
- xml:space="preserve"
14
- width="800"
15
- height="200"><metadata
16
- id="metadata33"><rdf:RDF><cc:Work
17
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
18
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
19
- id="defs31" />
20
- <style
21
- type="text/css"
22
- id="style2">
23
- .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#E73E11;}
24
- .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#0371B9;}
25
- .st2{fill:#132E48;}
26
- .st3{font-family:'OpenSans-Bold';}
27
- .st4{font-size:29.5168px;}
28
- .st5{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
29
- .st6{opacity:0.5;fill:#132E48;}
30
- .st7{font-family:'OpenSans';}
31
- .st8{font-size:12px;}
32
- </style>
33
- <g
34
- transform="translate(0,1.53584)"
35
- id="g828"><g
36
- transform="translate(35.93985,35.66416)"
37
- id="g8">
38
- <path
39
- style="clip-rule:evenodd;fill:#e73e11;fill-rule:evenodd"
40
- id="path4"
41
- d="m -0.1,124.4 c 0,0 33.7,-123.2 66.7,-123.2 12.8,0 26.9,21.9 38.8,47.2 -23.6,27.9 -66.6,59.7 -94,76 -7.1,0 -11.5,0 -11.5,0 z"
42
- class="st0" />
43
- <path
44
- style="clip-rule:evenodd;fill:#0371b9;fill-rule:evenodd"
45
- id="path6"
46
- d="m 88.1,101.8 c 13.5,-10.4 18.4,-16.2 27.1,-25.4 10,25.7 16.7,48 16.7,48 0,0 -41.4,0 -78,0 14.6,-7.9 18.7,-10.7 34.2,-22.6 z"
47
- class="st1" />
48
- </g><text
49
- y="106.40316"
50
- x="192.43155"
51
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.51733398px;font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#132e48"
52
- id="text10"
53
- class="st2 st3 st4">rimless</text>
54
- <rect
55
- style="clip-rule:evenodd;fill:none;fill-rule:evenodd"
56
- id="rect12"
57
- height="24"
58
- width="314.5"
59
- class="st5"
60
- y="118.06416"
61
- x="194.23985" /><text
62
- y="127.22146"
63
- x="194.21715"
64
- style="font-size:12px;font-family:'Open Sans', sans-serif;opacity:0.5;fill:#132e48;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"
65
- id="text14"
66
- class="st6 st7 st8">A bundle of opinionated Apache Kafka / Confluent Schema Registry helpers</text>
67
- </g>
68
- </svg>
1
+ <svg id="hg-readme-banner-v2" viewBox="0 0 800 200" width="800" height="200" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a" x1="112.46" y1="309.13" x2="314.5" y2="309.13" gradientUnits="userSpaceOnUse" gradientTransform="translate(-33.985 -122.816)"><stop offset="0" stop-color="#1992f4" /><stop offset="1" stop-color="#2b8af6" /></linearGradient></defs><style>.st3{font-family:&apos;OpenSans-Bold&apos;}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:&apos;OpenSans&apos;}.st8{font-size:12px}@media (prefers-color-scheme:dark){text{fill:#f0f6fc!important}}</style>
2
+ <text y="107.939" x="192.432" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st3 st4" font-weight="700" font-size="29.517" font-family="'Open Sans',sans-serif" fill="#3f3e4b"
3
+ >rimless</text>
4
+ <path class="st5" clip-rule="evenodd" fill="none" fill-rule="evenodd" d="M194.24 119.6h314.5v24h-314.5z"/>
5
+ <text y="128.757" x="194.217" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st7 st8" font-weight="400" font-size="12" font-family="'Open Sans',sans-serif" opacity=".75" fill="#3f3e4b"
6
+ >A bundle of opinionated Apache Kafka / Confluent Schema Registry helpers</text>
7
+ <g transform="translate(33.985 122.816)"><path d="M129.427 32.4q-7-20.71-14.09-41.44c-.33-1-.52-1.18-1.34-.25-3.1 3.48-6.25 6.92-9.49 10.26a180.23 180.23 0 0 1-18.54 16.15 193.7 193.7 0 0 1-21.95 15.43c-2.53 1.47-5.08 2.91-7.62 4.36l.11.27h73.05c1 .1 1.4-.13 1-1.22-.4-1.09-.73-2.38-1.13-3.56z" fill="url(#a)" /><path d="M89.077-63.87c-3.57-5.58-7.42-10.95-12.62-15.17-3.93-3.19-8.28-5-13.42-3.32a23 23 0 0 0-8.76 5.6 66.77 66.77 0 0 0-10.34 13.09c-8 12.68-14.06 26.28-19.28 40.25-4.6 12.33-8.82 24.8-12.95 37.29-2.45 7.41-4.39 15-6.61 22.49-.26.88 0 1 .79 1h7.4c1.23 0 2.44.14 3.6-.68 9.17-6.45 18.51-12.67 27.55-19.31a396.21 396.21 0 0 0 37.36-31.3 245.79 245.79 0 0 0 20.74-22 1.6 1.6 0 0 0 .26-2 224.45 224.45 0 0 0-13.72-25.94z" fill="#f2686d" /></g></svg>
@@ -1,5 +1,5 @@
1
1
  FROM hausgold/ruby:2.7
2
- MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>
2
+ LABEL org.opencontainers.image.authors="containers@hausgold.de"
3
3
 
4
4
  # Update system gem
5
5
  RUN gem update --system '3.4.22'
@@ -8,8 +8,8 @@ RUN gem update --system '3.4.22'
8
8
  RUN echo 'deb http://archive.debian.org/debian buster-backports main' \
9
9
  >> /etc/apt/sources.list
10
10
 
11
- # Install nodejs 22
12
- RUN curl -sL https://deb.nodesource.com/setup_22.x | bash -
11
+ # Install nodejs 24
12
+ RUN curl -sL https://deb.nodesource.com/setup_24.x | bash -
13
13
 
14
14
  # Install system packages and the ruby bundless
15
15
  RUN apt-get update -yqqq && \
@@ -1,68 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- version="1.1"
9
- id="Ebene_1"
10
- x="0px"
11
- y="0px"
12
- viewBox="0 0 800 200"
13
- xml:space="preserve"
14
- width="800"
15
- height="200"><metadata
16
- id="metadata33"><rdf:RDF><cc:Work
17
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
18
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
19
- id="defs31" />
20
- <style
21
- type="text/css"
22
- id="style2">
23
- .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#E73E11;}
24
- .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#0371B9;}
25
- .st2{fill:#132E48;}
26
- .st3{font-family:'OpenSans-Bold';}
27
- .st4{font-size:29.5168px;}
28
- .st5{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
29
- .st6{opacity:0.5;fill:#132E48;}
30
- .st7{font-family:'OpenSans';}
31
- .st8{font-size:12px;}
32
- </style>
33
- <g
34
- transform="translate(0,1.53584)"
35
- id="g828"><g
36
- transform="translate(35.93985,35.66416)"
37
- id="g8">
38
- <path
39
- style="clip-rule:evenodd;fill:#e73e11;fill-rule:evenodd"
40
- id="path4"
41
- d="m -0.1,124.4 c 0,0 33.7,-123.2 66.7,-123.2 12.8,0 26.9,21.9 38.8,47.2 -23.6,27.9 -66.6,59.7 -94,76 -7.1,0 -11.5,0 -11.5,0 z"
42
- class="st0" />
43
- <path
44
- style="clip-rule:evenodd;fill:#0371b9;fill-rule:evenodd"
45
- id="path6"
46
- d="m 88.1,101.8 c 13.5,-10.4 18.4,-16.2 27.1,-25.4 10,25.7 16.7,48 16.7,48 0,0 -41.4,0 -78,0 14.6,-7.9 18.7,-10.7 34.2,-22.6 z"
47
- class="st1" />
48
- </g><text
49
- y="106.40316"
50
- x="192.43155"
51
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.51733398px;font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#132e48"
52
- id="text10"
53
- class="st2 st3 st4">Apache Kafka Playground</text>
54
- <rect
55
- style="clip-rule:evenodd;fill:none;fill-rule:evenodd"
56
- id="rect12"
57
- height="24"
58
- width="314.5"
59
- class="st5"
60
- y="118.06416"
61
- x="194.23985" /><text
62
- y="127.22146"
63
- x="194.21715"
64
- style="font-size:12px;font-family:'Open Sans', sans-serif;opacity:0.5;fill:#132e48;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"
65
- id="text14"
66
- class="st6 st7 st8">A ready to use local Apache Kafka setup based on containers/mDNS</text>
67
- </g>
68
- </svg>
1
+ <svg id="hg-readme-banner-v2" viewBox="0 0 800 200" width="800" height="200" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a" x1="112.46" y1="309.13" x2="314.5" y2="309.13" gradientUnits="userSpaceOnUse" gradientTransform="translate(-33.985 -122.816)"><stop offset="0" stop-color="#1992f4" /><stop offset="1" stop-color="#2b8af6" /></linearGradient></defs><style>.st3{font-family:&apos;OpenSans-Bold&apos;}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:&apos;OpenSans&apos;}.st8{font-size:12px}@media (prefers-color-scheme:dark){text{fill:#f0f6fc!important}}</style>
2
+ <text y="107.939" x="192.432" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st3 st4" font-weight="700" font-size="29.517" font-family="'Open Sans',sans-serif" fill="#3f3e4b"
3
+ >Apache Kafka Playground</text>
4
+ <path class="st5" clip-rule="evenodd" fill="none" fill-rule="evenodd" d="M194.24 119.6h314.5v24h-314.5z"/>
5
+ <text y="128.757" x="194.217" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st7 st8" font-weight="400" font-size="12" font-family="'Open Sans',sans-serif" opacity=".75" fill="#3f3e4b"
6
+ >A ready to use local Apache Kafka setup based on containers/mDNS</text>
7
+ <g transform="translate(33.985 122.816)"><path d="M129.427 32.4q-7-20.71-14.09-41.44c-.33-1-.52-1.18-1.34-.25-3.1 3.48-6.25 6.92-9.49 10.26a180.23 180.23 0 0 1-18.54 16.15 193.7 193.7 0 0 1-21.95 15.43c-2.53 1.47-5.08 2.91-7.62 4.36l.11.27h73.05c1 .1 1.4-.13 1-1.22-.4-1.09-.73-2.38-1.13-3.56z" fill="url(#a)" /><path d="M89.077-63.87c-3.57-5.58-7.42-10.95-12.62-15.17-3.93-3.19-8.28-5-13.42-3.32a23 23 0 0 0-8.76 5.6 66.77 66.77 0 0 0-10.34 13.09c-8 12.68-14.06 26.28-19.28 40.25-4.6 12.33-8.82 24.8-12.95 37.29-2.45 7.41-4.39 15-6.61 22.49-.26.88 0 1 .79 1h7.4c1.23 0 2.44.14 3.6-.68 9.17-6.45 18.51-12.67 27.55-19.31a396.21 396.21 0 0 0 37.36-31.3 245.79 245.79 0 0 0 20.74-22 1.6 1.6 0 0 0 .26-2 224.45 224.45 0 0 0-13.72-25.94z" fill="#f2686d" /></g></svg>
@@ -1,4 +1,3 @@
1
- version: "3"
2
1
  services:
3
2
  kafka:
4
3
  image: hausgold/kafka:3.9
data/docker-compose.yml CHANGED
@@ -1,4 +1,3 @@
1
- version: "3"
2
1
  services:
3
2
  test:
4
3
  build: .
@@ -3,8 +3,8 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.3"
7
- gem "countless", "~> 1.1"
6
+ gem "bundler", "~> 2.6"
7
+ gem "countless", "~> 2.0"
8
8
  gem "factory_bot", "~> 6.2"
9
9
  gem "guard-rspec", "~> 4.7"
10
10
  gem "railties", "~> 7.1.0"
@@ -0,0 +1,24 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal", "~> 2.4"
6
+ gem "bundler", "~> 2.6"
7
+ gem "countless", "~> 2.0"
8
+ gem "factory_bot", "~> 6.2"
9
+ gem "guard-rspec", "~> 4.7"
10
+ gem "railties", "~> 7.2.0"
11
+ gem "rake", "~> 13.0"
12
+ gem "redcarpet", "~> 3.5"
13
+ gem "rspec", "~> 3.12"
14
+ gem "rubocop"
15
+ gem "rubocop-rails"
16
+ gem "rubocop-rspec"
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", "~> 7.2.0"
23
+
24
+ gemspec path: "../"
@@ -0,0 +1,24 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal", "~> 2.4"
6
+ gem "bundler", "~> 2.6"
7
+ gem "countless", "~> 2.0"
8
+ gem "factory_bot", "~> 6.2"
9
+ gem "guard-rspec", "~> 4.7"
10
+ gem "railties", "~> 8.0.0"
11
+ gem "rake", "~> 13.0"
12
+ gem "redcarpet", "~> 3.5"
13
+ gem "rspec", "~> 3.12"
14
+ gem "rubocop"
15
+ gem "rubocop-rails"
16
+ gem "rubocop-rspec"
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", "~> 8.0.0"
23
+
24
+ gemspec path: "../"
@@ -78,7 +78,7 @@ module Rimless
78
78
  # Configure the pure basics on the Karafka application.
79
79
  #
80
80
  # rubocop:disable Metrics/MethodLength -- because of the various settings
81
- # rubocop:disable Metrics/AbcSize -- dito
81
+ # rubocop:disable Metrics/AbcSize -- ditto
82
82
  def initialize_karafka!
83
83
  setup do |config|
84
84
  mapper = Rimless::Karafka::PassthroughMapper.new
@@ -125,8 +125,8 @@ module Rimless
125
125
  # needed. (eg. to set some ruby-kafka driver default settings, etc)
126
126
  #
127
127
  # @return [Rimless::ConsumerApp] our self for chaining
128
- def configure(&block)
129
- setup(&block)
128
+ def configure(&)
129
+ setup(&)
130
130
  self
131
131
  end
132
132
 
@@ -25,9 +25,9 @@ module Rimless
25
25
  #
26
26
  # rubocop:disable Metrics/MethodLength -- because of the usage
27
27
  # flexibility
28
- # rubocop:disable Metrics/AbcSize -- dito
29
- # rubocop:disable Metrics/CyclomaticComplexity -- dito
30
- # rubocop:disable Metrics/PerceivedComplexity -- dito
28
+ # rubocop:disable Metrics/AbcSize -- ditto
29
+ # rubocop:disable Metrics/CyclomaticComplexity -- ditto
30
+ # rubocop:disable Metrics/PerceivedComplexity -- ditto
31
31
  def topic(*args)
32
32
  opts = args.last
33
33
  name = args.first if [String, Symbol].member?(args.first.class)
@@ -10,8 +10,8 @@ module Rimless
10
10
  # @param data [String] the Apache Avro blob
11
11
  # @param opts [Hash{Symbol => Mixed}] additional options
12
12
  # @return [Hash{String => Mixed}] the parsed payload
13
- def avro_parse(data, **opts)
14
- Rimless.avro_decode(data, **opts)
13
+ def avro_parse(data, **)
14
+ Rimless.avro_decode(data, **)
15
15
  end
16
16
 
17
17
  # A simple helper to fake a deserialized Apache Kafka message for
@@ -47,8 +47,8 @@ module Rimless
47
47
  #
48
48
  # @yield the given block to capture the messages
49
49
  # @return [Array<Hash{Symbol => Mixed}>] the captured messages
50
- def capture_kafka_messages(&block)
51
- Rimless::RSpec::Matchers::HaveSentKafkaMessage.new(nil).capture(&block)
50
+ def capture_kafka_messages(&)
51
+ Rimless::RSpec::Matchers::HaveSentKafkaMessage.new(nil).capture(&)
52
52
  end
53
53
  end
54
54
  end
@@ -136,11 +136,15 @@ module Rimless
136
136
  #
137
137
  # @param proc [Proc] the block to evaluate
138
138
  # @return [Boolean] whenever the check was unsuccessful or not
139
+ #
140
+ # rubocop:disable Naming/PredicatePrefix -- because we just serve
141
+ # the RSpec API here
139
142
  def does_not_match?(proc)
140
143
  set_expected_number(:at_least, 1)
141
144
 
142
145
  !matches?(proc)
143
146
  end
147
+ # rubocop:enable Naming/PredicatePrefix
144
148
 
145
149
  private
146
150
 
@@ -161,6 +165,9 @@ module Rimless
161
165
  # Perform the result set checking of recorded message which were sent.
162
166
  #
163
167
  # @return [Boolean] the answer
168
+ #
169
+ # rubocop:disable Naming/PredicateMethod -- because this method performs
170
+ # an action, not a predicate check (bool is for error signaling)
164
171
  def check
165
172
  @matching, @unmatching = @messages.partition do |message|
166
173
  schema_match?(message) && arguments_match?(message) &&
@@ -175,6 +182,7 @@ module Rimless
175
182
  when :at_least then @expected_number <= @matching_count
176
183
  end
177
184
  end
185
+ # rubocop:enable Naming/PredicateMethod
178
186
 
179
187
  # Check for the expected schema on the given message.
180
188
  #
@@ -216,7 +224,7 @@ module Rimless
216
224
 
217
225
  # Setup the +WaterDrop+ spies and record each sent message.
218
226
  # because of the message decoding
219
- # rubocop:disable Metrics/MethodLength -- dito
227
+ # rubocop:disable Metrics/MethodLength -- ditto
220
228
  def listen_to_messages
221
229
  decode = proc do |encoded|
222
230
  { encoded_data: encoded, data: Rimless.avro.decode(encoded) }
@@ -291,12 +299,12 @@ module Rimless
291
299
  #
292
300
  # @param schema [String, Symbol, nil] the Apache Avro schema to check
293
301
  #
294
- # rubocop:disable Naming/PredicateName -- because its a RSpec matcher
302
+ # rubocop:disable Naming/PredicatePrefix -- because its a RSpec matcher
295
303
  def have_sent_kafka_message(schema = nil)
296
304
  HaveSentKafkaMessage.new(schema)
297
305
  end
298
306
  alias sent_kafka_message have_sent_kafka_message
299
- # rubocop:enable Naming/PredicateName
307
+ # rubocop:enable Naming/PredicatePrefix
300
308
  end
301
309
  end
302
310
  end
@@ -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.13.2'
6
+ VERSION = '2.0.0'
7
7
 
8
8
  class << self
9
9
  # Returns the version of gem as a string.
data/lib/rimless.rb CHANGED
@@ -45,7 +45,7 @@ module Rimless
45
45
  require 'rimless/railtie' if defined? Rails
46
46
 
47
47
  # Load all initializers of the gem
48
- Dir[root_path.join('initializers/**/*.rb')].sort.each { |path| require path }
48
+ Dir[root_path.join('initializers/**/*.rb')].each { |path| require path }
49
49
 
50
50
  # Include top-level features
51
51
  include Rimless::ConfigurationHandling
data/rimless.gemspec CHANGED
@@ -33,9 +33,9 @@ Gem::Specification.new do |spec|
33
33
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
34
  spec.require_paths = ['lib']
35
35
 
36
- spec.required_ruby_version = '>= 2.7'
36
+ spec.required_ruby_version = '>= 3.2'
37
37
 
38
- spec.add_dependency 'activesupport', '>= 6.1'
38
+ spec.add_dependency 'activesupport', '>= 7.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'
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rimless
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-03-11 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '6.1'
18
+ version: '7.1'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: '6.1'
25
+ version: '7.1'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: avro_turf
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -244,6 +243,8 @@ files:
244
243
  - docker-compose.yml
245
244
  - gemfiles/rails_6.1.gemfile
246
245
  - gemfiles/rails_7.1.gemfile
246
+ - gemfiles/rails_7.2.gemfile
247
+ - gemfiles/rails_8.0.gemfile
247
248
  - lib/rimless.rb
248
249
  - lib/rimless/avro_helpers.rb
249
250
  - lib/rimless/avro_utils.rb
@@ -272,7 +273,6 @@ files:
272
273
  - lib/rimless/tasks/templates/karafka.rb
273
274
  - lib/rimless/version.rb
274
275
  - rimless.gemspec
275
- homepage:
276
276
  licenses:
277
277
  - MIT
278
278
  metadata:
@@ -281,7 +281,6 @@ metadata:
281
281
  changelog_uri: https://github.com/hausgold/rimless/blob/master/CHANGELOG.md
282
282
  bug_tracker_uri: https://github.com/hausgold/rimless/issues
283
283
  documentation_uri: https://www.rubydoc.info/gems/rimless
284
- post_install_message:
285
284
  rdoc_options: []
286
285
  require_paths:
287
286
  - lib
@@ -289,15 +288,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
289
288
  requirements:
290
289
  - - ">="
291
290
  - !ruby/object:Gem::Version
292
- version: '2.7'
291
+ version: '3.2'
293
292
  required_rubygems_version: !ruby/object:Gem::Requirement
294
293
  requirements:
295
294
  - - ">="
296
295
  - !ruby/object:Gem::Version
297
296
  version: '0'
298
297
  requirements: []
299
- rubygems_version: 3.4.22
300
- signing_key:
298
+ rubygems_version: 3.6.9
301
299
  specification_version: 4
302
300
  summary: A bundle of opinionated Apache Kafka / Confluent Schema Registry helpers.
303
301
  test_files: []