afc_salesforce 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/README.md +1 -0
  8. data/Rakefile +6 -0
  9. data/afc_salesforce.gemspec +40 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/lib/afc_salesforce.rb +56 -0
  13. data/lib/afc_salesforce/account.rb +61 -0
  14. data/lib/afc_salesforce/additional_income.rb +12 -0
  15. data/lib/afc_salesforce/ahc_realtor.rb +0 -0
  16. data/lib/afc_salesforce/asset.rb +13 -0
  17. data/lib/afc_salesforce/base.rb +11 -0
  18. data/lib/afc_salesforce/borrower.rb +36 -0
  19. data/lib/afc_salesforce/configuration.rb +16 -0
  20. data/lib/afc_salesforce/forms/agent_referral.rb +50 -0
  21. data/lib/afc_salesforce/forms/long_purchase.rb +56 -0
  22. data/lib/afc_salesforce/forms/long_refinance.rb +56 -0
  23. data/lib/afc_salesforce/forms/short_lead.rb +48 -0
  24. data/lib/afc_salesforce/lead.rb +31 -0
  25. data/lib/afc_salesforce/models/account.rb +267 -0
  26. data/lib/afc_salesforce/models/ahc_realtor.rb +67 -0
  27. data/lib/afc_salesforce/models/asset.rb +35 -0
  28. data/lib/afc_salesforce/models/base.rb +17 -0
  29. data/lib/afc_salesforce/models/concerns/type_setter.rb +23 -0
  30. data/lib/afc_salesforce/models/contact.rb +152 -0
  31. data/lib/afc_salesforce/models/income.rb +25 -0
  32. data/lib/afc_salesforce/models/lead.rb +118 -0
  33. data/lib/afc_salesforce/tools.rb +4 -0
  34. data/lib/afc_salesforce/tools/utilities.rb +45 -0
  35. data/lib/afc_salesforce/tools/validation.rb +18 -0
  36. data/lib/afc_salesforce/tools/validation/rule/email.rb +58 -0
  37. data/lib/afc_salesforce/tools/validation/rule/instance_of.rb +36 -0
  38. data/lib/afc_salesforce/tools/validation/rule/length.rb +52 -0
  39. data/lib/afc_salesforce/tools/validation/rule/matches.rb +44 -0
  40. data/lib/afc_salesforce/tools/validation/rule/not_empty.rb +32 -0
  41. data/lib/afc_salesforce/tools/validation/rule/not_nil.rb +32 -0
  42. data/lib/afc_salesforce/tools/validation/rule/numeric.rb +32 -0
  43. data/lib/afc_salesforce/tools/validation/rule/phone.rb +51 -0
  44. data/lib/afc_salesforce/tools/validation/rule/regular_expression.rb +33 -0
  45. data/lib/afc_salesforce/tools/validation/validator.rb +128 -0
  46. data/lib/afc_salesforce/version.rb +3 -0
  47. metadata +194 -0
@@ -0,0 +1,56 @@
1
+ module AFCSalesforce
2
+ module Forms
3
+ class LongPurchase
4
+ attr_accessor :borrowers, :account, :additional_incomes, :assets
5
+
6
+ def initialize(options={borrowers: [], account: nil, additional_incomes: [], assets: []})
7
+ @borrowers = options[:borrowers]
8
+ @account = options[:account]
9
+ @additional_incomes = options[:additional_incomes] || []
10
+ @assets = options[:assets] || []
11
+ end
12
+
13
+ def valid?
14
+ validator = LongPurchaseValidator.new(self)
15
+ validator.valid?
16
+ end
17
+
18
+ def validate!
19
+ validator = LongPurchaseValidator.new(self)
20
+ if validator.valid?
21
+ return true
22
+ else
23
+ return validator.errors
24
+ end
25
+ end
26
+
27
+ def salesforce_hash
28
+ form_hash = {long_purchase: {}}
29
+ form_hash[:long_purchase][:borrowers] = @borrowers.empty? ? [] : @borrowers.map(&:to_h)
30
+ form_hash[:long_purchase][:account] = @account.to_h
31
+ form_hash[:long_purchase][:additional_incomes] = @additional_incomes.empty? ? [] : @additional_incomes.map(&:to_h)
32
+ form_hash[:long_purchase][:assets] = @assets.empty? ? [] : @assets.map(&:to_h)
33
+ form_hash
34
+ end
35
+
36
+ def send_to_salesforce
37
+ Restforce.new(
38
+ username: AFCSalesforce.configuration.salesforce_username,
39
+ password: AFCSalesforce.configuration.salesforce_password,
40
+ client_id: AFCSalesforce.configuration.salesforce_client_id,
41
+ client_secret: AFCSalesforce.configuration.salesforce_client_secret,
42
+ api_version: AFCSalesforce.configuration.salesforce_api_version
43
+ ).post(URI('/services/apexrest/v1/purchase_form'), salesforce_hash)
44
+ end
45
+ end
46
+
47
+ class LongPurchaseValidator < AFCSalesforce::Tools::Validation::Validator
48
+ include AFCSalesforce::Tools::Validation
49
+
50
+ rule :borrowers, [{instance_of: Array}, length: {minimum: 1}]
51
+ rule :account, [{instance_of: AFCSalesforce::Account}, :not_nil]
52
+ rule :additional_incomes, instance_of: Array
53
+ rule :assets, instance_of: Array
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,56 @@
1
+ module AFCSalesforce
2
+ module Forms
3
+ class LongRefinance
4
+ attr_accessor :borrowers, :account, :additional_incomes, :assets
5
+
6
+ def initialize(options={borrowers: [], account: nil, additional_incomes: [], assets: []})
7
+ @borrowers = options[:borrowers]
8
+ @account = options[:account]
9
+ @additional_incomes = options[:additional_incomes] || []
10
+ @assets = options[:assets] || []
11
+ end
12
+
13
+ def valid?
14
+ validator = LongRefinanceValidator.new(self)
15
+ validator.valid?
16
+ end
17
+
18
+ def validate!
19
+ validator = LongRefinanceValidator.new(self)
20
+ if validator.valid?
21
+ return true
22
+ else
23
+ return validator.errors
24
+ end
25
+ end
26
+
27
+ def salesforce_hash
28
+ form_hash = {long_refinance: {}}
29
+ form_hash[:long_refinance][:borrowers] = @borrowers.empty? ? [] : @borrowers.map(&:to_h)
30
+ form_hash[:long_refinance][:account] = @account.to_h
31
+ form_hash[:long_refinance][:additional_incomes] = @additional_incomes.empty? ? [] : @additional_incomes.map(&:to_h)
32
+ form_hash[:long_refinance][:assets] = @assets.empty? ? [] : @assets.map(&:to_h)
33
+ form_hash
34
+ end
35
+
36
+ def send_to_salesforce
37
+ Restforce.new(
38
+ username: AFCSalesforce.configuration.salesforce_username,
39
+ password: AFCSalesforce.configuration.salesforce_password,
40
+ client_id: AFCSalesforce.configuration.salesforce_client_id,
41
+ client_secret: AFCSalesforce.configuration.salesforce_client_secret,
42
+ api_version: AFCSalesforce.configuration.salesforce_api_version
43
+ ).post(URI('/services/apexrest/v1/refinance_form'), salesforce_hash)
44
+ end
45
+ end
46
+
47
+ class LongRefinanceValidator < AFCSalesforce::Tools::Validation::Validator
48
+ include AFCSalesforce::Tools::Validation
49
+
50
+ rule :borrowers, [{instance_of: Array}, length: {minimum: 1}]
51
+ rule :account, [{instance_of: AFCSalesforce::Account}, :not_nil]
52
+ rule :additional_incomes, instance_of: Array
53
+ rule :assets, instance_of: Array
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,48 @@
1
+ module AFCSalesforce
2
+ module Forms
3
+ class ShortLead
4
+ attr_accessor :lead
5
+
6
+ def initialize(options={})
7
+ @lead = options[:lead]
8
+ end
9
+
10
+ def valid?
11
+ validator = LeadValidator.new(self)
12
+ validator.valid?
13
+ end
14
+
15
+ def validate!
16
+ validator = LeadValidator.new(self)
17
+ if validator.valid?
18
+ return true
19
+ else
20
+ return validator.errors
21
+ end
22
+ end
23
+
24
+ def salesforce_hash
25
+ {
26
+ short_lead: {
27
+ lead: @lead.to_h
28
+ }
29
+ }
30
+ end
31
+
32
+ def send_to_salesforce
33
+ Restforce.new(
34
+ username: AFCSalesforce.configuration.salesforce_username,
35
+ password: AFCSalesforce.configuration.salesforce_password,
36
+ client_id: AFCSalesforce.configuration.salesforce_client_id,
37
+ client_secret: AFCSalesforce.configuration.salesforce_client_secret,
38
+ api_version: AFCSalesforce.configuration.salesforce_api_version
39
+ ).post(URI('/services/apexrest/v1/lead_form'), salesforce_hash)
40
+ end
41
+ end
42
+
43
+ class LeadValidator < AFCSalesforce::Tools::Validation::Validator
44
+ include AFCSalesforce::Tools::Validation
45
+ rule :lead, [{instance_of: AFCSalesforce::Lead}, :not_nil]
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,31 @@
1
+ module AFCSalesforce
2
+ class Lead < Base
3
+ attr_accessor :company, :first_name, :last_name, :phone, :email, :endorser, :source, :type, :internet_source,
4
+ :search_source, :search_campaign, :search_adgroup, :search_keyword, :city, :state,
5
+ :zip, :unbounce_page_id, :page_url, :page_variant
6
+
7
+ def to_h
8
+ AFCSalesforce::Models::Lead.new(
9
+ firstname: @first_name,
10
+ lastname: @last_name,
11
+ phone: @phone,
12
+ email: @email,
13
+ company: @company,
14
+ endorser__c: @endorser,
15
+ source__c: @source,
16
+ type__c: @type,
17
+ internetsource__c: @internet_source,
18
+ searchsource__c: @search_source,
19
+ searchcampaign__c: @search_campaign,
20
+ searchadgroup__c: @search_adgroup,
21
+ searchkeyword__c: @search_keyword,
22
+ city: @city,
23
+ state: @state,
24
+ postalcode: @zip,
25
+ unbounce_page_id__c: @unbounce_page_id,
26
+ page_url__c: @page_url,
27
+ page_variant__c: @page_variant
28
+ ).to_h
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,267 @@
1
+ module AFCSalesforce
2
+ module Models
3
+ class Account < AFCSalesforce::Models::Base
4
+
5
+ attr_accessor :account_number, :account_source, :annual_revenue, :billingstreet, :billingcity, :billingstate, :billingpostalcode,
6
+ :created_by, :description, :fax, :industry, :is_customer_portal, :jigsaw, :last_modified_by, :name,
7
+ :numberofemployees, :owner, :ownership, :parent, :phone, :rating, :shipping_address,
8
+ :sic, :sic_description, :site, :ticker_symbol, :type, :website, :x1_referral_date__c,
9
+ :x1_referral_name__c, :x1_referral_phone__c, :x1st_mortgage_balance__c, :x1st_mortgage_payment__c,
10
+ :x1st_mortgage_rate__c, :x2_referral_date__c, :x2_referral_name__c, :x2_referral_phone__c,
11
+ :x2nd_mortgage__c, :x2nd_mortgage_balance__c, :x2nd_mortgage_date_opened__c,
12
+ :x2nd_mortgage_payment__c, :x2nd_mortgage_rate__c, :x3_referral_date__c, :x3_referral_name__c,
13
+ :x3_referral_phone__c, :x4_referral_date__c, :x4_referral_name__c, :x4_referral_phone__c, :acres__c,
14
+ :adjusted_gross_income__c, :aha_appt_date__c, :aha_appt__c, :aha_csr__c, :aha_lead__c,
15
+ :aha_listing__c, :aha_property_address__c, :aha_property_city__c, :aha_property_state__c,
16
+ :aha_property_zip__c, :aha_purchase_price__c, :aha_realtor__c, :aha_status__c, :velo__apex_context__c,
17
+ :application_status__c, :application_status_timestamp__c, :appointment__c, :appraisal_objection_date__c,
18
+ :appraisal_ordered__c, :appraisal_received__c, :appraised_value__c, :approximate_value__c, :bankruptcy_date__c,
19
+ :bathrooms__c, :bedrooms__c, :broker_commission__c, :buyer_agency_date__c, :buyer_to_contract__c, :cap__c,
20
+ :ccd_closed_date__c, :ccd_closed_lost_reason__c, :ccd_closing_status__c, :client_docs__c, :close_date_w_aha__c,
21
+ :closed_purchase_val__c, :closed_with_aha__c, :cnd_date_stamp__c, :cndforcredit__c, :commission_to_broker__c,
22
+ :contract_to_close__c, :credit_agent__c, :credit_care_status__c, :credit_repair_referral__c,
23
+ :csr__c, :current_rent__c, :days_old__c, :dng_reason__c, :down_payment__c, :down_payment_notes__c,
24
+ :endorser__c, :escrowed__c, :est_close_date_w_aha__c, :estimated_date_to_complete_cap__c,
25
+ :estimated_time_to_complete_program__c, :filedataid__c, :flat_fee__c, :foreclosure_date__c, :former_bankruptcy__c,
26
+ :former_foreclosure__c, :gross_commission_all__c, :gross_commission__c, :hoa_dues__c,
27
+ :if_va_eligible_have_they_used_it__c, :inside_realtor__c, :inspection_objection_date__c, :internet_lead__c,
28
+ :internet_source__c, :velo__is_synced_with_velocify__c, :last_appraisal__c, :last_date_listed__c,
29
+ :last_price_listed_for__c, :lead_sent_to_sqlbyte__c, :lead_type__c, :listing_agent_broker__c,
30
+ :listing_agent_cell_phone__c, :listing_agent_company__c, :listing_agent_email__c, :listing_agent_work_phone__c,
31
+ :listing_contract_date__c, :loan_commitment_date__c, :loan_purpose__c, :loan_type__c, :los_issues__c,
32
+ :median_score__c, :monthly_budget__c, :monthly_insurance__c, :monthly_taxes__c, :mortgage_notes__c,
33
+ :new_file_to_buyer__c, :new_purchase_price__c, :not_a_lead__c, :number_of_units__c, :occupancy_type__c, :original_endorser__c,
34
+ :original_purchase_price__c, :original_source__c, :outside_financing__c, :outside_real_estate_company__c,
35
+ :ownercell__c, :owner_from_original_lead__c, :pending_docs__c, :previous_year_30_day_mortgage_lates__c,
36
+ :price_range__c, :primary_borrower_email__c, :primary_borrower_name__c, :primary_borrower_phone__c,
37
+ :processor__c, :program_coordinator__c, :program_type__c, :property_type__c, :puchase_close_date__c, :purchase_contract_date__c,
38
+ :realtor_email__c, :realtor_name__c, :realtor_phone_number__c, :referral_commission__c,
39
+ :refinance_purpose__c, :related_file__c, :renting_current_home__c, :rescore_date__c, :rescore_done__c,
40
+ :residence_type__c, :velo__salesforce_owner_name__c, :velo__salesforce_owner_profilename__c,
41
+ :velo__salesforce_owner_role_name__c, :scanning_complete__c, :score_update__c, :searchadgroup__c,
42
+ :searchcampaign__c, :searchkeyword__c, :searchsource__c, :selling_current_home__c, :session_uuid__c, :sign_off_location__c,
43
+ :sign_up_date__c, :source__c, :square_feet__c, :subject_property_state__c, :subject_property_address__c,
44
+ :subject_property_city__c, :subject_property_zip__c, :velo__time_zone__c, :title_address__c, :title_closer_name__c,
45
+ :title_company_name__c, :title_email__c, :title_fax__c, :title_phone__c, :title_state__c, :title_zip__c, :type__c,
46
+ :va_eligible__c, :velo__lead360recordid__c, :velo__leads360_milestoneid__c, :velocify_owner__c, :velo__record_history__c,
47
+ :velo__status__c, :velo_last_action_date__c, :whenselling__c, :working_with_realtor__c, :closed_docs__c, :closedgrosscommission__c
48
+
49
+ set_as_float :annual_revenue, :x1st_mortgage_rate__c, :appraised_value__c, :approximate_value__c, :down_payment__c, :hoa_dues__c,
50
+ :monthly_insurance__c, :monthly_taxes__c, :new_purchase_price__c, :original_purchase_price__c, :square_feet__c,
51
+ :x1st_mortgage_balance__c, :x1st_mortgage_payment__c, :x2nd_mortgage_balance__c, :x2nd_mortgage_payment__c,
52
+ :x2nd_mortgage_rate__c, :acres__c, :adjusted_gross_income__c, :broker_commission__c, :buyer_to_contract__c,
53
+ :closedgrosscommission__c, :closed_purchase_val__c, :commission_to_broker__c, :current_rent__c, :flat_fee__c,
54
+ :gross_commission__c, :hoa_dues__c, :last_price_listed_for__c, :monthly_budget__c, :monthly_insurance__c,
55
+ :monthly_taxes__c, :original_purchase_price__c, :square_feet__c
56
+
57
+ set_as_integer :numberofemployees, :bathrooms__c, :bedrooms__c, :aha_purchase_price__c, :median_score__c, :new_purchase_price__c,
58
+ :score_update__c, :velo__leads360_milestoneid__c
59
+
60
+ set_as_date :puchase_close_date__c, :sign_up_date__c, :x1_referral_date__c, :x2_referral_date__c, :x3_referral_date__c,
61
+ :x4_referral_date__c, :aha_appt_date__c, :application_status_timestamp__c, :appointment__c, :appraisal_objection_date__c,
62
+ :appraisal_ordered__c, :appraisal_received__c, :bankruptcy_date__c, :buyer_agency_date__c, :ccd_closed_date__c,
63
+ :client_docs__c, :close_date_w_aha__c, :closed_docs__c, :cnd_date_stamp__c, :est_close_date_w_aha__c, :estimated_date_to_complete_cap__c,
64
+ :foreclosure_date__c, :inspection_objection_date__c, :last_appraisal__c, :last_date_listed__c, :listing_contract_date__c,
65
+ :loan_commitment_date__c, :pending_docs__c, :puchase_close_date__c, :purchase_contract_date__c, :purchase_date__c,
66
+ :rescore_date__c, :velo_last_action_date__c
67
+
68
+ set_as_boolean :escrowed__c, :x2nd_mortgage__c
69
+
70
+ def to_h
71
+ {
72
+ :"AccountNumber" => @account_number,
73
+ :"AccountSource" => @account_source,
74
+ :"Acres__c" => @acres__c,
75
+ :"AnnualRevenue" => @annual_revenue,
76
+ :"Appraised_Value__c" => @appraised_value__c,
77
+ :"Approximate_Value__c" => @approximate_value__c,
78
+ :"Bankruptcy_Date__c" => @bankruptcy_date__c,
79
+ :"Bathrooms__c" => @bathrooms__c,
80
+ :"Bedrooms__c" => @bedrooms__c,
81
+ :"BillingCity" => @billingcity,
82
+ :"BillingStreet" => @billingstreet,
83
+ :"BillingState" => @billingstate,
84
+ :"BillingPostalCode" => @billingpostalcode,
85
+ :"Broker_Commission__c" => @broker_commission__c,
86
+ :"Buyer_Agency_Date__c" => @buyer_agency_date__c,
87
+ :"Buyer_to_Contract__c" => @buyer_to_contract__c,
88
+ :"CAP__c" => @cap__c,
89
+ :"CCD_Closed_Date__c" => @ccd_closed_date__c,
90
+ :"CCD_Closed_Lost_Reason__c" => @ccd_closed_lost_reason__c,
91
+ :"CCD_Closing_Status__c" => @ccd_closing_status__c,
92
+ :"Client_Docs__c" => @client_docs__c,
93
+ :"Close_Date_w_AHA__c" => @close_date_w_aha__c,
94
+ :"Closed_Docs__c" => @closed_docs__c,
95
+ :"Closed_Purchase_Val__c" => @closed_purchase_val__c,
96
+ :"Closed_With_AHA__c" => @closed_with_aha__c,
97
+ :"ClosedGrossCommission__c" => @closedgrosscommission__c,
98
+ :"CND_Date_Stamp__c" => @cnd_date_stamp__c,
99
+ :"CNDForCredit__c" => @cndforcredit__c,
100
+ :"Commission_to_Broker__c" => @commission_to_broker__c,
101
+ :"Contract_to_Close__c" => @contract_to_close__c,
102
+ :"CreatedBy" => @created_by,
103
+ :"Credit_Agent__c" => @credit_agent__c,
104
+ :"Credit_Care_Status__c" => @credit_care_status__c,
105
+ :"Credit_Repair_Referral__c" => @credit_repair_referral__c,
106
+ :"CSR__c" => @csr__c,
107
+ :"Current_Rent__c" => @current_rent__c,
108
+ :"Days_Old__c" => @days_old__c,
109
+ :"Description" => @description,
110
+ :"DNG_Reason__c" => @dng_reason__c,
111
+ :"Down_Payment__c" => @down_payment__c,
112
+ :"Down_Payment_Notes__c" => @down_payment_notes__c,
113
+ :"Endorser__c" => @endorser__c,
114
+ :"Escrowed__c" => @escrowed__c,
115
+ :"Est_Close_Date_w_AHA__c" => @est_close_date_w_aha__c,
116
+ :"Estimated_Date_to_Complete_CAP__c" => @estimated_date_to_complete_cap__c,
117
+ :"Estimated_Time_to_Complete_Program__c" => @estimated_time_to_complete_program__c,
118
+ :"Fax" => @fax,
119
+ :"FileDataID__c" => @filedataid__c,
120
+ :"Flat_Fee__c" => @flat_fee__c,
121
+ :"Foreclosure_Date__c" => @foreclosure_date__c,
122
+ :"Former_Bankruptcy__c" => @former_bankruptcy__c,
123
+ :"Former_Foreclosure__c" => @former_foreclosure__c,
124
+ :"Gross_Commission__c" => @gross_commission__c,
125
+ :"Gross_Commission_All__c" => @gross_commission_all__c,
126
+ :"HOA_Dues__c" => @hoa_dues__c,
127
+ :"If_VA_Eligible_have_they_used_it__c" => @if_va_eligible_have_they_used_it__c,
128
+ :"Industry" => @industry,
129
+ :"Inside_Realtor__c" => @inside_realtor__c,
130
+ :"Inspection_Objection_Date__c" => @inspection_objection_date__c,
131
+ :"Internet_Lead__c" => @internet_lead__c,
132
+ :"Internet_Source__c" => @internet_source__c,
133
+ :"IsCustomerPortal" => @is_customer_portal,
134
+ :"Jigsaw" => @jigsaw,
135
+ :"Last_Appraisal__c" => @last_appraisal__c,
136
+ :"Last_Date_Listed__c" => @last_date_listed__c,
137
+ :"Last_Price_Listed_For__c" => @last_price_listed_for__c,
138
+ :"LastModifiedBy" => @last_modified_by,
139
+ :"Lead_Sent_to_SqlByte__c" => @lead_sent_to_sqlbyte__c,
140
+ :"Lead_Type__c" => @lead_type__c,
141
+ :"Listing_Agent_Broker__c" => @listing_agent_broker__c,
142
+ :"Listing_Agent_Cell_Phone__c" => @listing_agent_cell_phone__c,
143
+ :"Listing_Agent_Company__c" => @listing_agent_company__c,
144
+ :"Listing_Agent_Email__c" => @listing_agent_email__c,
145
+ :"Listing_Agent_Work_Phone__c" => @listing_agent_work_phone__c,
146
+ :"Listing_Contract_Date__c" => @listing_contract_date__c,
147
+ :"Loan_Commitment_Date__c" => @loan_commitment_date__c,
148
+ :"Loan_Purpose__c" => @loan_purpose__c,
149
+ :"Loan_Type__c" => @loan_type__c,
150
+ :"LOS_Issues__c" => @los_issues__c,
151
+ :"Median_Score__c" => @median_score__c,
152
+ :"Monthly_Budget__c" => @monthly_budget__c,
153
+ :"Monthly_Insurance__c" => @monthly_insurance__c,
154
+ :"Monthly_Taxes__c" => @monthly_taxes__c,
155
+ :"Mortgage_Notes__c" => @mortgage_notes__c,
156
+ :"Name" => @name,
157
+ :"New_File_To_Buyer__c" => @new_file_to_buyer__c,
158
+ :"New_Purchase_Price__c" => @new_purchase_price__c,
159
+ :"Not_A_Lead__c" => @not_a_lead__c,
160
+ :"NumberOfEmployees" => @numberofemployees,
161
+ :"Number_of_Units__c" => @number_of_units__c,
162
+ :"Occupancy_Type__c" => @occupancy_type__c,
163
+ :"Original_Endorser__c" => @original_endorser__c,
164
+ :"Original_Purchase_Price__c" => @original_purchase_price__c,
165
+ :"Original_Source__c" => @original_source__c,
166
+ :"Outside_Financing__c" => @outside_financing__c,
167
+ :"Outside_Real_Estate_Company__c" => @outside_real_estate_company__c,
168
+ :"Owner" => @owner,
169
+ :"Owner_from_Original_Lead__c" => @owner_from_original_lead__c,
170
+ :"OwnerCell__c" => @ownercell__c,
171
+ :"Ownership" => @ownership,
172
+ :"Parent" => @parent,
173
+ :"Pending_Docs__c" => @pending_docs__c,
174
+ :"Phone" => @phone,
175
+ :"Previous_Year_30_Day_Mortgage_Lates__c" => @previous_year_30_day_mortgage_lates__c,
176
+ :"Price_Range__c" => @price_range__c,
177
+ :"Primary_Borrower_Email__c" => @primary_borrower_email__c,
178
+ :"Primary_Borrower_Name__c" => @primary_borrower_name__c,
179
+ :"Primary_Borrower_Phone__c" => @primary_borrower_phone__c,
180
+ :"Processor__c" => @processor__c,
181
+ :"Program_Coordinator__c" => @program_coordinator__c,
182
+ :"Property_Type__c" => @property_type__c,
183
+ :"Puchase_Close_Date__c" => @puchase_close_date__c,
184
+ :"Purchase_Contract_Date__c" => @purchase_contract_date__c,
185
+ :"Purchase_Date__c" => @purchase_date__c,
186
+ :"Rating" => @rating,
187
+ :"Realtor_Email__c" => @realtor_email__c,
188
+ :"Realtor_Name__c" => @realtor_name__c,
189
+ :"Realtor_Phone_Number__c" => @realtor_phone_number__c,
190
+ :"Referral_Commission__c" => @referral_commission__c,
191
+ :"Refinance_Purpose__c" => @refinance_purpose__c,
192
+ :"Related_File__c" => @related_file__c,
193
+ :"Renting_Current_Home__c" => @renting_current_home__c,
194
+ :"Rescore_Date__c" => @rescore_date__c,
195
+ :"Rescore_Done__c" => @rescore_done__c,
196
+ :"Residence_Type__c" => @residence_type__c,
197
+ :"Scanning_Complete__c" => @scanning_complete__c,
198
+ :"Score_Update__c" => @score_update__c,
199
+ :"SearchAdgroup__c" => @searchadgroup__c,
200
+ :"SearchCampaign__c" => @searchcampaign__c,
201
+ :"SearchKeyword__c" => @searchkeyword__c,
202
+ :"SearchSource__c" => @searchsource__c,
203
+ :"Selling_Current_Home__c" => @selling_current_home__c,
204
+ :"Session_UUID__c" => @session_uuid__c,
205
+ :"ShippingAddress" => @shipping_address,
206
+ :"Sic" => @sic,
207
+ :"SicDesc" => @sic_description,
208
+ :"Sign_Off_Location__c" => @sign_off_location__c,
209
+ :"Sign_Up_Date__c" => @sign_up_date__c,
210
+ :"Site" => @site,
211
+ :"Source__c" => @source__c,
212
+ :"Square_Feet__c" => @square_feet__c,
213
+ :"Subject_Property_Address__c" => @subject_property_address__c,
214
+ :"Subject_Property_City__c" => @subject_property_city__c,
215
+ :"Subject_Property_State__c" => @subject_property_state__c,
216
+ :"Subject_Property_Zip__c" => @subject_property_zip__c,
217
+ :"TickerSymbol" => @ticker_symbol,
218
+ :"Title_Address__c" => @title_address__c,
219
+ :"Title_Closer_Name__c" => @title_closer_name__c,
220
+ :"Title_Company_Name__c" => @title_company_name__c,
221
+ :"Title_Email__c" => @title_email__c,
222
+ :"Title_Fax__c" => @title_fax__c,
223
+ :"Title_Phone__c" => @title_phone__c,
224
+ :"Title_State__c" => @title_state__c,
225
+ :"Title_Zip__c" => @title_zip__c,
226
+ :"Type" => @type,
227
+ :"Type__c" => @type__c,
228
+ :"VA_Eligible__c" => @va_eligible__c,
229
+ :"Velo__Is_Synced_with_Velocify__c" => @velo__is_synced_with_velocify__c,
230
+ :"Velo__Lead360RecordId__c" => @velo__lead360recordid__c,
231
+ :"Velo__Leads360_MileStoneId__c" => @velo__leads360_milestoneid__c,
232
+ :"Velo__Record_History__c" => @velo__record_history__c,
233
+ :"Velo__Salesforce_Owner_Name__c" => @velo__salesforce_owner_name__c,
234
+ :"Velo__Salesforce_Owner_ProfileName__c" => @velo__salesforce_owner_profilename__c,
235
+ :"Velo__Salesforce_Owner_Role_Name__c" => @velo__salesforce_owner_role_name__c,
236
+ :"Velo__Status__c" => @velo__status__c,
237
+ :"Velo__Time_Zone__c" => @velo__time_zone__c,
238
+ :"Velo_Last_Action_Date__c" => @velo_last_action_date__c,
239
+ :"Velocify_Owner__c" => @velocify_owner__c,
240
+ :"Website" => @website,
241
+ :"WhenSelling__c" => @whenselling__c,
242
+ :"Working_with_Realtor__c" => @working_with_realtor__c,
243
+ :"X1_Referral_Date__c" => @x1_referral_date__c,
244
+ :"X1_Referral_Name__c" => @x1_referral_name__c,
245
+ :"X1_Referral_Phone__c" => @x1_referral_phone__c,
246
+ :"X1st_Mortgage_Balance__c" => @x1st_mortgage_balance__c,
247
+ :"X1st_Mortgage_Payment__c" => @x1st_mortgage_payment__c,
248
+ :"X1st_Mortgage_Rate__c" => @x1st_mortgage_rate__c,
249
+ :"X2_Referral_Date__c" => @x2_referral_date__c,
250
+ :"X2_Referral_Name__c" => @x2_referral_name__c,
251
+ :"X2_Referral_Phone__c" => @x2_referral_phone__c,
252
+ :"X2nd_Mortgage__c" => @x2nd_mortgage__c,
253
+ :"X2nd_Mortgage_Balance__c" => @x2nd_mortgage_balance__c,
254
+ :"X2nd_Mortgage_Date_Opened__c" => @x2nd_mortgage_date_opened__c,
255
+ :"X2nd_Mortgage_Payment__c" => @x2nd_mortgage_payment__c,
256
+ :"X2nd_Mortgage_Rate__c" => @x2nd_mortgage_rate__c,
257
+ :"X3_Referral_Date__c" => @x3_referral_date__c,
258
+ :"X3_Referral_Name__c" => @x3_referral_name__c,
259
+ :"X3_Referral_Phone__c" => @x3_referral_phone__c,
260
+ :"X4_Referral_Date__c" => @x4_referral_date__c,
261
+ :"X4_Referral_Name__c" => @x4_referral_name__c,
262
+ :"X4_Referral_Phone__c" => @x4_referral_phone__c
263
+ }.select{ |k,v| !v.nil? }
264
+ end
265
+ end
266
+ end
267
+ end