module NoBrainer::Boolean::NoBrainerExtensions

Constants

InvalidType

Public Instance Methods

nobrainer_cast_user_to_model(value) click to toggle source
# File lib/no_brainer/document/types/boolean.rb, line 10
def nobrainer_cast_user_to_model(value)
  case value
  when TrueClass  then true
  when FalseClass then false
  when String, Integer
    value = value.to_s.strip.downcase
    return true  if value.in? %w(true yes t 1)
    return false if value.in? %w(false no f 0)
    raise InvalidType
  else raise InvalidType
  end
end
nobrainer_field_defined(model, attr, options={}) click to toggle source
# File lib/no_brainer/document/types/boolean.rb, line 23
def nobrainer_field_defined(model, attr, options={})
  model.inject_in_layer :types do
    define_method("#{attr}?") { !!read_attribute(attr) }
  end
end
nobrainer_field_undefined(model, attr, options={}) click to toggle source
# File lib/no_brainer/document/types/boolean.rb, line 29
def nobrainer_field_undefined(model, attr, options={})
  model.inject_in_layer :types do
    remove_method("#{attr}?")
  end
end