Method: TimeField#from_json

Defined in:
lib/yodel/models/core/fields/time_field.rb

#from_json(value, record) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/yodel/models/core/fields/time_field.rb', line 24

def from_json(value, record)
  return nil unless value.present? && (value.is_a?(String) || value.is_a?(Hash))
  if value.is_a?(Hash)
    return nil unless ['year', 'month', 'day', 'hour', 'min'].all? {|field| value.key?(field) && !value[field].blank?}
    sec = value['sec'] || 0
    Time.new(value['year'], value['month'], value['day'], value['hour'], value['min'], sec).utc
  else
    Time.parse(value).utc
  end
end