Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

ActiveResource::Base class is defective

#6446

Hi, I am building a GEM for retrieving data from Salesforce Force.com using REST API.
My class inherits from the ActiveResource::Base class. However, we I tried to make a Salesforce::UserRest.find(:all) call, the ActiveResource fails and complains about 'collect!' as an invalid method.

Apparently, in the 'ActiveResource::Base' file, the line#885 of 3.0.4 version release is the culprit for failure. "collect!" is a valid method for Array. But, when you have a Hash object as the result of a REST call, it breaks the GEM, because 'collect!' is not a valid method for the Hash class.

See this:

    def instantiate_collection(collection, prefix_options = {})
      collection.collect! { |record| instantiate_record(record, prefix_options) }    #This is the problem line.
    end

Can someone please fix this?
Thanks,

Reported by Raymond Gao · February 18th, 2011 @ 04:22 AM

State: new
Milestone: none
Assigned to: nobody
Importance: none

Activity