afc_salesforce 0.1.24 → 0.1.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afc41fa9e57549051fc0d2c7c618191ee414726fb1f2316903a245e622a04bb8
4
- data.tar.gz: 10dc6c2e5548f66705054f41b51fcb8ee5b2f32d8a031aedc7b5944fec573a60
3
+ metadata.gz: 612051ef7b1916f296fe5a50e3b88398b9cc095f2ff1cad8ca267b5fee07c8db
4
+ data.tar.gz: d6180954aac5bc3867fad1f83228fec0887d158c6d88a82dfa0bab43d83b2fd0
5
5
  SHA512:
6
- metadata.gz: ce4b57b948ae4daa7f1c87a585d9988741674ca301b9b14ec7da903eea6270014418b5f887d748f2c523674170c78009f5406f9684c5e86ac6648a6eafa27b28
7
- data.tar.gz: 402598ecdb9b7eb7b8195b2569ba09ec5eecd1be4e629ab77125dff380af2ad2340dfc73ad7b077df389d75323917a6b6a044d7c7bb2efb621940da32466d9a6
6
+ metadata.gz: 3b0145ecb9b99c9af95080189c8dddd3b78ea4086577b2a5f0b9a5066aeab87812dbf1f1795089716ebcc2849ebe6e0016bf89607f43e7af326430eabe0a740b
7
+ data.tar.gz: 3a7db5d725f6623dcccc3585a396a86e57ef35fdb8690291b86cf22de66b10a8b66640d86788e9db9a08ef2f524b8bcec9794ba7af0b79bf7007ab4831b8010b
@@ -2,6 +2,7 @@ require 'time'
2
2
  require 'json'
3
3
  require 'restforce'
4
4
 
5
+ require_relative 'afc_salesforce/data_truncator'
5
6
  require_relative 'afc_salesforce/configuration'
6
7
 
7
8
  require_relative 'afc_salesforce/tools/utilities'
@@ -0,0 +1,46 @@
1
+ module AFCSalesforce
2
+ class DataTruncator
3
+ class << self
4
+ MAX_VALUE = {
5
+ :'Bathrooms__c' => 99,
6
+ :'Bedrooms__c' => 99,
7
+ :'Down_Payment__c' => 999999,
8
+ }
9
+
10
+ MAX_LENGTH = {
11
+ :'Actual_Mailing_City__c' => 40,
12
+ :'BillingCity' => 40,
13
+ :'Bor_Company_Name__c' => 50,
14
+ :'Email' => 320,
15
+ :'FirstName' => 24,
16
+ :'LastName' => 24,
17
+ :'Name' => 50,
18
+ :'MailingCity' => 40,
19
+ :'Phone' => 40,
20
+ :'Realtor_Name__c' => 50,
21
+ :'Subject_Property_City__c' => 50,
22
+ }
23
+
24
+ def truncate_hash(hash)
25
+ hash.inject({}) { |hash, (key, value)| hash[key] = truncate_value(key, value); hash }
26
+ end
27
+
28
+
29
+ private
30
+
31
+
32
+ def truncate_value(key, value)
33
+ max = MAX_VALUE[key] || MAX_LENGTH[key]
34
+ return value unless max
35
+
36
+ if value.is_a? String
37
+ value[0...max]
38
+ elsif value.is_a?(Float) || value.is_a?(Integer)
39
+ [value, max].min
40
+ else
41
+ value
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -285,7 +285,7 @@ module AFCSalesforce
285
285
  :x2nd_mortgage__c
286
286
 
287
287
  def to_h
288
- {
288
+ salesforce_hash = {
289
289
  :"AccountNumber" => @account_number,
290
290
  :"AccountSource" => @account_source,
291
291
  :"Acres__c" => @acres__c,
@@ -480,6 +480,8 @@ module AFCSalesforce
480
480
  :"X4_Referral_Name__c" => @x4_referral_name__c,
481
481
  :"X4_Referral_Phone__c" => @x4_referral_phone__c
482
482
  }.select{ |k,v| !v.nil? }
483
+
484
+ AFCSalesforce::DataTruncator.truncate_hash(salesforce_hash)
483
485
  end
484
486
  end
485
487
  end
@@ -144,7 +144,7 @@ module AFCSalesforce
144
144
  :x3_prev_emp_to__c
145
145
 
146
146
  def to_h
147
- {
147
+ salesforce_hash = {
148
148
  :"Account" => @account,
149
149
  :"Actual_Mailing_City__c" => @actual_mailing_city__c,
150
150
  :"Actual_Mailing_State__c" => @actual_mailing_state__c,
@@ -265,6 +265,8 @@ module AFCSalesforce
265
265
  :"Years_on_the_Job__c" => @years_on_the_job__c,
266
266
  :"Session_UUID__c" => @session_uuid__c
267
267
  }.select{ |k,v| !v.nil? }
268
+
269
+ AFCSalesforce::DataTruncator.truncate_hash(salesforce_hash)
268
270
  end
269
271
  end
270
272
  end
@@ -97,7 +97,7 @@ module AFCSalesforce
97
97
  :unbouncesubmissiondate__c
98
98
 
99
99
  def to_h
100
- {
100
+ salesforce_hash = {
101
101
  :"AHA_Lead__c" => @aha_lead__c,
102
102
  :"Address" => @address,
103
103
  :"AnnualRevenue" => @annualrevenue,
@@ -185,6 +185,8 @@ module AFCSalesforce
185
185
  :"Working_With_Realtor__c" => @working_with_realtor__c,
186
186
  :"session_uuid__c" => @session_uuid__c
187
187
  }.select{ |k,v| !v.nil? }
188
+
189
+ AFCSalesforce::DataTruncator.truncate_hash(salesforce_hash)
188
190
  end
189
191
  end
190
192
  end
@@ -1,3 +1,3 @@
1
1
  module AFCSalesforce
2
- VERSION = "0.1.24"
2
+ VERSION = "0.1.25"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: afc_salesforce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.24
4
+ version: 0.1.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donavan White
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-02 00:00:00.000000000 Z
11
+ date: 2020-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -154,6 +154,7 @@ files:
154
154
  - lib/afc_salesforce/base.rb
155
155
  - lib/afc_salesforce/borrower.rb
156
156
  - lib/afc_salesforce/configuration.rb
157
+ - lib/afc_salesforce/data_truncator.rb
157
158
  - lib/afc_salesforce/forms/agent_referral.rb
158
159
  - lib/afc_salesforce/forms/lead_plus.rb
159
160
  - lib/afc_salesforce/forms/long_purchase.rb