ActiveResource::Base class is defective #854

Closed
lighthouse-import opened this Issue May 16, 2011 · 0 comments

1 participant

@lighthouse-import

Imported from Lighthouse. Original ticket at: http://rails.lighthouseapp.com/projects/8994/tickets/6446
Created by Raymond Gao - 2011-02-18 10:10:47 UTC

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,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment