Bump shoulda-matchers to 4.0.1

This removes the warning when using Ruby 2.6:

BigDecimal.new is deprecated; use BigDecimal() method instead.

This also adds Rails 5 support, which eliminates the need for the monkey
patch to handle
https://github.com/thoughtbot/shoulda-matchers/issues/913.
This commit is contained in:
Stan Hu 2019-05-18 21:58:21 -07:00
parent c342c07899
commit 52d24e66ce
3 changed files with 4 additions and 31 deletions

View file

@ -379,7 +379,7 @@ group :development, :test do
end
group :test do
gem 'shoulda-matchers', '~> 3.1.2', require: false
gem 'shoulda-matchers', '~> 4.0.1', require: false
gem 'email_spec', '~> 2.2.0'
gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 3.5.1'

View file

@ -857,8 +857,8 @@ GEM
sexp_processor (4.12.0)
sham_rack (1.3.6)
rack
shoulda-matchers (3.1.2)
activesupport (>= 4.0.0)
shoulda-matchers (4.0.1)
activesupport (>= 4.2.0)
sidekiq (5.2.7)
connection_pool (~> 2.2, >= 2.2.2)
rack (>= 1.5.0)
@ -1199,7 +1199,7 @@ DEPENDENCIES
sentry-raven (~> 2.7)
settingslogic (~> 2.0.9)
sham_rack (~> 1.3.6)
shoulda-matchers (~> 3.1.2)
shoulda-matchers (~> 4.0.1)
sidekiq (~> 5.2.7)
sidekiq-cron (~> 1.0)
simple_po_parser (~> 1.1.2)

View file

@ -1,27 +0,0 @@
# monkey patch which fixes serialization matcher in Rails 5
# https://github.com/thoughtbot/shoulda-matchers/issues/913
# This can be removed when a new version of shoulda-matchers
# is released
module Shoulda
module Matchers
class RailsShim
def self.serialized_attributes_for(model)
if defined?(::ActiveRecord::Type::Serialized)
# Rails 5+
serialized_columns = model.columns.select do |column|
model.type_for_attribute(column.name).is_a?(
::ActiveRecord::Type::Serialized
)
end
serialized_columns.inject({}) do |hash, column| # rubocop:disable Style/EachWithObject
hash[column.name.to_s] = model.type_for_attribute(column.name).coder
hash
end
else
model.serialized_attributes
end
end
end
end
end