- Use UTC when serializing times. #97
- Upgraded to RSpec ~> 2.99.0 and fixed deprecations in preparation for RSpec 3 upgrade
- Fix regression introduced in 1.10.1 where any records that do not respond to #contacts could not be reloaded.
- Stop serializing the result of CapsuleCRM::Serializer#serialize. It causes the serialized version of an object to become stale. #90
- #reload now also reloads the contacts information. More information here
- Add
#opportunities
method toparty
,person
andorganization
. - Thanks to @chrisradford #86
- Fix issue where opportunities could not be saved if they had an associated track. Track.find method was missing. - Thanks to @jonathansimmons #84
- Fix issue where opportunities would never persist because they were
serializing and sending the
probability
attribute to capsule which capsule did not want. - Thanks to @whitecl #82
- Task#category is now persisted correctly #80
- Raise a CapsuleCRM::Errors::AssociationTypeMismatch when an object of the wrong type is set on a belongs to association. #79
- CapsuleCRM::Errors::RecordInvalid#to_s and #inspect methods are now more descriptive #78
- Custom fields may now be deleted. #77
- Inspecting items only displays their attributes now. Much cleaner for working on the console https://github.com/mattbeedle/capsule_crm/commit/cde082c1934ff97b6fa2dc9c56a01ca771d73b26
- Fix bug where responses errors always had a blank body. #76
- Fix issue where if capsulecrm.com returned a blank error response the ResponseError would raise an undefined method exception. #74
- ResponseError#to_s now return the response message from the server so errors are a little easier to debug. #69
- A has many association will now accept a single object as an argument and coerce that object into an array.
- Fix issue with ruby 1.9.3 where incompatible OpenStruct syntax was being used. Also, update tests to actually use OpenStructs not hashes. (@ryanbooker)
- Fix the update path for organizations. It was missing the org.id part. (@ghiculescu)
- Add ID to email, website, address and phone models to fix bug where they were being duplicated every time a contactable model was saved
- Add TaskCategory
- Upgrade to latest virtus
- Fix bug with contacts, where contact details were being attached to parties as an array of hashes
- Added ActiveModel::Callbacks to persistence module so after_save methods may be added
- Used after_save method to save all embedded associations (custom fields)
- Refactored associations to allow classes to reflect on themselves in order to allow serialization to happen in one place
- Created a serializer to deal with all converting all objects into capsule crm compliant hashes
- Created CapsuleCRM::Normalizer to deal with converting capsule crm hashes into ActiveModel compliant hashes
- Extracted querying logic into modules
- Extracted persistence logic into modules
- Extracted deleting logic into a module
- Added CapsuleCRM::Associations::BelongsToFinder to deal with querying the belongs to side of associations
- Added CapsuleCRM::CustomFieldDefinitions
- Refactor associations. Now all classes know about their associations and associations may be queried using Class.associations/has_many_associations/belongs_to_associations
- Add a serializer class to deal with serializing objects into their capsule crm json
- Refactor to_capsule_crm in all models to use the new serializer
- Refactored connection error raising to use faraday middleware
- Raise an error when trying to call create on a not yet saved has_many association
- Validate numericality of ID on all models
- Using SemVer and this gem is being used in production, so bumped to version 1
- Handle 401 responses by raising a CapsuleCRM::Errors::Unauthorized error
- Automatically strformat the lastmodified param for GET requests
- Added Track support
- Refactored code for finding parties/people/organizations to make sure that contacts are always a CapsuleCRM::Contacts when finding a record
- Moved attributes= into a module
- Custom field support (@srbaker, @clod81)
- Add Organization#destroy (@danthompson)
- Fixed init_collection method for when a single (#27) (@clod81)