Module: Mongoid::ForceBoolean

Extended by:
ActiveSupport::Concern
Defined in:
lib/force_boolean.rb,
lib/force_boolean/version.rb

Defined Under Namespace

Modules: ClassMethods Classes: NotMongoidDocumentError

Constant Summary collapse

VERSION =
'0.0.2'

Instance Method Summary collapse

Instance Method Details

#force_booleanObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/force_boolean.rb', line 12

def force_boolean
  self.class.boolean_fields.map do |field|
    if (field_value = self.read_attribute(field)) && field_value != true && field_value != false

      if field_value.to_s == '0'
        self.write_attribute(field, false)
      elsif field_value.to_s == '1'
        self.write_attribute(field, true)
      elsif !field_value.nil?
        self.errors.add(field, 'must be boolean')
      end
    end
  end

  self.errors.empty?
end

#has_boolean_field?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/force_boolean.rb', line 29

def has_boolean_field?
  self.class.has_boolean_field?
end