module Gris::DateTimeHelpers

Public Instance Methods

datetime_params(*keys_to_convert) click to toggle source

define keys that need to be converted from strings to datetime via Chronic

# File lib/gris/grape_extensions/date_time_helpers.rb, line 9
def datetime_params(*keys_to_convert)
  @datetime_keys_to_convert = Set.new(keys_to_convert)
end
keys_to_convert() click to toggle source
# File lib/gris/grape_extensions/date_time_helpers.rb, line 13
def keys_to_convert
  @datetime_keys_to_convert
end
process_datetime_params(params) click to toggle source
# File lib/gris/grape_extensions/date_time_helpers.rb, line 17
def process_datetime_params(params)
  return unless keys_to_convert
  params.each_key do |key|
    if keys_to_convert.include?(key)
      params[key] = string_to_datetime(params[key])
    end
  end
end
string_to_datetime(string) click to toggle source
# File lib/gris/grape_extensions/date_time_helpers.rb, line 26
def string_to_datetime(string)
  return string if string.blank?
  if string.to_s =~ /^\d+$/
    Time.at(string.to_i).to_datetime.utc
  else
    Chronic.parse(string).try(:utc)
  end
end