Class: Puppet::Environments::Cached::MRUEntry Private

Inherits:
Entry show all
Defined in:
lib/puppet/environments.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Policy that expires if it hasn’t been touched within ttl_seconds

Instance Attribute Summary

Attributes inherited from Entry

#value

Instance Method Summary collapse

Methods inherited from Entry

#guard, #guarded?, #unguard

Constructor Details

#initialize(value, ttl_seconds) ⇒ MRUEntry

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of MRUEntry.



578
579
580
581
582
583
584
# File 'lib/puppet/environments.rb', line 578

def initialize(value, ttl_seconds)
  super(value)
  @ttl = Time.now + ttl_seconds
  @ttl_seconds = ttl_seconds

  touch
end

Instance Method Details

#expired?(now) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


590
591
592
# File 'lib/puppet/environments.rb', line 590

def expired?(now)
  now > @ttl
end

#labelObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



594
595
596
# File 'lib/puppet/environments.rb', line 594

def label
  "(ttl = #{@ttl_seconds} sec)"
end

#touchObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



586
587
588
# File 'lib/puppet/environments.rb', line 586

def touch
  @ttl = Time.now + @ttl_seconds
end