DBの代わりにymlを使って値を記録・更新したい
複雑なデータを記録したいわけじゃないので、DBは使いたくない。
サンプル
前回の起動時間からn日経ってたらtrueを返す例
class TimeKeeper require 'yaml' def last_acted_at data = open('./lib/time_keeper/last_acted_at.yml', 'r') { |f| YAML.safe_load(f) } Time.zone.parse(data['last_acted_at']) end def update_last_acted_at data = { 'last_acted_at' => Time.current.strftime('%Y-%m-%d %H:%M:%S') } YAML.dump(data, File.open('./lib/time_keeper/last_acted_at.yml', 'w')) end def since_n_days_from_last_acted_at?(day_num) Time.current >= last_acted_at.since(day_num.days) end end
update_last_acted_atは一連の処理が終わった後に使う。
cron使えばこんなものは必要ないけれど、cronが使えない状況もあるので、そういう人に届けばいい。