• KyleBowerman
  • NEWBIE
  • 0 Points
  • Member since 2008

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies
I am trying to build some Ruby utility scripts. Eventual I would like to replicate some basic export and import data scripts like Data Loader as a command line utility. Please stop me now if I am barking up the wrong tree. I am able to generate scaffolding through rails no problem using the scaffold generator(I have heard reference to a asfscaffold but can't find it.) But I would like to dump sObject data to a csv file.

the follow script works and generates a list of objects:


require 'rubygems'
require 'activesalesforce'

ActiveRecord::Base.establish_connection(
:adapter => 'activesalesforce',
:username => '',
:password => '',
:url => 'https://www.salesforce.com' )

sObjects = ActiveRecord::Base.connection.binding.describeGlobal([]).describeGlobalResponse.result.types.sort
puts sObjects



but I can't seem to figure out the syntax to describeSObjects syntax I have:

mySobjects = ['Contact', 'Account']
list = ActiveRecord::Base.connection.binding.describeSObjects(mySobjects).results

which returns nil

Can someone help me with this syntax?

Also an example of a query would be great too.

Thanks

Kyle
I am trying to build some Ruby utility scripts. Eventual I would like to replicate some basic export and import data scripts like Data Loader as a command line utility. Please stop me now if I am barking up the wrong tree. I am able to generate scaffolding through rails no problem using the scaffold generator(I have heard reference to a asfscaffold but can't find it.) But I would like to dump sObject data to a csv file.

the follow script works and generates a list of objects:


require 'rubygems'
require 'activesalesforce'

ActiveRecord::Base.establish_connection(
:adapter => 'activesalesforce',
:username => '',
:password => '',
:url => 'https://www.salesforce.com' )

sObjects = ActiveRecord::Base.connection.binding.describeGlobal([]).describeGlobalResponse.result.types.sort
puts sObjects



but I can't seem to figure out the syntax to describeSObjects syntax I have:

mySobjects = ['Contact', 'Account']
list = ActiveRecord::Base.connection.binding.describeSObjects(mySobjects).results

which returns nil

Can someone help me with this syntax?

Also an example of a query would be great too.

Thanks

Kyle
Hi all,

I am a newbie to activesalesforce and I'm trying to get it running. I ran into the above error when I created a simple rails app and added a scaffold for 'Account' using:

script/generate scaffold account

so, I tried to run the unit tests and got the same error (Error details after env)

My env:

ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]

actionmailer (2.2.2, 2.0.2.9216, 2.0.2.9129, 2.0.2, 1.3.6, 1.3.3)
actionpack (2.2.2, 2.0.2.9216, 2.0.2.9129, 2.0.2, 1.13.6, 1.13.3)
actionwebservice (1.2.6, 1.2.3)
activerecord (2.2.2, 2.0.2.9216, 2.0.2.9129, 2.0.2, 1.15.6, 1.15.3)
activerecord-activesalesforce-adapter (2.0.0)
activeresource (2.2.2, 2.0.2.9216, 2.0.2.9129, 2.0.2)
activesupport (2.2.2, 2.0.2.9216, 2.0.2.9129, 2.0.2, 1.4.4, 1.4.2)


database config
adapter: activesalesforce
username: <removed>
password: <removed>

I've tried with and w/o URLs specified (https://test.salesforce.com doesn't work for me).


Error details:

The log shows
Starting test 'AsfUnitTestsBasicTest.test_add_notes_to_contact'
   Created one-to-one relationship 'master_record' from Contact to Contact using master_record_id
   Creating ActiveRecord stub for the referenced entity 'Account'
E

The exception is:
  1) Error:
test_add_notes_to_contact(Asf::UnitTests::BasicTest):
NoMethodError: undefined method `connection=' for #<Class:0x19b0a90>
    /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in `method_missing
'
    /Library/Ruby/Gems/1.8/gems/activerecord-activesalesforce-adapter-2.0.0/lib/active_record/connec
tion_adapters/activesalesforce_adapter.rb:698:in `configure_active_record'
    /Library/Ruby/Gems/1.8/gems/activerecord-activesalesforce-adapter-2.0.0/lib/active_record/connec
tion_adapters/activesalesforce_adapter.rb:672:in `each'
    /Library/Ruby/Gems/1.8/gems/activerecord-activesalesforce-adapter-2.0.0/lib/active_record/connec
tion_adapters/activesalesforce_adapter.rb:672:in `configure_active_record'
    /Library/Ruby/Gems/1.8/gems/activerecord-activesalesforce-adapter-2.0.0/lib/active_record/connec
tion_adapters/activesalesforce_adapter.rb:649:in `get_entity_def'
    /Library/Ruby/Gems/1.8/gems/activerecord-activesalesforce-adapter-2.0.0/lib/active_record/connec
tion_adapters/activesalesforce_adapter.rb:764:in `lookup'
    /Library/Ruby/Gems/1.8/gems/activerecord-activesalesforce-adapter-2.0.0/lib/active_record/connec
tion_adapters/activesalesforce_adapter.rb:717:in `columns'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1220:in `columns'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2839:in `attributes_fro
m_column_definition_without_lock'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/locking/optimistic.rb:55:in `at
tributes_from_column_definition'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2279:in `initialize'
    unit/basic_test.rb:56:in `new'
    unit/basic_test.rb:56:in `setup'


Note that the above is essentially the same when I try to access the accounts listing from my rails app, with the expected variations in the backtrace

With the rails app, if I generate the model class for XXXX (using script/generate model XXXX) for the object referred to in the log statement "Creating ActiveRecord stub for the referenced entity 'XXXXX'", the code will proceed further and fail identically but refer to another entity. After enough model classes are generated (to satisfy all associations, I guess), the code does work. But I realized after more research that ASF should handle all that for me. Somehow it doesn't.

I know I'm missing something, but don't know what. Any help is greatly appreciated.

Thanks,
Vijay



Message Edited by vijayn on 12-01-2008 03:20 PM
  • December 01, 2008
  • Like
  • 0