module ExtendIt::ArrayOf

Public Instance Methods

array_of(entity_class, &block) click to toggle source
# File lib/extend_it/array_of.rb, line 6
def array_of(entity_class, &block)
  array_name = "ArrayOf#{entity_class.name.split('::').last}"
  array_class = Class.new(SimpleDelegator) do
    @entity_class = entity_class
    @scopes = {}
    @finder = nil
    extend ArrayOf::ArrayClassMethods
    include ArrayOf::ArrayMethods
  end
  array_class.class_eval(&block) if block_given?
  const_set(array_name, array_class)
end