ActiveSalesforce is an extension to the Rails Framework that allows for the dynamic creation and management of ActiveRecord objects through the use of Salesforce meta-data and uses a Salesforce.com organization as the backing store.
This repo is a fork of [dchasman activesalesforce] dchasman with changes/commits brought in from other repos. The big changes are:
- Original tests are now working and even have assertions(!)
- Bundler is used for dependencies
- rforce is no longer included - instead it is a bundler dependency (see Rakefile)
- rforce updated to latest version (0.7 at the time of this writing)
- Gem creation is a Rake::GemPackageTask
- dchasman had started removing the cumbersome recording implementation. This has been completely removed.
- Check the commits for more details ...
-
Clone the repo and build the gem yourself with:
rake gem
-
Add a reference to your project using bundler. In your Gemfile:
gem 'activerecord-activesalesforce-adapter', :git => 'git://github.com/amphora/activerecord-activesalesforce-adapter.git'
-
Edit database.yml
development: adapter: activesalesforce url: https://www.salesforce.com username: password:
NOTE: If you want to access your Salesforce Sandbox account use https://test.salesforce.com as your url instead.
-
Create your salesforce models using a Salesforce:: namespace.
script/generate model Salesforce::Contact
-
Run a quick test to make sure things are working
> script/console Loading development environment (Rails 2.3.3) >> Salesforce::Contact.first => <Salesforce::Contact id: "003T000000GqvJsIAJ", ... >
-
Proceed using standard Rails development techniques!
-
Session ID based Authentication: Add the following to /app/controllers/application.rb to enable SID auth for all controllers
class ApplicationController < ActionController::Base before_filter ActiveSalesforce::SessionIDAuthenticationFilter end
-
Boxcar'ing of updates, inserts, and deletes. Use .transaction() to demark boxcar boundaries.
lib Application specific libraries. Basically, any kind of custom code that doesn't belong under controllers, models, or helpers. This directory is in the load path.
script Helper scripts for automation and generation.
test Unit and functional tests. (These are really functional tests as they require a connection to Salesforce in order to run.)