v4.4.0
Features
-
Add an
ignoring_check_for_db_index
qualifier to thehave_secure_token
matcher, sincehas_secure_token
encourages use of an index but does not
enforce it. (#1278) -
Add
allow_blank
tovalidate_length_of
to match other validation matchers.
(#725, #1318) -
Add new matcher
have_implicit_order_column
which can be used to test the
implicit_order_column
setting for ActiveRecord models under Rails 6+.
(#1243) -
Add a new
is_other_than
qualifier tovalidate_numericality_of
to be able
to test the numericality validation's:other_than
option. (#1282) -
Add a new
have_one_attached
andhave_many_attached
matchers for testing
the new model-level ActiveStorage macros in Rails 6. (#1102)
Bug fixes
-
Fix performance of
allow_value
so that it doesn't hang if the given value is
really long. (#1290) -
Fix
have_many
so that it is possible to test an association that has a scope
that takes an argument. (#952, #992) -
Update
validate_uniqueness_of
to use the publicvalidators_on
instead of
the private_validators
when reading validations off of a model. This
enables shoulda-matchers to be used with the schema_validations gem.
(#995) -
Update
validate_uniqueness_of
to work with scopes that aretime
columns.
(#1190) -
Fix
have_and_belong_to_many
so that when using thejoin_table
qualifier
you can pass a symbol rather than a string. (#1323)
Improvements
-
Update
have_many
when used against a:through
association so that it fails
if the inverse model does not have abelongs_to
association. (#646,
#723, c0a1578) -
Add Ruby 2.7 to test matrix and default development Ruby. (#1310)
-
Remove warnings emitted on Ruby 2.7 in
word_wrap
. (#1314) -
Remove warnings emitted on Ruby 2.7 in Doublespeak. (#1328)
-
Clean up requires within the code by converting them to
autoload
s. (#1320)