Carlos
1/8/2006 4:56:00 AM
[Todd Breiholz <talanb@gmail.com>, 2006-01-08 04.15 CET]
> I must be missing something...
>
> I've got the following class method. The problem is the line that reads objs
> << self.new(obj). The first time through the loop, the objs array looks
> correct. After the second iteration however, the objs array contains 2
> copies of the second object created.
>
> Here is the output from the method:
>
> "00630000003BqXwAAK"
> [00630000003BqXwAAK]
> "00630000003awD3AAI"
> [00630000003awD3AAI, 00630000003awD3AAI]
>
> and here is the method:
>
> def FindAll(criteria)
> self.GetAllFields if (defined? @@attribs) == nil
> result = @@connection.query([:query, "select #{@@attribs} from #{
> self.to_s} where #{criteria}"])
> objs = []
> result.queryResponse.result.records.each do |obj|
> p obj.Id
> objs << self.new(obj)
Or, more probably ^^^^^^^^ here is the problem :). Try self.class.new if you
want a new object of the same class as self.
> p objs
> end
> objs
> end
>
> Thanks!
>
> Todd Breiholz