module TimeWrapper::TimeAttribute::ClassMethods

Public Instance Methods

get_time_wrapper_attribute(attribute) click to toggle source
# File lib/time_wrapper/time_attribute.rb, line 33
def get_time_wrapper_attribute(attribute)
  if instance_variable_get("@#{attribute}_time_wrapper_validation")
    instance_variable_get("@#{attribute}_wrong_value")
  else
    Time.current.change({hour: self[attribute].hour, min: self[attribute].min}) if self[attribute]
  end
end
set_time_wrapper_attribute(attribute,value) click to toggle source
# File lib/time_wrapper/time_attribute.rb, line 20
def set_time_wrapper_attribute(attribute,value)
  begin
    if value.kind_of? Time
      self[attribute] = value.utc
    else
      self[attribute] = Time.zone.parse(value)
    end
  rescue ArgumentError, NoMethodError
    instance_variable_set("@#{attribute}_time_wrapper_validation", true)
    instance_variable_set("@#{attribute}_wrong_value", value)
  end
end
validate_time_wrapper_attribute(attribute) click to toggle source
# File lib/time_wrapper/time_attribute.rb, line 41
def validate_time_wrapper_attribute(attribute)
  errors.add(attribute,:wrong_time_format) unless send(attribute).blank? if instance_variable_get("@#{attribute}_time_wrapper_validation")
end