restforce-db 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/lib/restforce/db/associations/base.rb +7 -7
  4. data/lib/restforce/db/associations/belongs_to.rb +6 -10
  5. data/lib/restforce/db/associations/foreign_key.rb +1 -2
  6. data/lib/restforce/db/associations/has_many.rb +2 -1
  7. data/lib/restforce/db/associations/has_one.rb +2 -1
  8. data/lib/restforce/db/cleaner.rb +25 -3
  9. data/lib/restforce/db/configuration.rb +7 -0
  10. data/lib/restforce/db/record_types/active_record.rb +5 -1
  11. data/lib/restforce/db/version.rb +1 -1
  12. data/lib/restforce/db.rb +1 -0
  13. data/test/cassettes/Restforce_DB/accessing_Salesforce/uses_the_configured_credentials.yml +1 -1
  14. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_build/returns_an_associated_record_populated_with_the_Salesforce_attributes.yml +17 -17
  15. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_build/when_no_salesforce_record_is_found_for_the_association/proceeds_without_constructing_any_records.yml +11 -11
  16. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_build/when_the_associated_record_has_already_been_persisted/assigns_the_existing_record.yml +17 -17
  17. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_build/when_the_associated_record_has_been_cached/uses_the_cached_record.yml +17 -17
  18. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_build/when_the_association_is_non-building/proceeds_without_constructing_any_records.yml +14 -14
  19. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_build/with_an_unrelated_association_mapping/proceeds_without_raising_an_error.yml +17 -17
  20. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_lookups/returns_a_hash_of_the_associated_records_lookup_IDs.yml +11 -11
  21. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_lookups/when_there_is_currently_no_associated_record/and_the_underlying_association_is_one-to-many/still_returns_a_nil_lookup_value_in_the_hash.yml +119 -0
  22. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_lookups/when_there_is_currently_no_associated_record/returns_a_nil_lookup_value_in_the_hash.yml +6 -6
  23. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_synced_for_/when_a_matching_associated_record_has_been_synchronized/returns_true.yml +17 -17
  24. data/test/cassettes/Restforce_DB_Associations_BelongsTo/with_an_inverse_mapping/_synced_for_/when_no_matching_associated_record_has_been_synchronized/returns_false.yml +17 -17
  25. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_build/builds_a_number_of_associated_records_from_the_data_in_Salesforce.yml +29 -29
  26. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_build/when_no_salesforce_record_is_found_for_the_association/proceeds_without_constructing_any_records.yml +11 -11
  27. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_build/when_the_associated_records_have_alrady_been_persisted/constructs_the_association_from_the_existing_records.yml +29 -29
  28. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_build/when_the_associated_records_have_been_cached/uses_the_cached_records.yml +29 -29
  29. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_build/when_the_association_is_non-building/proceeds_without_constructing_any_records.yml +9 -9
  30. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_synced_for_/when_a_matching_associated_record_has_been_synchronized/returns_true.yml +29 -29
  31. data/test/cassettes/Restforce_DB_Associations_HasMany/with_an_inverse_mapping/_synced_for_/when_no_matching_associated_record_has_been_synchronized/returns_false.yml +11 -11
  32. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_build/and_a_nested_association_on_the_associated_mapping/recursively_builds_all_associations.yml +25 -25
  33. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_build/returns_an_associated_record_populated_with_the_Salesforce_attributes.yml +17 -17
  34. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_build/when_no_salesforce_record_is_found_for_the_association/proceeds_without_constructing_any_records.yml +11 -11
  35. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_build/when_the_associated_record_has_already_been_persisted/assigns_the_existing_record.yml +17 -17
  36. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_build/when_the_associated_record_has_been_cached/uses_the_cached_record.yml +17 -17
  37. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_build/when_the_association_is_non-building/proceeds_without_constructing_any_records.yml +14 -14
  38. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_synced_for_/when_a_matching_associated_record_has_been_synchronized/returns_true.yml +17 -17
  39. data/test/cassettes/Restforce_DB_Associations_HasOne/with_an_inverse_mapping/_synced_for_/when_no_matching_associated_record_has_been_synchronized/returns_false.yml +17 -17
  40. data/test/cassettes/Restforce_DB_Associator/_run/given_a_BelongsTo_association/given_another_record_for_association/when_the_Salesforce_association_is_out_of_date/updates_the_association_ID_in_Salesforce.yml +30 -30
  41. data/test/cassettes/Restforce_DB_Associator/_run/given_a_BelongsTo_association/given_another_record_for_association/when_the_database_association_is_out_of_date/updates_the_associated_record_in_the_database.yml +33 -33
  42. data/test/cassettes/Restforce_DB_Cleaner/_run/given_a_synchronized_Salesforce_record/when_the_mapping_has_no_conditions/does_not_drop_the_synchronized_database_record.yml +6 -6
  43. data/test/cassettes/Restforce_DB_Cleaner/_run/given_a_synchronized_Salesforce_record/when_the_record_does_not_meet_the_mapping_conditions/but_meets_conditions_for_a_parallel_mapping/does_not_drop_the_synchronized_database_record.yml +238 -0
  44. data/test/cassettes/Restforce_DB_Cleaner/_run/given_a_synchronized_Salesforce_record/when_the_record_does_not_meet_the_mapping_conditions/{for_a_non-Passive_strategy/drops_the_synchronized_database_record.yml → drops_the_synchronized_database_record.yml} +11 -11
  45. data/test/cassettes/Restforce_DB_Cleaner/_run/given_a_synchronized_Salesforce_record/when_the_record_meets_the_mapping_conditions/does_not_drop_the_synchronized_database_record.yml +12 -12
  46. data/test/cassettes/Restforce_DB_Collector/_run/given_a_Salesforce_record_with_an_associated_database_record/returns_the_attributes_from_both_records.yml +12 -12
  47. data/test/cassettes/Restforce_DB_Collector/_run/given_an_existing_Salesforce_record/returns_the_attributes_from_the_Salesforce_record.yml +12 -12
  48. data/test/cassettes/Restforce_DB_Collector/_run/given_an_existing_database_record/returns_the_attributes_from_the_database_record.yml +3 -3
  49. data/test/cassettes/Restforce_DB_Initializer/_run/given_an_existing_Salesforce_record/for_a_Passive_strategy/does_not_create_a_database_record.yml +6 -6
  50. data/test/cassettes/Restforce_DB_Initializer/_run/given_an_existing_Salesforce_record/for_an_Always_strategy/creates_a_matching_database_record.yml +10 -10
  51. data/test/cassettes/Restforce_DB_Initializer/_run/given_an_existing_database_record/for_an_Always_strategy/populates_Salesforce_with_the_new_record.yml +17 -17
  52. data/test/cassettes/Restforce_DB_Instances_Salesforce/_synced_/when_a_matching_database_record_exists/returns_true.yml +9 -9
  53. data/test/cassettes/Restforce_DB_Instances_Salesforce/_synced_/when_no_matching_database_record_exists/returns_false.yml +9 -9
  54. data/test/cassettes/Restforce_DB_Instances_Salesforce/_update_/updates_the_local_record_with_the_passed_attributes.yml +14 -14
  55. data/test/cassettes/Restforce_DB_Instances_Salesforce/_update_/updates_the_record_in_Salesforce_with_the_passed_attributes.yml +17 -17
  56. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_all/returns_a_list_of_the_existing_records_in_Salesforce.yml +9 -9
  57. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/creates_a_record_in_Salesforce_from_the_passed_database_record_s_attributes.yml +12 -12
  58. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/updates_the_database_record_with_the_Salesforce_record_s_ID.yml +12 -12
  59. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/finds_existing_records_in_Salesforce.yml +9 -9
  60. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/given_a_set_of_mapping_conditions/when_a_record_does_not_meet_the_conditions/does_not_find_the_record.yml +8 -8
  61. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/given_a_set_of_mapping_conditions/when_a_record_meets_the_conditions/finds_the_record.yml +9 -9
  62. data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/returns_nil_when_no_matching_record_exists.yml +3 -3
  63. data/test/cassettes/Restforce_DB_Strategies_Always/_build_/given_a_Salesforce_record/wants_to_build_a_new_matching_record.yml +9 -9
  64. data/test/cassettes/Restforce_DB_Strategies_Always/_build_/given_a_Salesforce_record/with_a_corresponding_database_record/does_not_want_to_build_a_new_record.yml +9 -9
  65. data/test/cassettes/Restforce_DB_Strategies_Associated/_build_/given_an_inverse_mapping/with_a_synchronized_association_record/wants_to_build_a_new_record.yml +17 -17
  66. data/test/cassettes/Restforce_DB_Strategies_Associated/_build_/given_an_inverse_mapping/with_an_existing_database_record/does_not_want_to_build_a_new_record.yml +14 -14
  67. data/test/cassettes/Restforce_DB_Strategies_Associated/_build_/given_an_inverse_mapping/with_no_synchronized_association_record/does_not_want_to_build_a_new_record.yml +17 -17
  68. data/test/cassettes/Restforce_DB_Synchronizer/_run/given_a_Salesforce_record_with_an_associated_database_record/updates_the_database_record.yml +14 -14
  69. data/test/cassettes/Restforce_DB_Synchronizer/_run/given_a_Salesforce_record_with_an_associated_database_record/updates_the_salesforce_record.yml +17 -17
  70. data/test/cassettes/Restforce_DB_Synchronizer/_run/given_a_Salesforce_record_with_no_associated_database_record/does_nothing_for_this_specific_mapping.yml +12 -12
  71. data/test/lib/restforce/db/associations/belongs_to_test.rb +17 -0
  72. data/test/lib/restforce/db/cleaner_test.rb +20 -4
  73. data/test/support/active_record.rb +3 -0
  74. data/test/support/vcr.rb +8 -0
  75. metadata +5 -3
@@ -38,11 +38,11 @@ http_interactions:
38
38
  body:
39
39
  encoding: ASCII-8BIT
40
40
  string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1430498004388","token_type":"Bearer","instance_url":"https://<host>","signature":"UlHQTMd5UMeQOcODXUr6CtDraNkn2Wq50gFTzKBlpT8=","access_token":"00D1a000000H3O9!AQ4AQDv3Hk9TRSKHVK.6TQHDjiXPpFDEH7AxoxdK.ytZcKr4gkBGokBh2ZhUcaf0_eFqhFa6YVCzmfP.bUKsz9xIJOy41iQD"}'
41
- http_version:
41
+ http_version:
42
42
  recorded_at: Fri, 01 May 2015 16:33:24 GMT
43
43
  - request:
44
44
  method: post
45
- uri: https://<host>/services/data/v26.0/sobjects/Contact
45
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact
46
46
  body:
47
47
  encoding: UTF-8
48
48
  string: '{"Email":"somebody@example.com","LastName":"Somebody"}'
@@ -72,7 +72,7 @@ http_interactions:
72
72
  Sforce-Limit-Info:
73
73
  - api-usage=14/15000
74
74
  Location:
75
- - "/services/data/v26.0/sobjects/Contact/0031a000002jr5yAAA"
75
+ - "/services/data/<api_version>/sobjects/Contact/0031a000002jr5yAAA"
76
76
  Content-Type:
77
77
  - application/json;charset=UTF-8
78
78
  Transfer-Encoding:
@@ -80,11 +80,11 @@ http_interactions:
80
80
  body:
81
81
  encoding: ASCII-8BIT
82
82
  string: '{"id":"0031a000002jr5yAAA","success":true,"errors":[]}'
83
- http_version:
83
+ http_version:
84
84
  recorded_at: Fri, 01 May 2015 16:33:24 GMT
85
85
  - request:
86
86
  method: post
87
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c
87
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
88
88
  body:
89
89
  encoding: UTF-8
90
90
  string: '{"Friend__c":"0031a000002jr5yAAA"}'
@@ -114,7 +114,7 @@ http_interactions:
114
114
  Sforce-Limit-Info:
115
115
  - api-usage=14/15000
116
116
  Location:
117
- - "/services/data/v26.0/sobjects/CustomObject__c/a001a000001TuPCAA0"
117
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001TuPCAA0"
118
118
  Content-Type:
119
119
  - application/json;charset=UTF-8
120
120
  Transfer-Encoding:
@@ -122,11 +122,11 @@ http_interactions:
122
122
  body:
123
123
  encoding: ASCII-8BIT
124
124
  string: '{"id":"a001a000001TuPCAA0","success":true,"errors":[]}'
125
- http_version:
125
+ http_version:
126
126
  recorded_at: Fri, 01 May 2015 16:33:25 GMT
127
127
  - request:
128
128
  method: get
129
- uri: https://<host>/services/data/v26.0/query?q=select%20Id,%20SystemModstamp,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001TuPCAA0%27
129
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001TuPCAA0%27
130
130
  body:
131
131
  encoding: US-ASCII
132
132
  string: ''
@@ -159,12 +159,12 @@ http_interactions:
159
159
  - chunked
160
160
  body:
161
161
  encoding: ASCII-8BIT
162
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/v26.0/sobjects/CustomObject__c/a001a000001TuPCAA0"},"Id":"a001a000001TuPCAA0","SystemModstamp":"2015-05-01T16:33:24.000+0000","Name":"a001a000001TuPC","Example_Field__c":null,"Friend__c":"0031a000002jr5yAAA"}]}'
163
- http_version:
162
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001TuPCAA0"},"Id":"a001a000001TuPCAA0","SystemModstamp":"2015-05-01T16:33:24.000+0000","Name":"a001a000001TuPC","Example_Field__c":null,"Friend__c":"0031a000002jr5yAAA"}]}'
163
+ http_version:
164
164
  recorded_at: Fri, 01 May 2015 16:33:25 GMT
165
165
  - request:
166
166
  method: get
167
- uri: https://<host>/services/data/v26.0/query?q=select%20Id,%20SystemModstamp,%20Email%20from%20Contact%20where%20Id%20=%20%270031a000002jr5yAAA%27
167
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20Email%20from%20Contact%20where%20Id%20=%20%270031a000002jr5yAAA%27
168
168
  body:
169
169
  encoding: US-ASCII
170
170
  string: ''
@@ -197,12 +197,12 @@ http_interactions:
197
197
  - chunked
198
198
  body:
199
199
  encoding: ASCII-8BIT
200
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"Contact","url":"/services/data/v26.0/sobjects/Contact/0031a000002jr5yAAA"},"Id":"0031a000002jr5yAAA","SystemModstamp":"2015-05-01T16:33:24.000+0000","Email":"somebody@example.com"}]}'
201
- http_version:
200
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"Contact","url":"/services/data/<api_version>/sobjects/Contact/0031a000002jr5yAAA"},"Id":"0031a000002jr5yAAA","SystemModstamp":"2015-05-01T16:33:24.000+0000","Email":"somebody@example.com"}]}'
201
+ http_version:
202
202
  recorded_at: Fri, 01 May 2015 16:33:25 GMT
203
203
  - request:
204
204
  method: delete
205
- uri: https://<host>/services/data/v26.0/sobjects/Contact/0031a000002jr5yAAA
205
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000002jr5yAAA
206
206
  body:
207
207
  encoding: US-ASCII
208
208
  string: ''
@@ -232,11 +232,11 @@ http_interactions:
232
232
  body:
233
233
  encoding: UTF-8
234
234
  string: ''
235
- http_version:
235
+ http_version:
236
236
  recorded_at: Fri, 01 May 2015 16:33:25 GMT
237
237
  - request:
238
238
  method: delete
239
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c/a001a000001TuPCAA0
239
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001TuPCAA0
240
240
  body:
241
241
  encoding: US-ASCII
242
242
  string: ''
@@ -266,6 +266,6 @@ http_interactions:
266
266
  body:
267
267
  encoding: UTF-8
268
268
  string: ''
269
- http_version:
269
+ http_version:
270
270
  recorded_at: Fri, 01 May 2015 16:33:26 GMT
271
271
  recorded_with: VCR 2.9.3
@@ -38,11 +38,11 @@ http_interactions:
38
38
  body:
39
39
  encoding: ASCII-8BIT
40
40
  string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1431460634690","token_type":"Bearer","instance_url":"https://<host>","signature":"I1sgPTyHS2c7Q4mY6uYgi366rdlGdYcRwz3opVrE+58=","access_token":"00D1a000000H3O9!AQ4AQCN.EK5q2GqYClj_rprS9iFZEfWNjLjAqM_ql5mTUm5HJcVjXHY5YGQjvRhrTa_S8zNQyoc122zuBhcNpC6YS7qVpYuM"}'
41
- http_version:
41
+ http_version:
42
42
  recorded_at: Tue, 12 May 2015 19:57:14 GMT
43
43
  - request:
44
44
  method: post
45
- uri: https://<host>/services/data/v26.0/sobjects/Contact
45
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact
46
46
  body:
47
47
  encoding: UTF-8
48
48
  string: '{"Email":"somebody@example.com","LastName":"Somebody"}'
@@ -72,7 +72,7 @@ http_interactions:
72
72
  Sforce-Limit-Info:
73
73
  - api-usage=1/15000
74
74
  Location:
75
- - "/services/data/v26.0/sobjects/Contact/0031a000003Gm5NAAS"
75
+ - "/services/data/<api_version>/sobjects/Contact/0031a000003Gm5NAAS"
76
76
  Content-Type:
77
77
  - application/json;charset=UTF-8
78
78
  Transfer-Encoding:
@@ -80,11 +80,11 @@ http_interactions:
80
80
  body:
81
81
  encoding: ASCII-8BIT
82
82
  string: '{"id":"0031a000003Gm5NAAS","success":true,"errors":[]}'
83
- http_version:
83
+ http_version:
84
84
  recorded_at: Tue, 12 May 2015 19:57:16 GMT
85
85
  - request:
86
86
  method: post
87
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c
87
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
88
88
  body:
89
89
  encoding: UTF-8
90
90
  string: '{"Friend__c":"0031a000003Gm5NAAS"}'
@@ -114,7 +114,7 @@ http_interactions:
114
114
  Sforce-Limit-Info:
115
115
  - api-usage=2/15000
116
116
  Location:
117
- - "/services/data/v26.0/sobjects/CustomObject__c/a001a000001ZKKDAA4"
117
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001ZKKDAA4"
118
118
  Content-Type:
119
119
  - application/json;charset=UTF-8
120
120
  Transfer-Encoding:
@@ -122,11 +122,11 @@ http_interactions:
122
122
  body:
123
123
  encoding: ASCII-8BIT
124
124
  string: '{"id":"a001a000001ZKKDAA4","success":true,"errors":[]}'
125
- http_version:
125
+ http_version:
126
126
  recorded_at: Tue, 12 May 2015 19:57:17 GMT
127
127
  - request:
128
128
  method: get
129
- uri: https://<host>/services/data/v26.0/query?q=select%20Id,%20SystemModstamp,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001ZKKDAA4%27
129
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001ZKKDAA4%27
130
130
  body:
131
131
  encoding: US-ASCII
132
132
  string: ''
@@ -159,12 +159,12 @@ http_interactions:
159
159
  - chunked
160
160
  body:
161
161
  encoding: ASCII-8BIT
162
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/v26.0/sobjects/CustomObject__c/a001a000001ZKKDAA4"},"Id":"a001a000001ZKKDAA4","SystemModstamp":"2015-05-12T19:57:17.000+0000","Name":"a001a000001ZKKD","Example_Field__c":null,"Friend__c":"0031a000003Gm5NAAS"}]}'
163
- http_version:
162
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001ZKKDAA4"},"Id":"a001a000001ZKKDAA4","SystemModstamp":"2015-05-12T19:57:17.000+0000","Name":"a001a000001ZKKD","Example_Field__c":null,"Friend__c":"0031a000003Gm5NAAS"}]}'
163
+ http_version:
164
164
  recorded_at: Tue, 12 May 2015 19:57:18 GMT
165
165
  - request:
166
166
  method: delete
167
- uri: https://<host>/services/data/v26.0/sobjects/Contact/0031a000003Gm5NAAS
167
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000003Gm5NAAS
168
168
  body:
169
169
  encoding: US-ASCII
170
170
  string: ''
@@ -194,11 +194,11 @@ http_interactions:
194
194
  body:
195
195
  encoding: UTF-8
196
196
  string: ''
197
- http_version:
197
+ http_version:
198
198
  recorded_at: Tue, 12 May 2015 19:57:19 GMT
199
199
  - request:
200
200
  method: delete
201
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c/a001a000001ZKKDAA4
201
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001ZKKDAA4
202
202
  body:
203
203
  encoding: US-ASCII
204
204
  string: ''
@@ -228,6 +228,6 @@ http_interactions:
228
228
  body:
229
229
  encoding: UTF-8
230
230
  string: ''
231
- http_version:
231
+ http_version:
232
232
  recorded_at: Tue, 12 May 2015 19:57:20 GMT
233
233
  recorded_with: VCR 2.9.3
@@ -38,11 +38,11 @@ http_interactions:
38
38
  body:
39
39
  encoding: ASCII-8BIT
40
40
  string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1429758817565","token_type":"Bearer","instance_url":"https://<host>","signature":"ETRbdU1qbtTF4bZuRhnk3OFfLRmxZRMXihMo3PgUaCc=","access_token":"00D1a000000H3O9!AQ4AQI3jppS_aXZi3eoU3Ztk8o91RYAqZvR2D51oCqu62M0uC1FFl0QlLq8SSc7KMviWaMD3qj3R.OxDi5v6FJ24v5LjiUBH"}'
41
- http_version:
41
+ http_version:
42
42
  recorded_at: Thu, 23 Apr 2015 03:13:37 GMT
43
43
  - request:
44
44
  method: post
45
- uri: https://<host>/services/data/v26.0/sobjects/Contact
45
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact
46
46
  body:
47
47
  encoding: UTF-8
48
48
  string: '{"Email":"somebody@example.com","LastName":"Somebody"}'
@@ -72,7 +72,7 @@ http_interactions:
72
72
  Sforce-Limit-Info:
73
73
  - api-usage=1/15000
74
74
  Location:
75
- - "/services/data/v26.0/sobjects/Contact/0031a000002eu2wAAA"
75
+ - "/services/data/<api_version>/sobjects/Contact/0031a000002eu2wAAA"
76
76
  Content-Type:
77
77
  - application/json;charset=UTF-8
78
78
  Transfer-Encoding:
@@ -80,11 +80,11 @@ http_interactions:
80
80
  body:
81
81
  encoding: ASCII-8BIT
82
82
  string: '{"id":"0031a000002eu2wAAA","success":true,"errors":[]}'
83
- http_version:
83
+ http_version:
84
84
  recorded_at: Thu, 23 Apr 2015 03:13:39 GMT
85
85
  - request:
86
86
  method: post
87
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c
87
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
88
88
  body:
89
89
  encoding: UTF-8
90
90
  string: '{"Friend__c":"0031a000002eu2wAAA"}'
@@ -114,7 +114,7 @@ http_interactions:
114
114
  Sforce-Limit-Info:
115
115
  - api-usage=1/15000
116
116
  Location:
117
- - "/services/data/v26.0/sobjects/CustomObject__c/a001a000001QkMJAA0"
117
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001QkMJAA0"
118
118
  Content-Type:
119
119
  - application/json;charset=UTF-8
120
120
  Transfer-Encoding:
@@ -122,11 +122,11 @@ http_interactions:
122
122
  body:
123
123
  encoding: ASCII-8BIT
124
124
  string: '{"id":"a001a000001QkMJAA0","success":true,"errors":[]}'
125
- http_version:
125
+ http_version:
126
126
  recorded_at: Thu, 23 Apr 2015 03:13:40 GMT
127
127
  - request:
128
128
  method: get
129
- uri: https://<host>/services/data/v26.0/query?q=select%20Id,%20SystemModstamp,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001QkMJAA0%27
129
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001QkMJAA0%27
130
130
  body:
131
131
  encoding: US-ASCII
132
132
  string: ''
@@ -159,12 +159,12 @@ http_interactions:
159
159
  - chunked
160
160
  body:
161
161
  encoding: ASCII-8BIT
162
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/v26.0/sobjects/CustomObject__c/a001a000001QkMJAA0"},"Id":"a001a000001QkMJAA0","SystemModstamp":"2015-04-23T03:13:40.000+0000","Name":"a001a000001QkMJ","Example_Field__c":null,"Friend__c":"0031a000002eu2wAAA"}]}'
163
- http_version:
162
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001QkMJAA0"},"Id":"a001a000001QkMJAA0","SystemModstamp":"2015-04-23T03:13:40.000+0000","Name":"a001a000001QkMJ","Example_Field__c":null,"Friend__c":"0031a000002eu2wAAA"}]}'
163
+ http_version:
164
164
  recorded_at: Thu, 23 Apr 2015 03:13:41 GMT
165
165
  - request:
166
166
  method: get
167
- uri: https://<host>/services/data/v26.0/query?q=select%20Id,%20SystemModstamp,%20Email%20from%20Contact%20where%20Id%20=%20%270031a000002eu2wAAA%27
167
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20Email%20from%20Contact%20where%20Id%20=%20%270031a000002eu2wAAA%27
168
168
  body:
169
169
  encoding: US-ASCII
170
170
  string: ''
@@ -197,12 +197,12 @@ http_interactions:
197
197
  - chunked
198
198
  body:
199
199
  encoding: ASCII-8BIT
200
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"Contact","url":"/services/data/v26.0/sobjects/Contact/0031a000002eu2wAAA"},"Id":"0031a000002eu2wAAA","SystemModstamp":"2015-04-23T03:13:38.000+0000","Email":"somebody@example.com"}]}'
201
- http_version:
200
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"Contact","url":"/services/data/<api_version>/sobjects/Contact/0031a000002eu2wAAA"},"Id":"0031a000002eu2wAAA","SystemModstamp":"2015-04-23T03:13:38.000+0000","Email":"somebody@example.com"}]}'
201
+ http_version:
202
202
  recorded_at: Thu, 23 Apr 2015 03:13:42 GMT
203
203
  - request:
204
204
  method: delete
205
- uri: https://<host>/services/data/v26.0/sobjects/Contact/0031a000002eu2wAAA
205
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000002eu2wAAA
206
206
  body:
207
207
  encoding: US-ASCII
208
208
  string: ''
@@ -232,11 +232,11 @@ http_interactions:
232
232
  body:
233
233
  encoding: UTF-8
234
234
  string: ''
235
- http_version:
235
+ http_version:
236
236
  recorded_at: Thu, 23 Apr 2015 03:13:43 GMT
237
237
  - request:
238
238
  method: delete
239
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c/a001a000001QkMJAA0
239
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001QkMJAA0
240
240
  body:
241
241
  encoding: US-ASCII
242
242
  string: ''
@@ -266,6 +266,6 @@ http_interactions:
266
266
  body:
267
267
  encoding: UTF-8
268
268
  string: ''
269
- http_version:
269
+ http_version:
270
270
  recorded_at: Thu, 23 Apr 2015 03:13:44 GMT
271
271
  recorded_with: VCR 2.9.3
@@ -38,11 +38,11 @@ http_interactions:
38
38
  body:
39
39
  encoding: ASCII-8BIT
40
40
  string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1430708626705","token_type":"Bearer","instance_url":"https://<host>","signature":"l9dFCE7hnrj+RVNOaga2AVC08CivElFFEXzzLx249cg=","access_token":"00D1a000000H3O9!AQ4AQNDrKHLCuinZBZ4a3F0V9mX6K..kuE6uPghr4hEJlGztbaV7OXvvfrl14zZZxgwsTH9RfcLkE1Wikbn..Xma3Bd5XKSX"}'
41
- http_version:
41
+ http_version:
42
42
  recorded_at: Mon, 04 May 2015 03:03:46 GMT
43
43
  - request:
44
44
  method: post
45
- uri: https://<host>/services/data/v26.0/sobjects/Contact
45
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact
46
46
  body:
47
47
  encoding: UTF-8
48
48
  string: '{"Email":"somebody@example.com","LastName":"Somebody"}'
@@ -72,7 +72,7 @@ http_interactions:
72
72
  Sforce-Limit-Info:
73
73
  - api-usage=62/15000
74
74
  Location:
75
- - "/services/data/v26.0/sobjects/Contact/0031a00000317qmAAA"
75
+ - "/services/data/<api_version>/sobjects/Contact/0031a00000317qmAAA"
76
76
  Content-Type:
77
77
  - application/json;charset=UTF-8
78
78
  Transfer-Encoding:
@@ -80,11 +80,11 @@ http_interactions:
80
80
  body:
81
81
  encoding: ASCII-8BIT
82
82
  string: '{"id":"0031a00000317qmAAA","success":true,"errors":[]}'
83
- http_version:
83
+ http_version:
84
84
  recorded_at: Mon, 04 May 2015 03:03:47 GMT
85
85
  - request:
86
86
  method: post
87
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c
87
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
88
88
  body:
89
89
  encoding: UTF-8
90
90
  string: '{"Friend__c":"0031a00000317qmAAA"}'
@@ -114,7 +114,7 @@ http_interactions:
114
114
  Sforce-Limit-Info:
115
115
  - api-usage=62/15000
116
116
  Location:
117
- - "/services/data/v26.0/sobjects/CustomObject__c/a001a000001U16LAAS"
117
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001U16LAAS"
118
118
  Content-Type:
119
119
  - application/json;charset=UTF-8
120
120
  Transfer-Encoding:
@@ -122,11 +122,11 @@ http_interactions:
122
122
  body:
123
123
  encoding: ASCII-8BIT
124
124
  string: '{"id":"a001a000001U16LAAS","success":true,"errors":[]}'
125
- http_version:
125
+ http_version:
126
126
  recorded_at: Mon, 04 May 2015 03:03:49 GMT
127
127
  - request:
128
128
  method: delete
129
- uri: https://<host>/services/data/v26.0/sobjects/Contact/0031a00000317qmAAA
129
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a00000317qmAAA
130
130
  body:
131
131
  encoding: US-ASCII
132
132
  string: ''
@@ -156,11 +156,11 @@ http_interactions:
156
156
  body:
157
157
  encoding: UTF-8
158
158
  string: ''
159
- http_version:
159
+ http_version:
160
160
  recorded_at: Mon, 04 May 2015 03:03:50 GMT
161
161
  - request:
162
162
  method: delete
163
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c/a001a000001U16LAAS
163
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001U16LAAS
164
164
  body:
165
165
  encoding: US-ASCII
166
166
  string: ''
@@ -190,6 +190,6 @@ http_interactions:
190
190
  body:
191
191
  encoding: UTF-8
192
192
  string: ''
193
- http_version:
193
+ http_version:
194
194
  recorded_at: Mon, 04 May 2015 03:03:51 GMT
195
195
  recorded_with: VCR 2.9.3
@@ -0,0 +1,119 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<host>/services/oauth2/token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: grant_type=password&client_id=<client_id>&client_secret=<client_secret>&username=<username>&password=<password><security_token>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Tue, 19 May 2015 21:06:48 GMT
25
+ Set-Cookie:
26
+ - BrowserId=ByBZSCL6S7-SC1BiTBWUiw;Path=/;Domain=.salesforce.com;Expires=Sat,
27
+ 18-Jul-2015 21:06:48 GMT
28
+ Expires:
29
+ - Thu, 01 Jan 1970 00:00:00 GMT
30
+ Pragma:
31
+ - no-cache
32
+ Cache-Control:
33
+ - no-cache, no-store
34
+ Content-Type:
35
+ - application/json;charset=UTF-8
36
+ Transfer-Encoding:
37
+ - chunked
38
+ body:
39
+ encoding: ASCII-8BIT
40
+ string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1432069609059","token_type":"Bearer","instance_url":"https://<host>","signature":"zfbrLMOjqIUvY4r6QBb65KMC5wUj6Z/2Ll6lwfEX9xc=","access_token":"00D1a000000H3O9!AQ4AQOFtHn3SE6gPxdfhwmVytgEfpF6iCa307owP1OL6HYF1obRFYNjghLuR.QxkIkRyZu3Evw87_wGS4GT5_YkwqxjLFESh"}'
41
+ http_version:
42
+ recorded_at: Tue, 19 May 2015 21:06:49 GMT
43
+ - request:
44
+ method: post
45
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"Name":"Sample object"}'
49
+ headers:
50
+ User-Agent:
51
+ - Faraday v0.9.1
52
+ Content-Type:
53
+ - application/json
54
+ Authorization:
55
+ - OAuth 00D1a000000H3O9!AQ4AQOFtHn3SE6gPxdfhwmVytgEfpF6iCa307owP1OL6HYF1obRFYNjghLuR.QxkIkRyZu3Evw87_wGS4GT5_YkwqxjLFESh
56
+ Accept-Encoding:
57
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
58
+ Accept:
59
+ - "*/*"
60
+ response:
61
+ status:
62
+ code: 201
63
+ message: Created
64
+ headers:
65
+ Date:
66
+ - Tue, 19 May 2015 21:06:50 GMT
67
+ Set-Cookie:
68
+ - BrowserId=1OdDxkXQRi-VcR2auOFilA;Path=/;Domain=.salesforce.com;Expires=Sat,
69
+ 18-Jul-2015 21:06:50 GMT
70
+ Expires:
71
+ - Thu, 01 Jan 1970 00:00:00 GMT
72
+ Sforce-Limit-Info:
73
+ - api-usage=34/15000
74
+ Location:
75
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001a9cUAAQ"
76
+ Content-Type:
77
+ - application/json;charset=UTF-8
78
+ Transfer-Encoding:
79
+ - chunked
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: '{"id":"a001a000001a9cUAAQ","success":true,"errors":[]}'
83
+ http_version:
84
+ recorded_at: Tue, 19 May 2015 21:06:50 GMT
85
+ - request:
86
+ method: delete
87
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001a9cUAAQ
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers:
92
+ User-Agent:
93
+ - Faraday v0.9.1
94
+ Authorization:
95
+ - OAuth 00D1a000000H3O9!AQ4AQOFtHn3SE6gPxdfhwmVytgEfpF6iCa307owP1OL6HYF1obRFYNjghLuR.QxkIkRyZu3Evw87_wGS4GT5_YkwqxjLFESh
96
+ Accept-Encoding:
97
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
98
+ Accept:
99
+ - "*/*"
100
+ response:
101
+ status:
102
+ code: 204
103
+ message: No Content
104
+ headers:
105
+ Date:
106
+ - Tue, 19 May 2015 21:06:51 GMT
107
+ Set-Cookie:
108
+ - BrowserId=F2NnH09RSISLTmIFu-lAoA;Path=/;Domain=.salesforce.com;Expires=Sat,
109
+ 18-Jul-2015 21:06:51 GMT
110
+ Expires:
111
+ - Thu, 01 Jan 1970 00:00:00 GMT
112
+ Sforce-Limit-Info:
113
+ - api-usage=35/15000
114
+ body:
115
+ encoding: UTF-8
116
+ string: ''
117
+ http_version:
118
+ recorded_at: Tue, 19 May 2015 21:06:51 GMT
119
+ recorded_with: VCR 2.9.3
@@ -38,11 +38,11 @@ http_interactions:
38
38
  body:
39
39
  encoding: ASCII-8BIT
40
40
  string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1430709113521","token_type":"Bearer","instance_url":"https://<host>","signature":"2BWFc3pyXdIWgSNtXnE+OpZDdD+Oas7Mk3KKVvtfEzw=","access_token":"00D1a000000H3O9!AQ4AQNDrKHLCuinZBZ4a3F0V9mX6K..kuE6uPghr4hEJlGztbaV7OXvvfrl14zZZxgwsTH9RfcLkE1Wikbn..Xma3Bd5XKSX"}'
41
- http_version:
41
+ http_version:
42
42
  recorded_at: Mon, 04 May 2015 03:11:53 GMT
43
43
  - request:
44
44
  method: post
45
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c
45
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
46
46
  body:
47
47
  encoding: UTF-8
48
48
  string: '{"Name":"Sample object"}'
@@ -72,7 +72,7 @@ http_interactions:
72
72
  Sforce-Limit-Info:
73
73
  - api-usage=66/15000
74
74
  Location:
75
- - "/services/data/v26.0/sobjects/CustomObject__c/a001a000001U16VAAS"
75
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001U16VAAS"
76
76
  Content-Type:
77
77
  - application/json;charset=UTF-8
78
78
  Transfer-Encoding:
@@ -80,11 +80,11 @@ http_interactions:
80
80
  body:
81
81
  encoding: ASCII-8BIT
82
82
  string: '{"id":"a001a000001U16VAAS","success":true,"errors":[]}'
83
- http_version:
83
+ http_version:
84
84
  recorded_at: Mon, 04 May 2015 03:11:54 GMT
85
85
  - request:
86
86
  method: delete
87
- uri: https://<host>/services/data/v26.0/sobjects/CustomObject__c/a001a000001U16VAAS
87
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001U16VAAS
88
88
  body:
89
89
  encoding: US-ASCII
90
90
  string: ''
@@ -114,6 +114,6 @@ http_interactions:
114
114
  body:
115
115
  encoding: UTF-8
116
116
  string: ''
117
- http_version:
117
+ http_version:
118
118
  recorded_at: Mon, 04 May 2015 03:11:55 GMT
119
119
  recorded_with: VCR 2.9.3