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