afc_salesforce 0.1.11 → 0.1.12

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
- SHA256:
3
- metadata.gz: 376b717fc8702d57a59679b0bcf7c6b3a633fa27d95e3ab6cb17a5722544529a
4
- data.tar.gz: ede952cc8ffc94392a49e759b430001e2556ccd43e62a0a17d240a29cb7a70f3
2
+ SHA1:
3
+ metadata.gz: 87f3130e2cba9c923de523072bd6b63d7010f4de
4
+ data.tar.gz: 7d55da0755a33815152d27a9cb780f1e4c56d5f2
5
5
  SHA512:
6
- metadata.gz: 10357bb58da508814c335787c5148ca33ce1469aa6e8bb9b646616473ac59f832f2b9e6848681c585cc3112598fcfe9cc5d3160a9bd7c1b406c07d343df5eff8
7
- data.tar.gz: 387afd2cc01d254e331506a2cdc7e4fc8735269f911cb3f4f4066ecb913a47e5b4e943a18e4c3847042118172be084cafdf6242c2503d012ae038733181ec2ce
6
+ metadata.gz: 45f00b0bc65c3bed08d1ecd8ab51bbfe91db23b65e6a07ffa8fca674f7238df392b9bb687b1e5d95b579a8a2fab40cd49f6397bfbd5c4804c51985f08ce9a5d6
7
+ data.tar.gz: 256b0d7c4b58354477035f809d8573946471db3ab69f404172e8a1ae859040623f6051fc3abd1ec49590b4f1800c25eabd294cdd576b6ce003a5be8e5833c962
@@ -34,6 +34,7 @@ require_relative 'afc_salesforce/lead'
34
34
  require_relative 'afc_salesforce/forms/long_purchase'
35
35
  require_relative 'afc_salesforce/forms/long_refinance'
36
36
  require_relative 'afc_salesforce/forms/short_lead'
37
+ require_relative 'afc_salesforce/forms/lead_plus'
37
38
 
38
39
  require_relative 'afc_salesforce/version'
39
40
 
@@ -53,4 +54,4 @@ module AFCSalesforce
53
54
  def self.configure
54
55
  yield(configuration)
55
56
  end
56
- end
57
+ end
@@ -0,0 +1,53 @@
1
+ module AFCSalesforce
2
+ module Forms
3
+ class LeadPlus
4
+ attr_accessor :borrowers, :account
5
+
6
+ def initialize(options={})
7
+ @borrowers = options.fetch(:borrowers, [])
8
+ @account = options.fetch(:account, nil)
9
+ end
10
+
11
+ def valid?
12
+ validator = LeadPlusValidator.new(self)
13
+ validator.valid?
14
+ end
15
+
16
+ def validate!
17
+ validator = LeadPlusValidator.new(self)
18
+ if validator.valid?
19
+ return true
20
+ else
21
+ return validator.errors
22
+ end
23
+ end
24
+
25
+ def salesforce_hash
26
+ form_hash = {long_form: {}}
27
+ form_hash[:long_form][:borrowers] = @borrowers.empty? ? [] : @borrowers.map(&:to_h)
28
+ form_hash[:long_form][:account] = @account.to_h
29
+ form_hash
30
+ end
31
+
32
+ def send_to_salesforce
33
+ Restforce.new(
34
+ username: AFCSalesforce.configuration.salesforce_username,
35
+ password: AFCSalesforce.configuration.salesforce_password,
36
+ security_token: AFCSalesforce.configuration.salesforce_security_token,
37
+ client_id: AFCSalesforce.configuration.salesforce_client_id,
38
+ client_secret: AFCSalesforce.configuration.salesforce_client_secret,
39
+ api_version: AFCSalesforce.configuration.salesforce_api_version,
40
+ host: AFCSalesforce.configuration.salesforce_host,
41
+ authentication_callback: AFCSalesforce.configuration.salesforce_authentication_callback
42
+ ).post(URI('/services/apexrest/v1/lead_plus_form'), salesforce_hash)
43
+ end
44
+ end
45
+
46
+ class LeadPlusValidator < AFCSalesforce::Tools::Validation::Validator
47
+ include AFCSalesforce::Tools::Validation
48
+
49
+ rule :borrowers, [{instance_of: Array}, length: {minimum: 1}]
50
+ rule :account, [{instance_of: AFCSalesforce::Account}, :not_nil]
51
+ end
52
+ end
53
+ end
@@ -1,3 +1,3 @@
1
1
  module AFCSalesforce
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.12"
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.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donavan White
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-19 00:00:00.000000000 Z
11
+ date: 2018-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -155,6 +155,7 @@ files:
155
155
  - lib/afc_salesforce/borrower.rb
156
156
  - lib/afc_salesforce/configuration.rb
157
157
  - lib/afc_salesforce/forms/agent_referral.rb
158
+ - lib/afc_salesforce/forms/lead_plus.rb
158
159
  - lib/afc_salesforce/forms/long_purchase.rb
159
160
  - lib/afc_salesforce/forms/long_refinance.rb
160
161
  - lib/afc_salesforce/forms/short_lead.rb
@@ -201,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
202
  version: '0'
202
203
  requirements: []
203
204
  rubyforge_project:
204
- rubygems_version: 2.7.3
205
+ rubygems_version: 2.6.11
205
206
  signing_key:
206
207
  specification_version: 4
207
208
  summary: Salesforce Library for the AFC Salesforce Instance