Sha256: 266d4112a3f6b1247fee8ded9e430eebaa53e77d6bf145b6976329333c4afe02
Contents?: true
Size: 664 Bytes
Versions: 4
Compression:
Stored size: 664 Bytes
Contents
# Models the pattern of a boolean attribute that must be true or false, but never nil. # origin: RM module FlagTrait as_trait do |field, options| options ||= {} default = options[:default] virtual = options[:virtual] field_var = "@#{field}" set_field = "#{field}=" validates_inclusion_of field.to_sym, :in => [true, false], :allow_nil => !!virtual has_defaults field.to_sym => default if virtual attr_reader field define_method set_field do |value| value = ActiveRecord::ConnectionAdapters::Column.value_to_boolean(value) instance_variable_set(field_var, value) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems