class Todoist::Util::ParseHelper

Public Class Methods

filter_today(item, key) click to toggle source
# File lib/todoist/util/parse_helper.rb, line 21
def self.filter_today(item, key)

  now = DateTime.now
  if parse_todoist_date(item, key) && parse_todoist_date(item, key) <= DateTime.new(now.year, now.month, now.day, -utc_offset_hours) + 1
    return true
  else 
    return false
  end
end
format_time(datetime) click to toggle source
# File lib/todoist/util/parse_helper.rb, line 31
def self.format_time(datetime)
  datetime.strftime("%Y-%m-%dT%H:%M")
end
make_object(object_as_hash) click to toggle source
# File lib/todoist/util/parse_helper.rb, line 73
def self.make_object(object_as_hash)
  json = object_as_hash.to_json
  object = JSON.parse(json, object_class: OpenStruct)
  return object
end
make_objects_as_array(object_datas, key = "id") click to toggle source
# File lib/todoist/util/parse_helper.rb, line 35
def self.make_objects_as_array(object_datas, key = "id")
  objects_as_array = []
  
  object_datas.each do |object_data|
      begin
        object = make_object(object_data)
        objects_as_array << object
      rescue
        # Occasionally the API returns arrays of arrays of hashes
        if object_data.kind_of? Array
          
          object = make_object(object_data[1])
          objects_as_array << object
        end
      end
  end
  return objects_as_array
end
make_objects_as_hash(object_datas, key = "id") click to toggle source
# File lib/todoist/util/parse_helper.rb, line 54
def self.make_objects_as_hash(object_datas, key = "id")
  objects_as_hash = {}
  
  object_datas.each do |object_data|
      begin
        object = make_object(object_data)
        objects_as_hash[object.send(key)] = object
      rescue
        # Occasionally the API returns arrays of arrays of hashes
        if object_data.kind_of? Array
          
          object = make_object(object_data[1])
          objects_as_hash[object.send(key)] = object
        end
      end
  end
  return objects_as_hash
end
parse_todoist_date(item, key) click to toggle source
# File lib/todoist/util/parse_helper.rb, line 11
def self.parse_todoist_date(item, key)
  if item[key]
    time = Time.parse(item[key])
    return time.to_datetime
  else
    return nil
  end
end
utc_offset_hours() click to toggle source
# File lib/todoist/util/parse_helper.rb, line 7
def self.utc_offset_hours
  return Time.now.utc_offset/60/60
end