Add skip_email_confirmation option; fix SQLite length validation

Introduce config.skip_email_confirmation in application.rb.dist.
When set to true, new registrations are automatically confirmed
without requiring email verification — useful for installations
where outgoing email is not configured or for development/testing.
Implemented by calling skip_confirmation! in build_resource before
the record is saved, so no confirmation email is ever sent.

Also fix ArgumentError raised in length validations when
type_for_attribute(:column).limit returns nil, which happens with
SQLite for string columns that have no explicit limit in the
migration. Guard with || Float::INFINITY so the validation is
effectively skipped when the database imposes no limit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 15:57:50 +00:00
parent ea8bff9b3d
commit 9ad922e3a1
3 changed files with 17 additions and 2 deletions

View File

@@ -54,5 +54,12 @@ module FixinMe
# Sender address of account registration-related messages
Devise.mailer_sender = 'noreply@localhost'
# When set to true, new user registrations are automatically confirmed
# without requiring email verification, so accounts become active
# immediately upon sign-up. Intended for installations where outgoing
# email is not configured, or for development / testing environments.
# Defaults to false (email confirmation is required).
# config.skip_email_confirmation = true
end
end