Method: Redis::Helper#ttl_to

Defined in:
lib/redis/helper.rb

#ttl_to(to_time, from_time = Time.current, unsigned_non_zero: true) ⇒ Integer

引数で指定した時間にexpireするためのttl値を生成

Examples:

# 2016/10/26 正午にexpireする
redis.setex(key, ttl_to(Time.zone.parse("2016-10-26 12:00:00")), value)
# 24時間後にexpireする
redis.setex(key, ttl_to(1.day.since), value)

Parameters:

  • to_time (Time)

    expireする時間

  • from_time (Time) (defaults to: Time.current)

    現在時間

  • unsigned_non_zero (Boolean) (defaults to: true)

    計算結果のttlが0の場合1を返す

Returns:

  • (Integer)


113
114
115
116
117
# File 'lib/redis/helper.rb', line 113

def ttl_to(to_time, from_time = Time.current, unsigned_non_zero: true)
  ttl = (to_time - from_time).to_i
  return ttl if ttl > 0
  unsigned_non_zero ? 1 : ttl
end