Drop support for Ruby < 2.5 and Rails 5.x
This commit is contained in:
parent
a08538cfcf
commit
229594fb2a
|
@ -8,21 +8,12 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ruby: [ 2.5, 2.6, 2.7, jruby ]
|
||||
gemfile: [ gemfiles/rails-6-0.gemfile ]
|
||||
ruby: [ 2.5, 2.6, 2.7, 3.0, jruby ]
|
||||
gemfile: [ gemfiles/rails-6-1.gemfile ]
|
||||
experimental: [ false ]
|
||||
include:
|
||||
- ruby: 2.2
|
||||
gemfile: gemfiles/rails-5-0.gemfile
|
||||
experimental: false
|
||||
- ruby: 2.3
|
||||
gemfile: gemfiles/rails-5-1.gemfile
|
||||
experimental: false
|
||||
- ruby: 2.4
|
||||
gemfile: gemfiles/rails-5-2.gemfile
|
||||
experimental: false
|
||||
- ruby: 3.0
|
||||
gemfile: gemfiles/rails-6-1.gemfile
|
||||
gemfile: gemfiles/rails-6-0.gemfile
|
||||
experimental: false
|
||||
- ruby: 3.0
|
||||
gemfile: gemfiles/rails-master.gemfile
|
||||
|
@ -31,7 +22,7 @@ jobs:
|
|||
gemfile: gemfiles/rails-6-1.gemfile
|
||||
experimental: true
|
||||
- ruby: jruby-head
|
||||
gemfile: gemfiles/rails-6-0.gemfile
|
||||
gemfile: gemfiles/rails-6-1.gemfile
|
||||
experimental: false
|
||||
runs-on: ubuntu-20.04
|
||||
env:
|
||||
|
@ -62,7 +53,5 @@ jobs:
|
|||
- name: Run RSpec
|
||||
run: bundle exec rake spec || [ "$EXPERIMENTAL" == "true" ] && true
|
||||
- name: Run Cucumber
|
||||
# Workaround for OpenSSL 'undefined symbol: SSLv2_method' error
|
||||
if: ${{ matrix.ruby > 2.3 || contains(matrix.ruby, 'ruby') }}
|
||||
run: bundle exec rake features || [ "$EXPERIMENTAL" == "true" ] && true
|
||||
|
||||
|
|
|
@ -19,15 +19,15 @@ Gem::Specification.new do |s|
|
|||
s.require_paths = ["lib"]
|
||||
s.licenses = ["MIT"]
|
||||
|
||||
s.required_ruby_version = ">= 2.2.2"
|
||||
s.required_ruby_version = ">= 2.5.0"
|
||||
|
||||
s.add_dependency "activesupport", ">= 5.0.0"
|
||||
s.add_dependency "activemodel", ">= 5.0.0"
|
||||
s.add_dependency "activesupport", ">= 6.0.0"
|
||||
s.add_dependency "activemodel", ">= 6.0.0"
|
||||
s.add_dependency "image_processing", "~> 1.1"
|
||||
s.add_dependency "marcel", "~> 1.0.0"
|
||||
s.add_dependency "addressable", "~> 2.6"
|
||||
s.add_dependency "ssrf_filter", "~> 1.0"
|
||||
s.add_development_dependency "rails", ">= 5.0.0"
|
||||
s.add_development_dependency "rails", ">= 6.0.0"
|
||||
s.add_development_dependency "cucumber", "~> 2.3"
|
||||
s.add_development_dependency "rspec", "~> 3.4"
|
||||
s.add_development_dependency "rspec-retry"
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
source "https://rubygems.org"
|
||||
|
||||
gem "rails", "~> 5.0.0"
|
||||
gem "activemodel-serializers-xml"
|
||||
if RUBY_VERSION < '2.3'
|
||||
gem "ruby-vips", "2.0.13"
|
||||
end
|
||||
gem 'sqlite3', '~> 1.3.6', platforms: :ruby
|
||||
gem "activerecord-jdbcsqlite3-adapter", platform: [:jruby, :truffleruby]
|
||||
|
||||
gemspec :path => "../"
|
|
@ -1,8 +0,0 @@
|
|||
source "https://rubygems.org"
|
||||
|
||||
gem "rails", "~> 5.1.0"
|
||||
gem "activemodel-serializers-xml"
|
||||
gem 'sqlite3', '~> 1.3.6', platforms: :ruby
|
||||
gem "activerecord-jdbcsqlite3-adapter", platform: [:jruby, :truffleruby]
|
||||
|
||||
gemspec :path => "../"
|
|
@ -1,8 +0,0 @@
|
|||
source "https://rubygems.org"
|
||||
|
||||
gem "rails", "~> 5.2.0"
|
||||
gem "activemodel-serializers-xml"
|
||||
gem 'sqlite3', platforms: :ruby
|
||||
gem "activerecord-jdbcsqlite3-adapter", platform: [:jruby, :truffleruby]
|
||||
|
||||
gemspec :path => "../"
|
|
@ -195,8 +195,7 @@ module CarrierWave
|
|||
end
|
||||
|
||||
def store_previous_changes_for_#{column}
|
||||
attribute_changes = ::ActiveRecord.version.to_s.to_f >= 5.1 ? saved_changes : changes
|
||||
@_previous_changes_for_#{column} = attribute_changes[_mounter(:#{column}).serialization_column]
|
||||
@_previous_changes_for_#{column} = saved_changes[_mounter(:#{column}).serialization_column]
|
||||
end
|
||||
|
||||
def reset_previous_changes_for_#{column}
|
||||
|
@ -359,8 +358,7 @@ module CarrierWave
|
|||
end
|
||||
|
||||
def store_previous_changes_for_#{column}
|
||||
attribute_changes = ::ActiveRecord.version.to_s.to_f >= 5.1 ? saved_changes : changes
|
||||
@_previous_changes_for_#{column} = attribute_changes[_mounter(:#{column}).serialization_column]
|
||||
@_previous_changes_for_#{column} = saved_changes[_mounter(:#{column}).serialization_column]
|
||||
end
|
||||
|
||||
def reset_previous_changes_for_#{column}
|
||||
|
|
|
@ -18,13 +18,7 @@ end
|
|||
|
||||
def reset_class(class_name)
|
||||
Object.send(:remove_const, class_name) rescue nil
|
||||
klass = Object.const_set(class_name, Class.new(ActiveRecord::Base))
|
||||
# TODO Remove when Rails 5.2 is dropped
|
||||
klass.class_eval do
|
||||
attribute :images, :json
|
||||
attribute :textfiles, :json
|
||||
end
|
||||
klass
|
||||
Object.const_set(class_name, Class.new(ActiveRecord::Base))
|
||||
end
|
||||
|
||||
describe CarrierWave::ActiveRecord do
|
||||
|
|
|
@ -5,36 +5,3 @@ Bundler.require
|
|||
ActiveRecord::Base.establish_connection({ adapter: 'sqlite3', database: ':memory:' })
|
||||
|
||||
ActiveRecord::Migration.verbose = false
|
||||
|
||||
if ActiveRecord.version < Gem::Version.new("5.2")
|
||||
module ActiveRecord
|
||||
module Type
|
||||
class Json < ActiveModel::Type::Value
|
||||
include ActiveModel::Type::Helpers::Mutable
|
||||
|
||||
def type
|
||||
:json
|
||||
end
|
||||
|
||||
def deserialize(value)
|
||||
return value unless value.is_a?(::String)
|
||||
ActiveSupport::JSON.decode(value) rescue nil
|
||||
end
|
||||
|
||||
def serialize(value)
|
||||
ActiveSupport::JSON.encode(value) unless value.nil?
|
||||
end
|
||||
|
||||
def changed_in_place?(raw_old_value, new_value)
|
||||
deserialize(raw_old_value) != new_value
|
||||
end
|
||||
|
||||
def accessor
|
||||
ActiveRecord::Store::StringKeyedHashAccessor
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ActiveRecord::Type.register(:json, ActiveRecord::Type::Json, override: false)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue