class BlankAttributes::TypeHandler

Constants

ARRAY_TYPES
STRING_TYPES

Public Class Methods

new(object) click to toggle source
# File lib/blank_attributes/type_handler.rb, line 9
def initialize(object)
  @object = object
end

Public Instance Methods

normalize(attr_name) click to toggle source
# File lib/blank_attributes/type_handler.rb, line 13
def normalize(attr_name)
  income_value = value(attr_name)
  attr_type = @object.class.columns_hash[attr_name.to_s]
  if attr_type.respond_to?(:array) && attr_type.array == true
    normalize_array(income_value)
  elsif STRING_TYPES.include?(attr_type.type)
    normalize_string(income_value)
  else
    income_value
  end
rescue
  income_value
end

Private Instance Methods

normalize_array(income_value) click to toggle source
# File lib/blank_attributes/type_handler.rb, line 29
def normalize_array(income_value)
  BlankAttributes::Types::Array.normalize(income_value)
end
normalize_string(income_value) click to toggle source
# File lib/blank_attributes/type_handler.rb, line 33
def normalize_string(income_value)
  BlankAttributes::Types::String.normalize(income_value)
end
value(attr_name) click to toggle source
# File lib/blank_attributes/type_handler.rb, line 37
def value(attr_name)
  @object.send(attr_name.to_sym)
end