module Integer::NoBrainerExtensions

Constants

InvalidType

Public Instance Methods

nobrainer_cast_user_to_model(value) click to toggle source
# File lib/no_brainer/document/types/integer.rb, line 5
def nobrainer_cast_user_to_model(value)
  case value
  when Integer then value
  when String
    value = value.strip.gsub(/^\+/, '')
    value.to_i.tap { |new_value| new_value.to_s == value or raise InvalidType }
  when Float
    value.to_i.tap { |new_value| new_value.to_f == value or raise InvalidType }
  else raise InvalidType
  end
end