Skip to content

Fix attribute_was to use ActiveModel::Dirty#7

Merged
ardavis merged 1 commit into
masterfrom
fix-attribute-was-uses-activemodel-dirty
May 23, 2026
Merged

Fix attribute_was to use ActiveModel::Dirty#7
ardavis merged 1 commit into
masterfrom
fix-attribute-was-uses-activemodel-dirty

Conversation

@ardavis
Copy link
Copy Markdown
Contributor

@ardavis ardavis commented May 23, 2026

Summary

attribute_was was calling attribute_in_database which is an ActiveRecord-only method not available in ActiveModel::Dirty. This caused a NoMethodError for any consumer using attribute_was without overriding it.

Fix

Replace with changed_attributes[attr_name.to_s] which is the correct ActiveModel::Dirty approach.

Version

Bumps to 0.0.4.

Tests

Added specs for attribute_was — returns previous value when changed, returns nil when unchanged.

attribute_was was calling attribute_in_database which is an
ActiveRecord-only method not available in ActiveModel::Dirty.
Replace with changed_attributes lookup which is the correct
ActiveModel::Dirty approach.

Bump version to 0.0.4.
@ardavis ardavis merged commit 6aeae0d into master May 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant