class ActiveModel::AttributeMutationTracker
def changed?(attr_name, from: OPTION_NOT_GIVEN, to: OPTION_NOT_GIVEN)
def changed?(attr_name, from: OPTION_NOT_GIVEN, to: OPTION_NOT_GIVEN) attribute_changed?(attr_name) && (OPTION_NOT_GIVEN == from || original_value(attr_name) == type_cast(attr_name, from)) && (OPTION_NOT_GIVEN == to || fetch_value(attr_name) == type_cast(attr_name, to)) end