Module: Foobara::Agent::Concerns::SubclassCacheable

Included in:
DetermineInputsForNextCommand, NotifyUserThatCurrentGoalHasBeenAccomplished
Defined in:
foobara-agent-0.0.5/src/foobara/agent/concerns/subclass_cacheable.rb

Overview

There’s nothing really subclass-specific about this concern, maybe rename it…

Instance Method Summary collapse

Instance Method Details

#cached_subclass(key) ⇒ Object



14
15
16
17
18
19
20
# File 'foobara-agent-0.0.5/src/foobara/agent/concerns/subclass_cacheable.rb', line 14

def cached_subclass(key)
  if subclass_cache.key?(key)
    subclass_cache[key]
  else
    subclass_cache[key] = yield
  end
end

#clear_subclass_cacheObject



10
11
12
# File 'foobara-agent-0.0.5/src/foobara/agent/concerns/subclass_cacheable.rb', line 10

def clear_subclass_cache
  @subclass_cache = nil
end

#subclass_cacheObject



6
7
8
# File 'foobara-agent-0.0.5/src/foobara/agent/concerns/subclass_cacheable.rb', line 6

def subclass_cache
  @subclass_cache ||= {}
end