- Add support for nested select statements that are used in conjuction with nested includes (#102)
- Partially addresses #90.
#select
accepts a block and returns an array of filtered SObjects. (#99)
- Fixes #94. Moved query logic and corrected ActiveQuery
ids
method (#97)
- Add
ids
method to ActiveQuery interface (#94) - Add missing standard type for ContentNote and fix the way the model generator handles the name input so it acts a bit more predictably. (#95)
- Fixes #91. Applies scopes to eager-loaded associations when they are nested. (#92)
- Uninitialized attributes will ERROR instead of returning as
nil
(#78) - Add Range condition support (#87)
- Use ':decimal' type for Salesforce currency fields in model generation (#88) (#88)
- Fix includes with has_one associations when no associated record (#83)
- Raise
UnknownFieldError
if.where
is given non-existent attribute names (#80) - Fix
.update
and.update!
: include givennil
valued attributes in request (#79) - Change
.first
to not query the API if records have already been retrieved (#77)
- Revert "ActiveForce .first performance enhancement (#73)" (#76)
- Change
.first
to not query the API if records have already been retrieved (#73) - Bugfix: Transform NULL values for SF Bulk API, which expects "#N/A" (#74)
- Bulk API methods. (#65)
- Fix eager loading of scoped associations. (#67)
- Adding
.blank?
,.present?
, and.any?
delegators toActiveQuery
. (#68) - Adding
update
andupdate!
class methods onSObject
. (#66) - Allow an argument to
last
allowing the query to select thelast(n)
records. Default is 1. (#66)
- Fix bug with has_many queries due to query method chaining mutating in-place (#10)
- Fix
default
in models when default value is overridden by the same value, it is still sent to salesforce (#61) - Support to fetch multi-level associations during eager load (#62)
- Revert new
pluck
implementation due to compatibility issues (#60)
- Fix model defaults so data is persisted in Salesforce (#55)
- Add
pluck
query method (#51) - Add
#order
method to active query that accepts arguments in several formats ( symbol, string that has raw soql) (#58)
- Add
scoped_as
option tohas_one
association (#50) - Add
default
to model fields (#49) - Allow
nil
datetimes as:datetime
fields (#52)
- Add
#loaded?
method for ActiveQueries to allow the detection of records loaded in memory or pending to be loaded. (#45) - Use attributes' values_for_database (serialize) value instead of using the type casted value to allow more flexibility when creating your own ActiveModel type
- Fix constructor of
ActiveForce::RecordNotFound
(#44) - Add
.to_json
and.as_json
toSObject
to allow JSON serialization (#37) - Memoize the
ActiveForce::Mapping#mappings
Hash since it is based on the fields and those are generally only set when the class is loaded. Also useHash#key
which returns the key for a value rather thanHash#invert
which creates a new Hash with key/value inverted. (#41)
- Add
.find!
toSObject
(#39)
- Add
.describe
toSObject
to allow convenient metadata fetching (#36)
- Fix has_one assignment when receiver does not have id (#23)
- Fix: prevent association methods from running queries when keys do not exist (#20)
- Fix
datetime
fields of SObjects to use iso(8601) format when sending to SF (#18)
- Added support for 'or' and 'not' clauses (#13)
- Added support for the SUM aggregate function (#14)
- Allow
model
to be passed as a string or a constant (#16)
- Fix
#where
chaining onActiveQuery
(#7) - Add
#find_by!
which raisesActiveForce::RecordNotFound
if nothing is found. (#8) - Fix
#includes
to find, build, and set the association. (#12)
- Fix invalid error class (#6)
- Add support for Rails 7 and update Restforce dependency to newer version. (#3)
- Add
has_one
association. (#3) - Model generator enhancements (#3):
- automatically add types to fields
- sort fields alphabetically
- add
table_name
to class - add optional namespace parameter so generated models can be namespaced
- Add get/set via
[]
and[]=
forSObject
attributes. (#3)
- Allow sfdc_client to be set. (#92)
- Rails4-style conditional has_many associations (Dan Olson)
- Add
#includes
query method to eager load has_many association. (Dan Olson) - Add
#includes
query method to eager load belongs_to association. (#65) - SObject#destroy method.
- Fix missing require of 'restforce'. Now clients don't need to add an initializer.
- Add select statement functionality. (Pablo Oldani, #33)
- Add callback functionality (Pablo Oldani, #20)
- Support bind parameters. (Dan Olson, #29)
- Fix when passing nil value in a :where condition. (Armando Andini)
- Model generator complete (Armando Andini, #19)
- Provide a default id field for all SObject subclassees (Dan Olson, #30)
- Fix Ruby 2.0 compatibility issue (Dan Olson, Pablo Oldani, #28)
- Normalize rspec syntax to remove deprecation warnings (Dan Olson, #26)
- Remove namespace when inferring default SObject.table_name (Dan Olson, #24)
- Add create! and save! methods. (Pablo Oldani, #21)
- Refactor update and create methods. (Pablo Oldani, #21)
- Add a generator. (José Piccioni, #19)
- ActiveQuery now provides :each, :map and :inspect. (Armando Andini)
- Add SObject.create class mehtod. (Pablo Oldani, #10)
- SObject.field default mapping value follows SFDC API naming convention. (Dan Olson, #14 #15)
- Use ActiveQuery instead of Query. (Armando Andini)
- Add instructions to use validations (José Piccioni)
- Lots of refactoring.
- Fixed gemspec.
- Create different classes for associations. (#4)
- Big refactor on has_many association. (Armando Andini)
- Add a lot of specs and refactors. (Armando Andini)
- Add a Finders module. (Armando Andini)
- Add fist and last method to SObject.
- Add belogns_to and has_many associations.
- Changed when the SOQL query is sent to the client.
- Add join method to query to use associtations.
- Add query builder object to chain conditions.
- Update update and create methods.
- Add Campaing standard table name.
- ActiveForce::SObject#table_name is auto populated using the class name. It adds "__c" to all non standard types.