A class that behaves like a boolean type, including rules for coercion of user input.
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
# 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
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.
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.