Since Rails 6, an unsaved attachment_changes can contain either a Tempfile, or an hash with an :io key. squash! bill_signature: fix reading unsaved attachments