module Tally::Keyable
Public Class Methods
new(key, record = nil)
click to toggle source
# File lib/tally/keyable.rb, line 13 def initialize(key, record = nil) @key = key.to_s.gsub(":", ".").downcase.strip @record = record end
Public Instance Methods
day()
click to toggle source
# File lib/tally/keyable.rb, line 18 def day @day ||= Time.current.utc.to_date end
Private Instance Methods
daily_key()
click to toggle source
# File lib/tally/keyable.rb, line 24 def daily_key "#{ prefix }@#{ date_key }" end
date_key()
click to toggle source
# File lib/tally/keyable.rb, line 28 def date_key @date_key ||= day.strftime(Tally.config.date_format) end
prefix()
click to toggle source
# File lib/tally/keyable.rb, line 32 def prefix Tally.config.prefix end
record_key()
click to toggle source
# File lib/tally/keyable.rb, line 36 def record_key if record "#{ record.model_name.i18n_key }:#{ record.id }" end end
redis_key()
click to toggle source
# File lib/tally/keyable.rb, line 42 def redis_key @redis_key ||= "#{ prefix }:#{ simple_key }@#{ date_key }" end
simple_key()
click to toggle source
# File lib/tally/keyable.rb, line 46 def simple_key @simple_key ||= if record.respond_to?(:model_name) "#{ record_key }:#{ key }" else key end end