1

I am using the databasedotcom gem in a Ruby on rails app to access my Salesforce instance but I am having some trouble getting an sObject to be created under the correct namespace. I already have a model called User in my database, so when I first tried to get a list of User objects from Salesforce I was getting my locally defined model.

After reading around I found that I can specify a namespace for the client which I use to connect to my Salesforce instance, using sobject_module. I did that and I also defined a module in my project for the Salesforce models. However I still get back the locally defined User model rather than the Salesforce defined User model. If I try to access a model that is present in Salesforce but not locally then the object is returned under the correct namespace.

Why does this happen? I thought once I set the sobject_module for the client it should return the model under the correct namespace. Here is my client connection:

client = Databasedotcom::Client.new(
                client_id: "my_client_id",
                client_secret: "my_client_secret",
                sobject_module: "Sale"
            )

client.oauth_token = client.authenticate( username: "my_username", password: "my_password")

Here is the module i defined for the Salesforce objects:

module Sale

end

This works, it returns <Sale::Organization:0x007f90ef8ad590>

client.materialize("Organization")

However this does not, it returns <User:0x007f8f7e5a06d0>

client.materialize("User")

Thanks in advance

Update

I was not able to get this to work for me, but I found another gem and it worked perfectly with it. I used the restforce gem

user3831214
  • 891
  • 1
  • 6
  • 7

1 Answers1

0

I assume you have already come to this conclusion, but Heroku is no longer maintaining the databasedotcom gem.

tagCincy
  • 1,589
  • 10
  • 20