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.



581
582
583
584
585
586
587
# File 'lib/puppet/environments.rb', line 581

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)


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

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.



597
598
599
# File 'lib/puppet/environments.rb', line 597

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.



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

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