class ActiveAdmin::ResourceCollection
It’s assumed that an added resource responds to ‘resource_name`.
This is a container for resources, which acts much like a Hash.
def [](klass)
def [](klass) if match = @resources[klass] match elsif match = real_resources.detect{ |r| [r.resource_name.to_s, r.resource_class.to_s].include? klass.to_s } match elsif klass.respond_to? :base_class real_resources.detect{ |r| r.resource_class.to_s == klass.base_class.to_s } end end
def add(resource)
def add(resource) @resources[resource.resource_name] ||= resource end
def each(&block)
def each(&block) values.each &block end
def initialize
def initialize @resources = {} end
def real_resources
REFACTOR: ResourceCollection currently stores Resource and Page objects. That doesn't
def real_resources select{ |r| r.respond_to? :resource_class } end