From f204854f5b49c4a481aef9ae6464ee83f927fbf0 Mon Sep 17 00:00:00 2001 From: Hermann Mayer Date: Mon, 8 Jul 2024 05:38:48 +0200 Subject: [PATCH] Dropped support for Ruby <2.7. (#24) Signed-off-by: Hermann Mayer --- .github/workflows/documentation.yml | 4 ++-- .github/workflows/release.yml | 6 +++--- .github/workflows/test.yml | 4 ++-- .gitignore | 1 + .rubocop.yml | 2 +- CHANGELOG.md | 1 + Dockerfile | 6 +++--- Makefile | 2 +- billomat.gemspec | 2 +- config/docker/.bashrc | 4 +++- spec/billomat/configuration_spec.rb | 3 ++- spec/billomat/gateway_spec.rb | 2 +- spec/billomat/models/base_spec.rb | 4 ++-- 13 files changed, 23 insertions(+), 18 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index a6d8ed8..8894b15 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -17,9 +17,9 @@ jobs: - name: Install the correct Ruby version uses: ruby/setup-ruby@v1 with: - ruby-version: 2.5 + ruby-version: 2.7 bundler-cache: true - rubygems: '3.3.26' + rubygems: '3.4.22' - name: Prepare the virtual environment uses: hausgold/actions/ci@master diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7cf61fb..363bb30 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,12 +20,12 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Ruby 2.5 + - name: Install Ruby 2.7 uses: ruby/setup-ruby@v1 with: - ruby-version: 2.5 + ruby-version: 2.7 bundler-cache: true - rubygems: '3.3.26' + rubygems: '3.4.22' - name: Prepare the virtual environment uses: hausgold/actions/ci@master diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f6e6fa0..88ad43a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['2.5', '2.7'] + ruby: ['2.7'] steps: - uses: actions/checkout@v4 @@ -27,7 +27,7 @@ jobs: with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - rubygems: '3.3.26' + rubygems: '3.4.22' - name: Prepare the virtual environment uses: hausgold/actions/ci@master diff --git a/.gitignore b/.gitignore index 235624d..8434b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ /pkg/ /spec/reports/ /tmp/ +/log/ /vendor/ /gemfiles/vendor/ /Gemfile.lock diff --git a/.rubocop.yml b/.rubocop.yml index 693d1f8..6445aa7 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -12,7 +12,7 @@ AllCops: NewCops: enable SuggestExtensions: false DisplayCopNames: true - TargetRubyVersion: 2.5 + TargetRubyVersion: 2.7 TargetRailsVersion: 5.2 Exclude: - bin/**/* diff --git a/CHANGELOG.md b/CHANGELOG.md index 95037fb..c243354 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ * Moved the development dependencies from the gemspec to the Gemfile (#19) * Introduce `after_response` callback (#22) * Fix response parsing for responses exceeding the page size (#23) +* Dropped support for Ruby <2.7 (#24) ### 1.1.0 diff --git a/Dockerfile b/Dockerfile index def923e..13ccce4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM hausgold/ruby:2.5 +FROM hausgold/ruby:2.7 MAINTAINER Hermann Mayer # Update system gem -RUN gem update --system '3.3.26' +RUN gem update --system '3.4.22' # Install system packages and the latest bundler RUN apt-get update -yqqq && \ @@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \ ca-certificates \ bash-completion inotify-tools && \ echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \ - gem install bundler -v '~> 2.3.0' --no-document --no-prerelease + gem install bundler -v '~> 2.4.22' --no-document --no-prerelease # Add new web user RUN mkdir /app && \ diff --git a/Makefile b/Makefile index d030b37..6e734e9 100644 --- a/Makefile +++ b/Makefile @@ -101,7 +101,7 @@ test-style: \ test-style-ruby: # Run the static code analyzer (rubocop) @$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \ - || ($(TEST) $$($(RUBY_VERSION)) != '2.5' && true)) + || ($(TEST) $$($(RUBY_VERSION)) != '2.7' && true)) clean: # Clean the dependencies diff --git a/billomat.gemspec b/billomat.gemspec index 5a63604..464a09b 100644 --- a/billomat.gemspec +++ b/billomat.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.required_ruby_version = '>= 2.5' + spec.required_ruby_version = '>= 2.7' spec.add_runtime_dependency 'rest-client', '~> 2.1' end diff --git a/config/docker/.bashrc b/config/docker/.bashrc index 6884dc6..4942fcf 100644 --- a/config/docker/.bashrc +++ b/config/docker/.bashrc @@ -16,7 +16,9 @@ sudo sed -i 's/autostart=.*/autostart=false/g' /etc/supervisor/conf.d/* sudo supervisord >/dev/null 2>&1 & # Wait for supervisord -while ! supervisorctl status >/dev/null 2>&1; do sleep 1; done +while ! (sudo supervisorctl status | grep avahi) >/dev/null 2>&1; do + sleep 1 +done # Boot the mDNS stack echo '# Start the mDNS stack' diff --git a/spec/billomat/configuration_spec.rb b/spec/billomat/configuration_spec.rb index 504dd5e..96ae484 100644 --- a/spec/billomat/configuration_spec.rb +++ b/spec/billomat/configuration_spec.rb @@ -13,7 +13,8 @@ end it 'raises an error when assigned a non proc' do - expect { configuration.after_response = :foo }.to raise_error(ArgumentError) + expect { configuration.after_response = :foo }.to \ + raise_error(ArgumentError) end end end diff --git a/spec/billomat/gateway_spec.rb b/spec/billomat/gateway_spec.rb index 7952f37..1fc7a7c 100644 --- a/spec/billomat/gateway_spec.rb +++ b/spec/billomat/gateway_spec.rb @@ -26,7 +26,7 @@ context 'without a body' do it 'only returns the original error message' do - expect(error.to_s).to be_eql('RestClient::Exception') + expect(error.to_s).to eql('RestClient::Exception') end end end diff --git a/spec/billomat/models/base_spec.rb b/spec/billomat/models/base_spec.rb index a4e3a90..48b237e 100644 --- a/spec/billomat/models/base_spec.rb +++ b/spec/billomat/models/base_spec.rb @@ -20,11 +20,11 @@ end it 'allows to access the data easily (#id)' do - expect(base.id).to be_eql(123) + expect(base.id).to be(123) end it 'allows to access the data easily (#foo)' do - expect(base.foo).to be_eql('bar') + expect(base.foo).to eql('bar') end end