lib/gdk/reminder_helper.rb (20 lines of code) (raw):

# frozen_string_literal: true require 'time' module GDK module ReminderHelper REMINDER_DIR_NAME = '.gdk_reminders' def self.should_run_reminder?(reminder_type, days_interval = 5) cache_path = reminder_cache_path(reminder_type) last_run = File.exist?(cache_path) ? Time.parse(File.read(cache_path)) : nil !last_run || (Time.now - last_run) >= (days_interval * 24 * 60 * 60) end def self.update_reminder_timestamp!(reminder_type) File.write(reminder_cache_path(reminder_type), Time.now.iso8601) end def self.reminder_cache_path(reminder_type) path = GDK.config.__cache_dir.join(REMINDER_DIR_NAME, reminder_type) FileUtils.mkdir_p(path.dirname) path end private_class_method :reminder_cache_path end end