module Material::Collection
Public Instance Methods
ensure_item_validity_with()
click to toggle source
Calls superclass method
# File lib/material/concerns/collection.rb, line 24 def ensure_item_validity_with super || item_class end
item_class()
click to toggle source
# File lib/material/concerns/collection.rb, line 13 def item_class return item_enforcement if item_enforcement.is_a?(Class) item_class = superclass.__send__(:item_enforcement) if superclass.respond_to?(:item_enforcement, true) return item_class if item_class.present? # Prevents against the case of `Material::List` becoming `Material` and returning a module item_class = name.chomp("List").safe_constantize item_class if item_class.is_a?(Class) end
to_ary()
click to toggle source
Calls superclass method
# File lib/material/concerns/collection.rb, line 29 def to_ary ary = super return ary if ary.empty? material_class = ary.first.try(:conjugate, Material::Base) material_class.nil? ? ary : ary.map(&material_class.method(:new)) end