Module: Lesmok::Caching::Helpers::ExpiryCalculation
- Extended by:
- ExpiryCalculation
- Included in:
- ExpiryCalculation
- Defined in:
- lib/lesmok/caching/helpers.rb
Instance Method Summary collapse
Instance Method Details
#calculate_expiry(cached_on_obj = nil, expire_in_option = nil, jitter_factor = 0.05) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/lesmok/caching/helpers.rb', line 7 def calculate_expiry(cached_on_obj = nil, expire_in_option = nil, jitter_factor = 0.05) expire_in ||= cached_on_obj && cached_on_obj.respond_to?(:cache_expire_in) && cached_on_obj.cache_expire_in expire_in ||= (expire_in_option || 5).to_i * 60 # TODO: Is option authorative or fallback only? expire_in += rand * expire_in * jitter_factor if jitter_factor # 5 % random additional time to avoid all expiring at once. expire_in end |