Skip to Content Skip to Search
Namespace
Methods
R

Constants

BigInteger = ActiveModel::Type::BigInteger
 
Binary = ActiveModel::Type::Binary
 
Boolean = ActiveModel::Type::Boolean
 

Active Model Type Boolean

A class that behaves like a boolean type, including rules for coercion of user input.

Coercion

Values set from user input will first be coerced into the appropriate ruby type. Coercion behavior is roughly mapped to Ruby's boolean semantics.

  • “false”, “f” , “0”, 0 or any other value in FALSE_VALUES will be coerced to false

  • Empty strings are coerced to nil

  • All other values will be coerced to true

Decimal = ActiveModel::Type::Decimal
 
Float = ActiveModel::Type::Float
 
ImmutableString = ActiveModel::Type::ImmutableString
 
Integer = ActiveModel::Type::Integer
 
String = ActiveModel::Type::String
 
Value = ActiveModel::Type::Value
 

Class Public methods

register(type_name, klass = nil, **options, &block)

Add a new type to the registry, allowing it to be referenced as a symbol by ActiveRecord::Base.attribute. If your type is only meant to be used with a specific database adapter, you can do so by passing adapter: :postgresql. If your type has the same name as a native type for the current adapter, an exception will be raised unless you specify an :override option. override: true will cause your type to be used instead of the native type. override: false will cause the native type to be used over yours if one exists.

# File activerecord/lib/active_record/type.rb, line 37
def register(type_name, klass = nil, **options, &block)
  registry.register(type_name, klass, **options, &block)
end