Module: Puppet::Util::CacheAccumulator::ClassMethods
- Defined in:
- lib/vendor/puppet/util/rails/cache_accumulator.rb
Instance Method Summary collapse
Instance Method Details
#accumulates(*attributes) ⇒ Object
48 49 50 |
# File 'lib/vendor/puppet/util/rails/cache_accumulator.rb', line 48 def accumulates(*attributes) attributes.each {|attrib| install_accumulator(attrib)} end |
#accumulators ⇒ Object
52 53 54 |
# File 'lib/vendor/puppet/util/rails/cache_accumulator.rb', line 52 def accumulators @accumulators ||= {} end |
#install_accumulator(attribute) ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/vendor/puppet/util/rails/cache_accumulator.rb', line 56 def install_accumulator(attribute) self.accumulators[attribute] = Base.new(self, attribute) module_eval %{ def self.accumulate_by_#{attribute.to_s}(*keys) accumulators[:#{attribute.to_s}].find(*keys) end } end |