Class: AFCSalesforce::Forms::LongPurchase
- Inherits:
-
Object
- Object
- AFCSalesforce::Forms::LongPurchase
- Defined in:
- lib/afc_salesforce/forms/long_purchase.rb
Instance Attribute Summary collapse
-
#account ⇒ Object
Returns the value of attribute account.
-
#additional_incomes ⇒ Object
Returns the value of attribute additional_incomes.
-
#assets ⇒ Object
Returns the value of attribute assets.
-
#borrowers ⇒ Object
Returns the value of attribute borrowers.
Instance Method Summary collapse
-
#initialize(options = {borrowers: [], account: nil, additional_incomes: [], assets: []}) ⇒ LongPurchase
constructor
A new instance of LongPurchase.
- #salesforce_hash ⇒ Object
- #send_to_salesforce ⇒ Object
- #valid? ⇒ Boolean
- #validate! ⇒ Object
Constructor Details
#initialize(options = {borrowers: [], account: nil, additional_incomes: [], assets: []}) ⇒ LongPurchase
Returns a new instance of LongPurchase.
6 7 8 9 10 11 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 6 def initialize(={borrowers: [], account: nil, additional_incomes: [], assets: []}) @borrowers = [:borrowers] @account = [:account] @additional_incomes = [:additional_incomes] || [] @assets = [:assets] || [] end |
Instance Attribute Details
#account ⇒ Object
Returns the value of attribute account.
4 5 6 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 4 def account @account end |
#additional_incomes ⇒ Object
Returns the value of attribute additional_incomes.
4 5 6 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 4 def additional_incomes @additional_incomes end |
#assets ⇒ Object
Returns the value of attribute assets.
4 5 6 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 4 def assets @assets end |
#borrowers ⇒ Object
Returns the value of attribute borrowers.
4 5 6 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 4 def borrowers @borrowers end |
Instance Method Details
#salesforce_hash ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 27 def salesforce_hash form_hash = {long_purchase: {}} form_hash[:long_purchase][:borrowers] = @borrowers.empty? ? [] : @borrowers.map(&:to_h) form_hash[:long_purchase][:account] = @account.to_h form_hash[:long_purchase][:additional_incomes] = @additional_incomes.empty? ? [] : @additional_incomes.map(&:to_h) form_hash[:long_purchase][:assets] = @assets.empty? ? [] : @assets.map(&:to_h) form_hash end |
#send_to_salesforce ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 36 def send_to_salesforce Restforce.new( username: AFCSalesforce.configuration.salesforce_username, password: AFCSalesforce.configuration.salesforce_password, security_token: AFCSalesforce.configuration.salesforce_security_token, client_id: AFCSalesforce.configuration.salesforce_client_id, client_secret: AFCSalesforce.configuration.salesforce_client_secret, api_version: AFCSalesforce.configuration.salesforce_api_version, host: AFCSalesforce.configuration.salesforce_host, authentication_callback: AFCSalesforce.configuration.salesforce_authentication_callback ).post(URI('/services/apexrest/v1/purchase_form'), salesforce_hash) end |
#valid? ⇒ Boolean
13 14 15 16 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 13 def valid? validator = LongPurchaseValidator.new(self) validator.valid? end |
#validate! ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/afc_salesforce/forms/long_purchase.rb', line 18 def validate! validator = LongPurchaseValidator.new(self) if validator.valid? return true else return validator.errors end end |