class RubyBeans::Container
Attributes
dependency_loading_called[RW]
dependent_containers[RW]
dependent_containers_names[RW]
Public Class Methods
_load_container_instances()
click to toggle source
# File lib/ruby_beans/container.rb, line 19 def _load_container_instances self.instance.dependent_containers_names.each do |container| self.instance.dependent_containers.push(Object.const_get(container).send(:instance)) end end
load_containers(*containers)
click to toggle source
# File lib/ruby_beans/container.rb, line 14 def load_containers(*containers) self.instance.dependency_loading_called = true self.instance.dependent_containers_names = containers end
new()
click to toggle source
# File lib/ruby_beans/container.rb, line 8 def initialize @dependency_loading_called = false @dependent_containers_names = [] @dependent_containers = [] end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/ruby_beans/container.rb, line 26 def method_missing(name, *args, &block) name = name.to_s if dependency_loading_called && dependent_containers.empty? self.class._load_container_instances end if name.start_with?('get_') && name.end_with?('_bean') result = nil dependent_containers.each do |container| result = container.send(name) end result elsif name.end_with?('_bean') bean = RubyBeans::Cache.get name unless bean bean = self.send("get_#{name}") RubyBeans::Cache.put(name, bean) end bean else super end end