Skip to content

Commit 550c8bf

Browse files
committed
Update appraisals and handle new ruby versions
1 parent 975b476 commit 550c8bf

9 files changed

+25
-39
lines changed

.github/workflows/ruby.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ jobs:
2424
runs-on: ubuntu-latest
2525
strategy:
2626
matrix:
27-
ruby-version: ['2.7', '3.0', '3.1', '3.2']
28-
activerecord: ['6.0', '6.1', '7.0', 'main']
27+
ruby-version: ['3.1', '3.2', '3.3']
28+
activerecord: ['7.0', '7.1', 'main']
2929
env:
3030
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/rails_${{ matrix.activerecord }}.gemfile
3131
steps:

Appraisals

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
appraise "rails-6.0" do
2-
gem 'rails', '~> 6.0'
3-
end
4-
5-
appraise "rails-6.1" do
6-
gem 'rails', '~> 6.1'
1+
appraise "rails-7.0" do
2+
gem 'rails', '~> 7.0'
73
end
84

9-
appraise "rails-7.0" do
5+
appraise "rails-7.1" do
106
gem 'rails', '~> 7.0'
117
end
128

active_record-acts_as.gemspec

+12-16
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,32 @@
1-
lib = File.expand_path('../lib', __FILE__)
2-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
1+
# frozen_string_literal: true
32

4-
require 'active_record/acts_as/version'
3+
require_relative "lib/active_record/acts_as/version"
54

65
Gem::Specification.new do |spec|
76
spec.name = "active_record-acts_as"
87
spec.version = ActiveRecord::ActsAs::VERSION
98
spec.authors = ["Hassan Zamani", "Manuel Meurer", "Chedli Bourguiba"]
10-
9+
spec.email = ["[email protected]"]
1110
spec.summary = %q{Simulate multi-table inheritance for activerecord models}
1211
spec.description = %q{Simulate multi-table inheritance for activerecord models using a polymorphic association}
1312
spec.homepage = "http://github.com/chaadow/active_record-acts_as"
14-
spec.metadata = { "source_code_uri" => "http://github.com/chaadow/active_record-acts_as" }
13+
spec.metadata = {
14+
"homepage_uri" => "http://github.com/chaadow/active_record-acts_as",
15+
"source_code_uri" => "http://github.com/chaadow/active_record-acts_as"
16+
"changelog_uri" => "http://github.com/chaadow/active_record-acts_as/blob/master/CHANGELOG.md",
17+
"bug_tracker_uri" => "http://github.com/chaadow/active_record-acts_as/issues"
18+
}
1519
spec.license = "MIT"
1620

17-
spec.files = `git ls-files -z`.split("\x0")
18-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20-
spec.require_paths = ["lib"]
21+
spec.files = Dir["README.md", "MIT-LICENSE", "lib/**/*.rb"]
2122

22-
spec.required_ruby_version = ">= 2.5"
23+
spec.required_ruby_version = ">= 3.1"
2324

24-
spec.add_development_dependency "sqlite3"
25-
spec.add_development_dependency "bundler"
2625
spec.add_development_dependency "rspec", "~> 3"
27-
spec.add_development_dependency "psych", "3.3.2"
28-
spec.add_development_dependency "rake"
29-
spec.add_development_dependency "appraisal", "~> 2.1"
26+
spec.add_development_dependency "appraisal"
3027
spec.add_development_dependency "guard-rspec", "~> 4.7"
3128

3229
spec.add_dependency "activesupport", ">= 6.0"
3330
spec.add_dependency "activerecord", ">= 6.0"
34-
spec.add_dependency "ruby2_keywords"
3531

3632
end

gemfiles/rails_6.1.gemfile

-8
This file was deleted.

gemfiles/rails_7.0.gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ source "https://rubygems.org"
44

55
gem "coveralls", require: false
66
gem "rails", "~> 7.0"
7+
gem "sqlite3", "~> 1.4"
78

89
gemspec path: "../"

gemfiles/rails_6.0.gemfile gemfiles/rails_7.1.gemfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
source "https://rubygems.org"
44

55
gem "coveralls", require: false
6-
gem "rails", "~> 6.0"
6+
gem "rails", "~> 7.0"
7+
gem "sqlite3", "~> 1.4"
78

89
gemspec path: "../"

lib/active_record/acts_as/class_methods.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ def respond_to_missing?(method, include_private = false)
2323
acting_as_model.methods_callable_by_submodel.include?(method) || super
2424
end
2525

26-
ruby2_keywords def method_missing(method, *args, &block)
26+
def method_missing(method, ...)
2727
if acting_as_model.methods_callable_by_submodel.include?(method)
28-
result = acting_as_model.public_send(method, *args, &block)
28+
result = acting_as_model.public_send(method, ...)
2929
if result.is_a?(ActiveRecord::Relation)
3030
all.joins(acting_as_name.to_sym).merge(result)
3131
else

lib/active_record/acts_as/instance_methods.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ def dup
117117
duplicate
118118
end
119119

120-
ruby2_keywords def method_missing(method, *args, &block)
120+
def method_missing(method, ...)
121121
if !self_respond_to?(method) && acting_as.respond_to?(method)
122-
acting_as.send(method, *args, &block)
122+
acting_as.send(method, ...)
123123
else
124124
super
125125
end

spec/actable_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949

5050
it "raises NoMethodError for undefined methods on specific" do
5151
pen.save
52-
expect{ pen.product.raise_error }.to raise_error(NoMethodError, /undefined method `non_existant_method' for #<Pen/)
52+
expect{ pen.product.raise_error }.to raise_error(NoMethodError, /undefined method `non_existant_method' for /)
5353
end
5454

5555
it "deletes specific subclass on destroy" do

0 commit comments

Comments
 (0)