Class: ActiveGraph::Shared::TypeConverters::BooleanConverter

Inherits:
BaseConverter
  • Object
show all
Defined in:
lib/active_graph/shared/type_converters.rb

Constant Summary collapse

FALSE_VALUES =
%w(n N no No NO false False FALSE off Off OFF f F).to_set

Class Method Summary collapse

Methods inherited from BaseConverter

#supports_array?

Class Method Details

.converted?(value) ⇒ Boolean

Returns:



234
235
236
# File 'lib/active_graph/shared/type_converters.rb', line 234

def converted?(value)
  converted_values.include?(value)
end

.converted_valuesObject



238
239
240
# File 'lib/active_graph/shared/type_converters.rb', line 238

def converted_values
  [true, false]
end

.db_typeObject Also known as: convert_type



242
243
244
# File 'lib/active_graph/shared/type_converters.rb', line 242

def db_type
  ActiveGraph::Shared::Boolean
end

.to_db(value) ⇒ Object Also known as: to_ruby



248
249
250
251
252
253
254
255
256
257
258
# File 'lib/active_graph/shared/type_converters.rb', line 248

def to_db(value)
  return false if FALSE_VALUES.include?(value)
  case value
  when TrueClass, FalseClass
    value
  when Numeric, /^\-?[0-9]/
    !value.to_f.zero?
  else
    value.present?
  end
end