Module: ActiveRecord::DatabaseValidations::StringTruncator
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/active_record/validations/string_truncator.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.mysql_textual_column_limit(column) ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/active_record/validations/string_truncator.rb', line 37 def self.mysql_textual_column_limit(column) @mysql_textual_column_limits ||= {} @mysql_textual_column_limits[column] ||= begin raise ArgumentError, "Only UTF-8 textual columns are supported." unless column.text? && column.collation =~ /\Autf8_/ column_type = column.sql_type.sub(/\(.*\z/, '').gsub(/\s/, '_').to_sym type_limit = ActiveRecord::Validations::DatabaseConstraintsValidator::TYPE_LIMITS.fetch(column_type, {}) column.limit || type_limit[:default_maximum] end end |