restforce-db 4.0.4 → 4.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/restforce/db/model.rb +1 -0
- data/lib/restforce/db/version.rb +1 -1
- data/test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_a_previously-synchronized_record_for_a_mapped_model/and_a_mutually_exclusive_mapping/ignores_the_problematic_mapping.yml +326 -0
- data/test/lib/restforce/db/model_test.rb +22 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2080427a96e971dd5a7e51f37f1f92a37dfd67cc
|
4
|
+
data.tar.gz: 3bcb63d050a559cf47ffdc6ad782487b660be949
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27e915cb12532a8c2734b932fca192f01187ecea0ea762fe67795784bf927a975f6c657fe1c9dff5586e7029b333dbbe22aa07983fa69bf55889290ad82f817d
|
7
|
+
data.tar.gz: 5683584abd9d6942b6b247f17210ffc00b651c38ca1afdecde053600fba506a821f85a0c64be9c06cee8389b2348f4e9dc55d7552fdb82fe2ee9782a16811092
|
data/lib/restforce/db/model.rb
CHANGED
data/lib/restforce/db/version.rb
CHANGED
@@ -0,0 +1,326 @@
|
|
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
|
+
- Fri, 25 Sep 2015 21:31:53 GMT
|
25
|
+
Set-Cookie:
|
26
|
+
- BrowserId=1-Y4gGy6RSeXn_fPT7UClQ;Path=/;Domain=.salesforce.com;Expires=Tue,
|
27
|
+
24-Nov-2015 21:31:53 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: '{"access_token":"00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj","instance_url":"https://<host>","id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","token_type":"Bearer","issued_at":"1443216713935","signature":"daAkYXIneMRUuTsm+g+hiTu1DUtDsyDOnyEA799mht8="}'
|
41
|
+
http_version:
|
42
|
+
recorded_at: Fri, 25 Sep 2015 21:31:53 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":"Sally''s Seashells","Example_Field__c":"She sells them down
|
49
|
+
by the seashore."}'
|
50
|
+
headers:
|
51
|
+
User-Agent:
|
52
|
+
- Faraday v0.9.1
|
53
|
+
Content-Type:
|
54
|
+
- application/json
|
55
|
+
Authorization:
|
56
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
57
|
+
Accept-Encoding:
|
58
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
59
|
+
Accept:
|
60
|
+
- "*/*"
|
61
|
+
response:
|
62
|
+
status:
|
63
|
+
code: 201
|
64
|
+
message: Created
|
65
|
+
headers:
|
66
|
+
Date:
|
67
|
+
- Fri, 25 Sep 2015 21:31:54 GMT
|
68
|
+
Set-Cookie:
|
69
|
+
- BrowserId=vnY-X48oQ9amDNBZKknDng;Path=/;Domain=.salesforce.com;Expires=Tue,
|
70
|
+
24-Nov-2015 21:31:54 GMT
|
71
|
+
Expires:
|
72
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
73
|
+
Sforce-Limit-Info:
|
74
|
+
- api-usage=24/15000
|
75
|
+
Location:
|
76
|
+
- "/services/data/<api_version>/sobjects/CustomObject__c/a001a000006JNxrAAG"
|
77
|
+
Content-Type:
|
78
|
+
- application/json;charset=UTF-8
|
79
|
+
Transfer-Encoding:
|
80
|
+
- chunked
|
81
|
+
body:
|
82
|
+
encoding: ASCII-8BIT
|
83
|
+
string: '{"id":"a001a000006JNxrAAG","success":true,"errors":[]}'
|
84
|
+
http_version:
|
85
|
+
recorded_at: Fri, 25 Sep 2015 21:31:54 GMT
|
86
|
+
- request:
|
87
|
+
method: get
|
88
|
+
uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/describe
|
89
|
+
body:
|
90
|
+
encoding: US-ASCII
|
91
|
+
string: ''
|
92
|
+
headers:
|
93
|
+
User-Agent:
|
94
|
+
- Faraday v0.9.1
|
95
|
+
Authorization:
|
96
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
97
|
+
Accept-Encoding:
|
98
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
99
|
+
Accept:
|
100
|
+
- "*/*"
|
101
|
+
response:
|
102
|
+
status:
|
103
|
+
code: 200
|
104
|
+
message: OK
|
105
|
+
headers:
|
106
|
+
Date:
|
107
|
+
- Fri, 25 Sep 2015 21:31:54 GMT
|
108
|
+
Set-Cookie:
|
109
|
+
- BrowserId=Qvd7NVU3Rw-rYDogF0hFYQ;Path=/;Domain=.salesforce.com;Expires=Tue,
|
110
|
+
24-Nov-2015 21:31:54 GMT
|
111
|
+
Expires:
|
112
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
113
|
+
Sforce-Limit-Info:
|
114
|
+
- api-usage=24/15000
|
115
|
+
Org.eclipse.jetty.server.include.etag:
|
116
|
+
- fbe626f0
|
117
|
+
Last-Modified:
|
118
|
+
- Thu, 20 Aug 2015 14:52:13 GMT
|
119
|
+
Content-Type:
|
120
|
+
- application/json;charset=UTF-8
|
121
|
+
Etag:
|
122
|
+
- fbe626f-gzip"
|
123
|
+
Transfer-Encoding:
|
124
|
+
- chunked
|
125
|
+
body:
|
126
|
+
encoding: ASCII-8BIT
|
127
|
+
string: '{"activateable":false,"childRelationships":[{"cascadeDelete":true,"childSObject":"AttachedContentDocument","deprecatedAndHidden":false,"field":"LinkedEntityId","relationshipName":"AttachedContentDocuments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"Attachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"Attachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CollaborationGroupRecord","deprecatedAndHidden":false,"field":"RecordId","relationshipName":"RecordAssociatedGroups","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CombinedAttachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"CombinedAttachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"ContentDocumentLink","deprecatedAndHidden":false,"field":"LinkedEntityId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":false,"childSObject":"ContentVersion","deprecatedAndHidden":false,"field":"FirstPublishLocationId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CustomObjectDetail__c","deprecatedAndHidden":false,"field":"CustomObject__c","relationshipName":"CustomObjectDetails__r","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"EntitySubscription","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"FeedSubscriptionsForEntity","restrictedDelete":false},{"cascadeDelete":false,"childSObject":"FeedComment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"FeedItem","deprecatedAndHidden":false,"field":"ParentId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"Note","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"Notes","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"NoteAndAttachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"NotesAndAttachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"ProcessInstance","deprecatedAndHidden":false,"field":"TargetObjectId","relationshipName":"ProcessInstances","restrictedDelete":false},{"cascadeDelete":false,"childSObject":"ProcessInstanceHistory","deprecatedAndHidden":false,"field":"TargetObjectId","relationshipName":"ProcessSteps","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"TopicAssignment","deprecatedAndHidden":false,"field":"EntityId","relationshipName":"TopicAssignments","restrictedDelete":false}],"compactLayoutable":true,"createable":true,"custom":true,"customSetting":false,"deletable":true,"deprecatedAndHidden":false,"feedEnabled":false,"fields":[{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"Record
|
128
|
+
ID","length":18,"name":"Id","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"id","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Owner
|
129
|
+
ID","length":18,"name":"OwnerId","nameField":false,"namePointing":true,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["Group","User"],"relationshipName":"Owner","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Deleted","length":0,"name":"IsDeleted","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:boolean","sortable":true,"type":"boolean","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":240,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"CustomObject
|
130
|
+
Name","length":80,"name":"Name","nameField":true,"namePointing":false,"nillable":true,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Created
|
131
|
+
Date","length":0,"name":"CreatedDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Created
|
132
|
+
By ID","length":18,"name":"CreatedById","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["User"],"relationshipName":"CreatedBy","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Last
|
133
|
+
Modified Date","length":0,"name":"LastModifiedDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Last
|
134
|
+
Modified By ID","length":18,"name":"LastModifiedById","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["User"],"relationshipName":"LastModifiedBy","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"System
|
135
|
+
Modstamp","length":0,"name":"SystemModstamp","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":765,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Example
|
136
|
+
Field","length":255,"name":"Example_Field__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Friend","length":18,"name":"Friend__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":["Contact"],"relationshipName":"Friend__r","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Visible","length":0,"name":"Visible__c","nameField":false,"namePointing":false,"nillable":false,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:boolean","sortable":true,"type":"boolean","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":108,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":true,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"SynchronizationID","length":36,"name":"SynchronizationId__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false}],"keyPrefix":"a00","label":"CustomObject","labelPlural":"CustomObjects","layoutable":true,"listviewable":null,"lookupLayoutable":null,"mergeable":false,"name":"CustomObject__c","queryable":true,"recordTypeInfos":[{"available":true,"defaultRecordTypeMapping":true,"name":"Master","recordTypeId":"012000000000000AAA","urls":{"layout":"/services/data/<api_version>/sobjects/CustomObject__c/describe/layouts/012000000000000AAA"}}],"replicateable":true,"retrieveable":true,"searchLayoutable":true,"searchable":true,"triggerable":true,"undeletable":true,"updateable":true,"urls":{"compactLayouts":"/services/data/<api_version>/sobjects/CustomObject__c/describe/compactLayouts","rowTemplate":"/services/data/<api_version>/sobjects/CustomObject__c/{ID}","uiDetailTemplate":"https://<host>/{ID}","uiEditTemplate":"https://<host>/{ID}/e","describe":"/services/data/<api_version>/sobjects/CustomObject__c/describe","uiNewRecord":"https://<host>/a00/e","quickActions":"/services/data/<api_version>/sobjects/CustomObject__c/quickActions","layouts":"/services/data/<api_version>/sobjects/CustomObject__c/describe/layouts","sobject":"/services/data/<api_version>/sobjects/CustomObject__c"}}'
|
137
|
+
http_version:
|
138
|
+
recorded_at: Fri, 25 Sep 2015 21:31:54 GMT
|
139
|
+
- request:
|
140
|
+
method: get
|
141
|
+
uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SynchronizationId__c,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000006JNxrAAG%27
|
142
|
+
body:
|
143
|
+
encoding: US-ASCII
|
144
|
+
string: ''
|
145
|
+
headers:
|
146
|
+
User-Agent:
|
147
|
+
- Faraday v0.9.1
|
148
|
+
Authorization:
|
149
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
150
|
+
Accept-Encoding:
|
151
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
152
|
+
Accept:
|
153
|
+
- "*/*"
|
154
|
+
response:
|
155
|
+
status:
|
156
|
+
code: 200
|
157
|
+
message: OK
|
158
|
+
headers:
|
159
|
+
Date:
|
160
|
+
- Fri, 25 Sep 2015 21:31:54 GMT
|
161
|
+
Set-Cookie:
|
162
|
+
- BrowserId=09bBOXmSSxu79nY2nrK2Gw;Path=/;Domain=.salesforce.com;Expires=Tue,
|
163
|
+
24-Nov-2015 21:31:54 GMT
|
164
|
+
Expires:
|
165
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
166
|
+
Sforce-Limit-Info:
|
167
|
+
- api-usage=24/15000
|
168
|
+
Content-Type:
|
169
|
+
- application/json;charset=UTF-8
|
170
|
+
Transfer-Encoding:
|
171
|
+
- chunked
|
172
|
+
body:
|
173
|
+
encoding: ASCII-8BIT
|
174
|
+
string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000006JNxrAAG"},"Id":"a001a000006JNxrAAG","SynchronizationId__c":null,"SystemModstamp":"2015-09-25T21:31:54.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"Sally''s
|
175
|
+
Seashells","Example_Field__c":"She sells them down by the seashore."}]}'
|
176
|
+
http_version:
|
177
|
+
recorded_at: Fri, 25 Sep 2015 21:31:54 GMT
|
178
|
+
- request:
|
179
|
+
method: patch
|
180
|
+
uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000006JNxrAAG
|
181
|
+
body:
|
182
|
+
encoding: UTF-8
|
183
|
+
string: '{"Name":"Sarah''s Seagulls","Example_Field__c":"She sells them down
|
184
|
+
by the seashore."}'
|
185
|
+
headers:
|
186
|
+
User-Agent:
|
187
|
+
- Faraday v0.9.1
|
188
|
+
Content-Type:
|
189
|
+
- application/json
|
190
|
+
Authorization:
|
191
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
192
|
+
Accept-Encoding:
|
193
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
194
|
+
Accept:
|
195
|
+
- "*/*"
|
196
|
+
response:
|
197
|
+
status:
|
198
|
+
code: 204
|
199
|
+
message: No Content
|
200
|
+
headers:
|
201
|
+
Date:
|
202
|
+
- Fri, 25 Sep 2015 21:31:55 GMT
|
203
|
+
Set-Cookie:
|
204
|
+
- BrowserId=1RcyYV1gTGOhu_GB_eGxOw;Path=/;Domain=.salesforce.com;Expires=Tue,
|
205
|
+
24-Nov-2015 21:31:55 GMT
|
206
|
+
Expires:
|
207
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
208
|
+
Sforce-Limit-Info:
|
209
|
+
- api-usage=24/15000
|
210
|
+
body:
|
211
|
+
encoding: UTF-8
|
212
|
+
string: ''
|
213
|
+
http_version:
|
214
|
+
recorded_at: Fri, 25 Sep 2015 21:31:54 GMT
|
215
|
+
- request:
|
216
|
+
method: get
|
217
|
+
uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SynchronizationId__c,%20SystemModstamp,%20LastModifiedById%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000006JNxrAAG%27%20and%20Example_Field__c%20!=%20%27She%20sells%20them%20down%20by%20the%20seashore.%27
|
218
|
+
body:
|
219
|
+
encoding: US-ASCII
|
220
|
+
string: ''
|
221
|
+
headers:
|
222
|
+
User-Agent:
|
223
|
+
- Faraday v0.9.1
|
224
|
+
Authorization:
|
225
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
226
|
+
Accept-Encoding:
|
227
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
228
|
+
Accept:
|
229
|
+
- "*/*"
|
230
|
+
response:
|
231
|
+
status:
|
232
|
+
code: 200
|
233
|
+
message: OK
|
234
|
+
headers:
|
235
|
+
Date:
|
236
|
+
- Fri, 25 Sep 2015 21:31:55 GMT
|
237
|
+
Set-Cookie:
|
238
|
+
- BrowserId=Wa2DcIsGS26keWAp1RJ5cw;Path=/;Domain=.salesforce.com;Expires=Tue,
|
239
|
+
24-Nov-2015 21:31:55 GMT
|
240
|
+
Expires:
|
241
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
242
|
+
Sforce-Limit-Info:
|
243
|
+
- api-usage=24/15000
|
244
|
+
Content-Type:
|
245
|
+
- application/json;charset=UTF-8
|
246
|
+
Transfer-Encoding:
|
247
|
+
- chunked
|
248
|
+
body:
|
249
|
+
encoding: ASCII-8BIT
|
250
|
+
string: '{"totalSize":0,"done":true,"records":[]}'
|
251
|
+
http_version:
|
252
|
+
recorded_at: Fri, 25 Sep 2015 21:31:55 GMT
|
253
|
+
- request:
|
254
|
+
method: get
|
255
|
+
uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SynchronizationId__c,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000006JNxrAAG%27
|
256
|
+
body:
|
257
|
+
encoding: US-ASCII
|
258
|
+
string: ''
|
259
|
+
headers:
|
260
|
+
User-Agent:
|
261
|
+
- Faraday v0.9.1
|
262
|
+
Authorization:
|
263
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
264
|
+
Accept-Encoding:
|
265
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
266
|
+
Accept:
|
267
|
+
- "*/*"
|
268
|
+
response:
|
269
|
+
status:
|
270
|
+
code: 200
|
271
|
+
message: OK
|
272
|
+
headers:
|
273
|
+
Date:
|
274
|
+
- Fri, 25 Sep 2015 21:31:55 GMT
|
275
|
+
Set-Cookie:
|
276
|
+
- BrowserId=M8MOHT4gTjq9H5mUlibzQA;Path=/;Domain=.salesforce.com;Expires=Tue,
|
277
|
+
24-Nov-2015 21:31:55 GMT
|
278
|
+
Expires:
|
279
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
280
|
+
Sforce-Limit-Info:
|
281
|
+
- api-usage=24/15000
|
282
|
+
Content-Type:
|
283
|
+
- application/json;charset=UTF-8
|
284
|
+
Transfer-Encoding:
|
285
|
+
- chunked
|
286
|
+
body:
|
287
|
+
encoding: ASCII-8BIT
|
288
|
+
string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000006JNxrAAG"},"Id":"a001a000006JNxrAAG","SynchronizationId__c":null,"SystemModstamp":"2015-09-25T21:31:55.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"Sarah''s
|
289
|
+
Seagulls","Example_Field__c":"She sells them down by the seashore."}]}'
|
290
|
+
http_version:
|
291
|
+
recorded_at: Fri, 25 Sep 2015 21:31:55 GMT
|
292
|
+
- request:
|
293
|
+
method: delete
|
294
|
+
uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000006JNxrAAG
|
295
|
+
body:
|
296
|
+
encoding: US-ASCII
|
297
|
+
string: ''
|
298
|
+
headers:
|
299
|
+
User-Agent:
|
300
|
+
- Faraday v0.9.1
|
301
|
+
Authorization:
|
302
|
+
- OAuth 00D1a000000H3O9!AQ4AQBLteAKYVARTLlP8b3OSPW48mgWwXuMnYuxSNXeJYbbsQA8UebyAXryavi2L_DAqzf3KIVjFaOzP8LyF3Ow3SF0L3MFj
|
303
|
+
Accept-Encoding:
|
304
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
305
|
+
Accept:
|
306
|
+
- "*/*"
|
307
|
+
response:
|
308
|
+
status:
|
309
|
+
code: 204
|
310
|
+
message: No Content
|
311
|
+
headers:
|
312
|
+
Date:
|
313
|
+
- Fri, 25 Sep 2015 21:31:55 GMT
|
314
|
+
Set-Cookie:
|
315
|
+
- BrowserId=3CgztqkjTJagq1fXgkcZ2A;Path=/;Domain=.salesforce.com;Expires=Tue,
|
316
|
+
24-Nov-2015 21:31:55 GMT
|
317
|
+
Expires:
|
318
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
319
|
+
Sforce-Limit-Info:
|
320
|
+
- api-usage=24/15000
|
321
|
+
body:
|
322
|
+
encoding: UTF-8
|
323
|
+
string: ''
|
324
|
+
http_version:
|
325
|
+
recorded_at: Fri, 25 Sep 2015 21:31:55 GMT
|
326
|
+
recorded_with: VCR 2.9.3
|
@@ -94,6 +94,28 @@ describe Restforce::DB::Model do
|
|
94
94
|
salesforce_record = mapping.salesforce_record_type.find(salesforce_id).record
|
95
95
|
expect(salesforce_record.Name).to_equal record.name
|
96
96
|
end
|
97
|
+
|
98
|
+
describe "and a mutually exclusive mapping" do
|
99
|
+
let(:other_mapping) do
|
100
|
+
Restforce::DB::Mapping.new(database_model, salesforce_model).tap do |map|
|
101
|
+
map.conditions = [
|
102
|
+
"Example_Field__c != '#{attributes[:example]}'",
|
103
|
+
]
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
before do
|
108
|
+
Restforce::DB::Registry << other_mapping
|
109
|
+
end
|
110
|
+
|
111
|
+
it "ignores the problematic mapping" do
|
112
|
+
record.update!(name: "Sarah's Seagulls")
|
113
|
+
expect(record.force_sync!).to_equal true
|
114
|
+
|
115
|
+
salesforce_record = mapping.salesforce_record_type.find(salesforce_id).record
|
116
|
+
expect(salesforce_record.Name).to_equal record.name
|
117
|
+
end
|
118
|
+
end
|
97
119
|
end
|
98
120
|
end
|
99
121
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restforce-db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Horner
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -314,6 +314,7 @@ files:
|
|
314
314
|
- test/cassettes/Restforce_DB_Instances_Salesforce/_update_/updates_the_record_in_Salesforce_with_the_passed_attributes.yml
|
315
315
|
- test/cassettes/Restforce_DB_Instances_Salesforce/_updated_internally_/when_another_user_made_the_last_change/returns_false.yml
|
316
316
|
- test/cassettes/Restforce_DB_Instances_Salesforce/_updated_internally_/when_our_client_made_the_last_change/returns_true.yml
|
317
|
+
- test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_a_previously-synchronized_record_for_a_mapped_model/and_a_mutually_exclusive_mapping/ignores_the_problematic_mapping.yml
|
317
318
|
- test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_a_previously-synchronized_record_for_a_mapped_model/force-updates_both_synchronized_records.yml
|
318
319
|
- test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_an_unsynchronized_record_for_a_mapped_model/creates_a_matching_record_in_Salesforce.yml
|
319
320
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_all/returns_a_list_of_the_existing_records_in_Salesforce.yml
|
@@ -401,7 +402,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
401
402
|
version: '0'
|
402
403
|
requirements: []
|
403
404
|
rubyforge_project:
|
404
|
-
rubygems_version: 2.4.
|
405
|
+
rubygems_version: 2.4.5.1
|
405
406
|
signing_key:
|
406
407
|
specification_version: 4
|
407
408
|
summary: Bind your database to Salesforce data
|