Sounds like a good chance to pull that functionality out into a function for reuse:

class Array
 def all_elements_are?(klass)
   self.inject(true) { |same, n| same && n.instance_of?(klass) }
 end
end

a = ['foo', 'bar', 'baz']
a.all_elements_are?(String)     #=> true

b = ['foo', 5, 'baz']
b.all_elements_are?(String)     #=> false

Tom



Chris Abad wrote:
anyone know of a better way to make sure all items in an array are instances of the same class? specifically i want to make sure they're all instances of the same AR class.

This just doesn't seem the best way:

def method
  object_class = array.first.class
  array.each do | record |
    raise ArgumentError unless record.class == object_class
  end
end
_______________________________________________
Sdruby mailing list
[email protected]
http://lists.sdruby.com/mailman/listinfo/sdruby



--
Tom Werner
Helmets to Hardhats
Software Developer
[EMAIL PROTECTED]
www.helmetstohardhats.org

_______________________________________________
Sdruby mailing list
[email protected]
http://lists.sdruby.com/mailman/listinfo/sdruby

Reply via email to