Module: ModelX::Boolean

Extended by:
ActiveSupport::Concern
Included in:
Mixin
Defined in:
lib/model_x/boolean.rb

Overview

Adds boolean attribute accessors to any object, allowing boolean-ish values to be set as well.

Usage

class MyObject
  include ModelX::Boolean

  attr_accessor :my_attribute
  boolean :my_attribute
end

Now, the following can be used:

object = MyObject.new
object.my_attribute = false
object.my_attribute? # => false

object.my_attribute = '0'
object.my_attribute? # => false
object.my_attribute = '1'
object.my_attribute? # => true
object.my_attribute = 'false'
object.my_attribute? # => false

Note that an existing attribute writer must exist.

The values ‘0’, 0, ‘off’, ‘no’ and ‘false’, and all values that Ruby considers false are deemed to be false. All other values are true.

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.convert(value) ⇒ Object

Converts a boolean attribute. This is used mostly for toggle buttons that enable or disable an input section.



62
63
64
# File 'lib/model_x/boolean.rb', line 62

def self.convert(value)
  value.present? && value != '0' && value != 0 && value != 'off' && value != 'no' && value != 'false'
end