salesforce_ar_sync 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -1
- data/lib/generators/salesforce_ar_sync/configuration/templates/salesforce_ar_sync.yml +4 -1
- data/lib/salesforce_ar_sync/engine.rb +2 -0
- data/lib/salesforce_ar_sync/soap_handler/base.rb +4 -0
- data/lib/salesforce_ar_sync/soap_handler/delete.rb +4 -4
- data/lib/salesforce_ar_sync/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -110,6 +110,7 @@ The options available to configure are
|
|
110
110
|
|
111
111
|
* __organization_id__: the 18 character organization id of your Salesforce instance
|
112
112
|
* __sync_enabled__: a global sync enabled flag which is a boolean true/false
|
113
|
+
* __namespace_prefix__: Namespace prefix of your Salesforce app in case you specified one
|
113
114
|
|
114
115
|
To generate a YAML file
|
115
116
|
|
@@ -123,6 +124,7 @@ which will create a template salesforce_ar_sync.yml in /config that looks like t
|
|
123
124
|
|
124
125
|
organization_id: <organization id> #18 character organization_id
|
125
126
|
sync_enabled: true
|
127
|
+
namespace_prefix:
|
126
128
|
|
127
129
|
|
128
130
|
To use the ENV variable you must pass environemnt variables to rails via the _export_ command in bash or before the
|
@@ -130,7 +132,8 @@ initializer loads the ENV settings.
|
|
130
132
|
|
131
133
|
$ export SALESFORCE_AR_SYNC_ORGANIZATION_ID=123456789123456789
|
132
134
|
$ export SALESFORCE_AR_SYNC_SYNC_ENABLED=true
|
133
|
-
|
135
|
+
$ export SALESFORCE_AR_NAMESPACE_PREFIX=my_prefix
|
136
|
+
|
134
137
|
### Model Options
|
135
138
|
The model can have several options set:
|
136
139
|
|
@@ -3,15 +3,18 @@ production:
|
|
3
3
|
sync_enabled: true
|
4
4
|
# Salesforce owned IPs from: https://help.salesforce.com/apex/HTViewSolution?language=en_US&id=000003652
|
5
5
|
ip_ranges: "204.14.232.0/23,204.14.237.0/24,96.43.144.0/22,96.43.148.0/22,204.14.234.0/23,204.14.238.0/23,182.50.76.0/22"
|
6
|
+
namespace_prefix:
|
6
7
|
|
7
8
|
development:
|
8
9
|
organization_id: <%= @organization_id %>
|
9
10
|
sync_enabled: false
|
10
11
|
# Salesforce owned IPs from: https://help.salesforce.com/apex/HTViewSolution?language=en_US&id=000003652
|
11
12
|
ip_ranges: "204.14.232.0/23,204.14.237.0/24,96.43.144.0/22,96.43.148.0/22,204.14.234.0/23,204.14.238.0/23,182.50.76.0/22"
|
13
|
+
namespace_prefix:
|
12
14
|
|
13
15
|
test:
|
14
16
|
organization_id: <%= @organization_id %>
|
15
17
|
sync_enabled: false
|
16
18
|
# Salesforce owned IPs from: https://help.salesforce.com/apex/HTViewSolution?language=en_US&id=000003652
|
17
|
-
ip_ranges: "204.14.232.0/23,204.14.237.0/24,96.43.144.0/22,96.43.148.0/22,204.14.234.0/23,204.14.238.0/23,182.50.76.0/22"
|
19
|
+
ip_ranges: "204.14.232.0/23,204.14.237.0/24,96.43.144.0/22,96.43.148.0/22,204.14.234.0/23,204.14.238.0/23,182.50.76.0/22"
|
20
|
+
namespace_prefix:
|
@@ -12,12 +12,14 @@ module SalesforceArSync
|
|
12
12
|
SalesforceArSync.config["ORGANIZATION_ID"] = config['organization_id']
|
13
13
|
SalesforceArSync.config["SYNC_ENABLED"] = config['sync_enabled']
|
14
14
|
SalesforceArSync.config["IP_RANGES"] = config['ip_ranges'].split(',').map{ |ip| ip.strip }
|
15
|
+
SalesforceArSync.config["NAMESPACE_PREFIX"] = config['namespace_prefix']
|
15
16
|
end
|
16
17
|
|
17
18
|
#if we have ENV flags prefer them
|
18
19
|
SalesforceArSync.config["ORGANIZATION_ID"] = ENV["SALESFORCE_AR_SYNC_ORGANIZATION_ID"] if ENV["SALESFORCE_AR_SYNC_ORGANIZATION_ID"]
|
19
20
|
SalesforceArSync.config["SYNC_ENABLED"] = ENV["SALESFORCE_AR_SYNC_SYNC_ENABLED"] if ENV.include? "SALESFORCE_AR_SYNC_SYNC_ENABLED"
|
20
21
|
SalesforceArSync.config["IP_RANGES"] = ENV["SALESFORCE_AR_SYNC_IP_RANGES"].split(',').map{ |ip| ip.strip } if ENV["SALESFORCE_AR_SYNC_IP_RANGES"]
|
22
|
+
SalesforceArSync.config["NAMESPACE_PREFIX"] = ENV["SALESFORCE_AR_NAMESPACE_PREFIX"] if ENV["SALESFORCE_AR_NAMESPACE_PREFIX"]
|
21
23
|
|
22
24
|
#do we have valid config options now?
|
23
25
|
if !SalesforceArSync.config["ORGANIZATION_ID"].present? || SalesforceArSync.config["ORGANIZATION_ID"].length != 18
|
@@ -41,6 +41,10 @@ module SalesforceArSync
|
|
41
41
|
end
|
42
42
|
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><soapenv:Body><notificationsResponse>#{response}</notificationsResponse></soapenv:Body></soapenv:Envelope>"
|
43
43
|
end
|
44
|
+
|
45
|
+
def self.namespaced(field)
|
46
|
+
SalesforceArSync.config["NAMESPACE_PREFIX"].present? ? :"#{SalesforceArSync.config["NAMESPACE_PREFIX"]}__#{field}" : :"#{field}"
|
47
|
+
end
|
44
48
|
|
45
49
|
private
|
46
50
|
|
@@ -8,12 +8,12 @@ module SalesforceArSync
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.delete_object(hash = {})
|
11
|
-
raise ArgumentError, "Object_Id__c parameter required" if hash[:Object_Id__c].blank?
|
12
|
-
raise ArgumentError, "Object_Type__c parameter required" if hash[:Object_Type__c].blank?
|
11
|
+
raise ArgumentError, "Object_Id__c parameter required" if hash[namespaced(:Object_Id__c)].blank?
|
12
|
+
raise ArgumentError, "Object_Type__c parameter required" if hash[namespaced(:Object_Type__c)].blank?
|
13
13
|
|
14
|
-
object = hash[:Object_Type__c].constantize.find_by_salesforce_id(hash[:Object_Id__c])
|
14
|
+
object = hash[namespaced(:Object_Type__c)].constantize.find_by_salesforce_id(hash[namespaced(:Object_Id__c)])
|
15
15
|
object.destroy if object
|
16
16
|
end
|
17
|
-
|
17
|
+
end
|
18
18
|
end
|
19
19
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: salesforce_ar_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2013-04-
|
16
|
+
date: 2013-04-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: rails
|