Class: ReeMapper::Bool
- Inherits:
-
AbstractType
- Object
- AbstractType
- ReeMapper::Bool
- Defined in:
- lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb
Constant Summary collapse
- TRUE_CAST_VALUES =
['1', 'true', 'on', 1, true].freeze
- FALSE_CAST_VALUES =
['0', 'false', 'off', 0, false].freeze
Instance Method Summary collapse
- #cast(value) ⇒ Object
- #db_dump(value) ⇒ Object
- #db_load(value) ⇒ Object
- #db_load_trusted_check(var) ⇒ Object
- #serialize(value) ⇒ Object
Instance Method Details
#cast(value) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb', line 21 def cast(value) if TRUE_CAST_VALUES.include?(value) true elsif FALSE_CAST_VALUES.include?(value) false else raise ReeMapper::CoercionError.new("is invalid boolean, got `#{truncate(value.inspect)}`") end end |
#db_dump(value) ⇒ Object
32 33 34 |
# File 'lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb', line 32 def db_dump(value) serialize(value) end |
#db_load(value) ⇒ Object
37 38 39 |
# File 'lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb', line 37 def db_load(value) cast(value) end |
#db_load_trusted_check(var) ⇒ Object
7 8 9 |
# File 'lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb', line 7 def db_load_trusted_check(var) "(true.equal?(#{var}) || false.equal?(#{var}))" end |
#serialize(value) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb', line 12 def serialize(value) if value.is_a?(TrueClass) || value.is_a?(FalseClass) value else raise ReeMapper::TypeError.new("should be a boolean, got `#{truncate(value.inspect)}`") end end |