class Foodbox
  def initialize (*food)
    raise ArgumentError,  unless  food.all?{|f| f.respond_to?(:eat)}
    @box = food
  end
end

class Fruit
  def eat; end
end

class Apple < Fruit; end

p Foodbox.new(Fruit.new, Apple.new)


p Foodbox.new(Apple.new, )