Module: TeguGears::Memoize::InstanceMethods

Defined in:
lib/tegu_gears/memoize.rb

Instance Method Summary collapse

Instance Method Details

#call(*x) ⇒ Object



18
19
20
# File 'lib/tegu_gears/memoize.rb', line 18

def call(*x)
  function(*x)
end

#flushObject



39
40
41
# File 'lib/tegu_gears/memoize.rb', line 39

def flush
  MemoRepository.flush_for(self)
end

#function(*x) ⇒ Object



31
32
33
# File 'lib/tegu_gears/memoize.rb', line 31

def function(*x)
  self.memoize ? memoized(*x) : process(*x)
end

#memoizeObject



22
23
24
25
# File 'lib/tegu_gears/memoize.rb', line 22

def memoize
  @memoize = true unless defined?(@memoize)
  @memoize 
end

#memoize=(val) ⇒ Object



27
28
29
# File 'lib/tegu_gears/memoize.rb', line 27

def memoize=(val)
  @memoize = val
end

#memoized(*x) ⇒ Object



35
36
37
# File 'lib/tegu_gears/memoize.rb', line 35

def memoized(*x)
  MemoRepository.for(self, x) || MemoRepository.set(self, x, process(*x))
end