From 16a2ebcf134cf7a1328910c0b6d7048b0e3d0503 Mon Sep 17 00:00:00 2001 From: Vladislav Trotsenko Date: Tue, 6 Feb 2024 09:28:18 +0100 Subject: [PATCH 1/3] Technical/Update gem development dependencies (#83) * Updated gemspecs * Updated codeclimate config --- .circleci/gemspecs/compatible | 2 +- .circleci/gemspecs/latest | 14 +++++++------- .codeclimate.yml | 2 +- smtp_mock.gemspec | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.circleci/gemspecs/compatible b/.circleci/gemspecs/compatible index 0af783e..0926a49 100644 --- a/.circleci/gemspecs/compatible +++ b/.circleci/gemspecs/compatible @@ -7,7 +7,7 @@ Gem::Specification.new do |spec| spec.version = SmtpMock::VERSION spec.authors = ['Vladislav Trotsenko'] spec.email = %w[admin@bestweb.com.ua] - spec.summary = %(smtp_mock) + spec.summary = %(💎 Ruby SMTP mock. Mimic any SMTP server behavior for your test environment) spec.description = %(💎 Ruby SMTP mock. Mimic any SMTP server behavior for your test environment.) spec.homepage = 'https://github.com/mocktools/ruby-smtp-mock' spec.license = 'MIT' diff --git a/.circleci/gemspecs/latest b/.circleci/gemspecs/latest index 3b9e4a8..53e2290 100644 --- a/.circleci/gemspecs/latest +++ b/.circleci/gemspecs/latest @@ -7,7 +7,7 @@ Gem::Specification.new do |spec| spec.version = SmtpMock::VERSION spec.authors = ['Vladislav Trotsenko'] spec.email = %w[admin@bestweb.com.ua] - spec.summary = %(smtp_mock) + spec.summary = %(💎 Ruby SMTP mock. Mimic any SMTP server behavior for your test environment) spec.description = %(💎 Ruby SMTP mock. Mimic any SMTP server behavior for your test environment.) spec.homepage = 'https://github.com/mocktools/ruby-smtp-mock' spec.license = 'MIT' @@ -22,13 +22,13 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler-audit', '~> 0.9.1' spec.add_development_dependency 'fasterer', '~> 0.11.0' spec.add_development_dependency 'ffaker', '~> 2.23' - spec.add_development_dependency 'net-smtp', '~> 0.4.0' + spec.add_development_dependency 'net-smtp', '~> 0.4.0.1' spec.add_development_dependency 'pry-byebug', '~> 3.10', '>= 3.10.1' spec.add_development_dependency 'rake', '~> 13.1' - spec.add_development_dependency 'reek', '~> 6.2' - spec.add_development_dependency 'rspec', '~> 3.12' - spec.add_development_dependency 'rubocop', '~> 1.59' - spec.add_development_dependency 'rubocop-performance', '~> 1.20', '>= 1.20.1' - spec.add_development_dependency 'rubocop-rspec', '~> 2.25' + spec.add_development_dependency 'reek', '~> 6.3' + spec.add_development_dependency 'rspec', '~> 3.13' + spec.add_development_dependency 'rubocop', '~> 1.60', '>= 1.60.2' + spec.add_development_dependency 'rubocop-performance', '~> 1.20', '>= 1.20.2' + spec.add_development_dependency 'rubocop-rspec', '~> 2.26', '>= 2.26.1' spec.add_development_dependency 'simplecov', '~> 0.22.0' end diff --git a/.codeclimate.yml b/.codeclimate.yml index fe785c6..0ca156c 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -9,7 +9,7 @@ checks: plugins: rubocop: enabled: true - channel: rubocop-1-59 + channel: rubocop-1-60 config: file: .circleci/linter_configs/.rubocop.yml diff --git a/smtp_mock.gemspec b/smtp_mock.gemspec index a884e51..40491f5 100644 --- a/smtp_mock.gemspec +++ b/smtp_mock.gemspec @@ -8,7 +8,7 @@ Gem::Specification.new do |spec| spec.authors = ['Vladislav Trotsenko'] spec.email = %w[admin@bestweb.com.ua] - spec.summary = %(smtp_mock) + spec.summary = %(💎 Ruby SMTP mock. Mimic any SMTP server behavior for your test environment) spec.description = %(💎 Ruby SMTP mock. Mimic any SMTP server behavior for your test environment.) spec.homepage = 'https://github.com/mocktools/ruby-smtp-mock' @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'dry-struct', dry_struct_version spec.add_development_dependency 'ffaker', ffaker_version - spec.add_development_dependency 'net-smtp', '~> 0.4.0' if current_ruby_version >= ::Gem::Version.new('3.1.0') + spec.add_development_dependency 'net-smtp', '~> 0.4.0.1' if current_ruby_version >= ::Gem::Version.new('3.1.0') spec.add_development_dependency 'rake', '~> 13.1' - spec.add_development_dependency 'rspec', '~> 3.12' + spec.add_development_dependency 'rspec', '~> 3.13' end From 5abc31529ed61928bff93e8ad644af0ecf2f4852 Mon Sep 17 00:00:00 2001 From: Vladislav Trotsenko Date: Thu, 8 Feb 2024 10:50:52 +0100 Subject: [PATCH 2/3] Technical/Add Ruby 3.3 support (#82) * Added match_semver_regex_pattern RSpec matcher * Updated CircleCI config * Updated RSpec config --- .circleci/config.yml | 8 ++++---- spec/smtp_mock/dependency_spec.rb | 6 +++--- spec/smtp_mock/rspec_helper/context_generator_spec.rb | 2 +- spec/support/config/pry.rb | 2 +- spec/support/config/simplecov.rb | 2 +- spec/support/matchers/match_semver_regex_pattern.rb | 5 +++++ 6 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 spec/support/matchers/match_semver_regex_pattern.rb diff --git a/.circleci/config.yml b/.circleci/config.yml index b472f74..26bfb3a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ defaults: &defaults - image: cimg/ruby:<< parameters.ruby-version >> orbs: - ruby: circleci/ruby@2.1.0 + ruby: circleci/ruby@2.1.1 references: bundle_install: &bundle_install @@ -190,15 +190,15 @@ workflows: - linters-ruby: matrix: parameters: - ruby-version: ["3.2-node"] + ruby-version: ["3.3-node"] - tests-ruby: matrix: parameters: - ruby-version: ["3.2"] + ruby-version: ["3.3"] - compatibility-ruby: matrix: parameters: - ruby-version: ["2.5", "2.6", "2.7", "3.0", "3.1"] + ruby-version: ["2.5", "2.6", "2.7", "3.0", "3.1", "3.2"] - rubygems-deps-ruby: matrix: parameters: diff --git a/spec/smtp_mock/dependency_spec.rb b/spec/smtp_mock/dependency_spec.rb index 5be4bd7..8c54e2d 100644 --- a/spec/smtp_mock/dependency_spec.rb +++ b/spec/smtp_mock/dependency_spec.rb @@ -41,13 +41,13 @@ it 'not raises SmtpMock::Error::Dependency error' do expect(described_class).to receive(:smtpmock?).and_return(true) expect(described_class).to receive(:version).and_return(SmtpMock::SMTPMOCK_MIN_VERSION) - expect(verify_dependencies).to match(/(\d+)(\.\g<1>){2}/) + expect(verify_dependencies).to match_semver_regex_pattern end it 'not raises SmtpMock::Error::Dependency error in case of comparing greater semantic version' do expect(described_class).to receive(:smtpmock?).and_return(true) expect(described_class).to receive(:version).and_return('1.10.0') - expect(verify_dependencies).to match(/(\d+)(\.\g<1>){2}/) + expect(verify_dependencies).to match_semver_regex_pattern end end @@ -119,7 +119,7 @@ context 'when it was possible to determine smtpmock version' do let(:ver) { "smtpmock: 3.14.0\ncommit: 2128506\nbuilt at: 2022-01-31T23:32:59Z" } - it { is_expected.to match(/(\d+)(\.\g<1>){2}/) } + it { is_expected.to match_semver_regex_pattern } end end diff --git a/spec/smtp_mock/rspec_helper/context_generator_spec.rb b/spec/smtp_mock/rspec_helper/context_generator_spec.rb index 5a47783..b77b283 100644 --- a/spec/smtp_mock/rspec_helper/context_generator_spec.rb +++ b/spec/smtp_mock/rspec_helper/context_generator_spec.rb @@ -52,7 +52,7 @@ describe '#random_sem_version' do it 'returns random semantic version' do - expect(random_sem_version).to match(/(\d+)(\.\g<1>){2}/) + expect(random_sem_version).to match_semver_regex_pattern end end end diff --git a/spec/support/config/pry.rb b/spec/support/config/pry.rb index b87e55c..e8ef447 100644 --- a/spec/support/config/pry.rb +++ b/spec/support/config/pry.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -require 'pry' if ::RUBY_VERSION[/\A3\.2.+\z/] +require 'pry' if ::RUBY_VERSION[/\A3\.3.+\z/] diff --git a/spec/support/config/simplecov.rb b/spec/support/config/simplecov.rb index ce52101..3af6697 100644 --- a/spec/support/config/simplecov.rb +++ b/spec/support/config/simplecov.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -if ::RUBY_VERSION[/\A3\.2.+\z/] +if ::RUBY_VERSION[/\A3\.3.+\z/] require 'simplecov' SimpleCov.minimum_coverage(100) diff --git a/spec/support/matchers/match_semver_regex_pattern.rb b/spec/support/matchers/match_semver_regex_pattern.rb new file mode 100644 index 0000000..7d4f1e4 --- /dev/null +++ b/spec/support/matchers/match_semver_regex_pattern.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +RSpec::Matchers.define(:match_semver_regex_pattern) do + match { |semver_string| /\d+\.\d+.\d+/.match?(semver_string) } +end From 494c3bbeb2488e1e9213f66658a6850c10e80a02 Mon Sep 17 00:00:00 2001 From: Vladislav Trotsenko Date: Thu, 8 Feb 2024 10:57:38 +0100 Subject: [PATCH 3/3] Technical/Update gem version (#84) * Updated gem version * Updated changelog --- CHANGELOG.md | 11 +++++++++++ lib/smtp_mock/version.rb | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44bdbda..b61843c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.4.0] - 2024-02-08 + +### Added + +- Added and tested Ruby 3.3.x support + +### Updated + +- Updated gem development dependencies +- Updated gem version + ## [1.3.6] - 2024-01-02 ### Updated diff --git a/lib/smtp_mock/version.rb b/lib/smtp_mock/version.rb index daad929..2640518 100644 --- a/lib/smtp_mock/version.rb +++ b/lib/smtp_mock/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module SmtpMock - VERSION = '1.3.6' + VERSION = '1.4.0' end