class Object

Public Instance Methods

for_(*objects) { |*map(&:get)| ... } click to toggle source
# File lib/for/yield.rb, line 22
def for_(*objects)
  if objects.empty?
    raise ObjectsNotProvidedError
  end

  somes = objects.map(&:class).all? { |o| o == SomeClass }
  unless somes
    raise NotContainerTypesError
  end

  types = objects.map(&:get).map(&:class).uniq.size == 1
  unless types
    raise HeterogeneousObjectsError
  end

  yield *objects.map(&:get)
end