RUBYCRITIC
##############################################
# Helpers to implement date range filtering to APIs
# Include in your controller or service class where params is available
##############################################
module DateRangeHelper
def range
return if params[:since].blank? || params[:until].blank? -
-
parse_date_time(params[:since])...parse_date_time(params[:until]) -
-
end
def parse_date_time(datetime) - DateRangeHelper#parse_date_time doesn't depend on instance state (maybe move it to another class?)
return datetime if datetime.is_a?(DateTime)
return datetime.to_datetime if datetime.is_a?(Time) || datetime.is_a?(Date)
DateTime.strptime(datetime, '%s')
end
end