deltavista_crif_dva_interface 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,10 @@ module DeltavistaCrifDvaInterface
7
7
  super(options)
8
8
  end
9
9
 
10
+ # Executes collection check for private person
11
+ # @param address [Hash<Symbol, String>] address data
12
+ # @param collection [Hash<Symbol, String>] collection data
13
+ # @return [Hash] check result
10
14
  def private_collection_check(address, collection)
11
15
  insert_private_address address
12
16
  envelope[:report_type] = 'COLLECTION_CHECK_CONSUMER'
@@ -16,6 +20,10 @@ module DeltavistaCrifDvaInterface
16
20
  result[:data]
17
21
  end
18
22
 
23
+ # Executes collection check for business
24
+ # @param address [Hash<Symbol, String>] address data
25
+ # @param collection [Hash<Symbol, String>] collection data
26
+ # @return [Hash] check result
19
27
  def business_collection_check(address, collection)
20
28
  insert_company_address address
21
29
  envelope[:report_type] = 'COLLECTION_CHECK_BUSINESS'
@@ -25,13 +33,68 @@ module DeltavistaCrifDvaInterface
25
33
  result[:data]
26
34
  end
27
35
 
36
+ # Checks if requested address is matched
37
+ # @param [Hash] check result
38
+ # @return [true, false] if matched true, otherwise false
39
+ def address_matched?(result)
40
+ address_matched = false
41
+ if result.has_key?(:address_match_result)
42
+ address_match_result = result[:address_match_result]
43
+ if address_match_result.has_key?(:address_match_result_type)
44
+ result_type = address_match_result[:address_match_result_type]
45
+ address_matched = result_type == 'MATCH'
46
+ end
47
+ end
48
+ address_matched
49
+ end
50
+
51
+ # Gets global decision of collection check
52
+ # @param [Hash] check result
53
+ # @return [Hash<Symbol, String>] hash with decision and decision text
54
+ def global_decision(result)
55
+ global_decision = { }
56
+ if address_matched?(result)
57
+ if result.has_key?(:decision_matrix)
58
+ decision_matrix = result[:decision_matrix]
59
+ global_decision[:decision] = decision_matrix[:decision] if decision_matrix.has_key?(:decision)
60
+ global_decision[:decision_text] = decision_matrix[:decision_text] if decision_matrix.has_key?(:decision_text)
61
+ end
62
+ end
63
+ global_decision
64
+ end
65
+
66
+ # Gets score of collection check
67
+ # @param [Hash] check result
68
+ # @return [String,nil] score value if available, otherwise nil
69
+ def score(result)
70
+ score = nil
71
+ if address_matched?(result)
72
+ if result.has_key?(:decision_matrix)
73
+ decision_matrix = result[:decision_matrix]
74
+ if decision_matrix.has_key?(:subdecisions)
75
+ decision_matrix[:subdecisions].each do |sub_decision|
76
+ score = sub_decision[:value] if sub_decision.has_key?(:type) && sub_decision[:type] == 'SCORE'
77
+ end
78
+ end
79
+ end
80
+ end
81
+ score
82
+ end
83
+
84
+ protected
85
+ # Overrides default minor version in super class
86
+ # @return [Integer] minor version number
87
+ def minor_version
88
+ 6
89
+ end
90
+
28
91
  private
29
92
  def insert_collection(collection)
30
93
  additional_input('openAmount', collection[:open_amount])
31
- additional_input('totalAmount', collection[:total_amount]) if collection[:date_invoice]
94
+ additional_input('totalAmount', collection[:total_amount])
32
95
  additional_input('collectionCaseStatus', collection[:case_status])
33
96
  additional_input('dateOpen', format_date(collection[:date_open]))
34
- additional_input('invoiceDate', collection[:date_invoice]) if collection[:date_invoice]
97
+ additional_input('invoiceDate', format_date(collection[:date_invoice]))
35
98
  end
36
99
 
37
100
  end
@@ -60,8 +60,8 @@ module DeltavistaCrifDvaInterface
60
60
 
61
61
  def insert_control
62
62
  envelope[:control] = {
63
- :major_version => 1,
64
- :minor_version => 0
63
+ :major_version => major_version,
64
+ :minor_version => minor_version
65
65
  }
66
66
  end
67
67
 
@@ -133,5 +133,17 @@ module DeltavistaCrifDvaInterface
133
133
  target[:attributes!][last_child] = hash
134
134
  end
135
135
 
136
+ protected
137
+ # major version used in interface
138
+ # @return [Integer] major version number
139
+ def major_version
140
+ 1
141
+ end
142
+
143
+ # minor version used in interface
144
+ # @return [Integer] minor version number
145
+ def minor_version
146
+ 0
147
+ end
136
148
  end
137
149
  end
@@ -1,3 +1,3 @@
1
1
  module DeltavistaCrifDvaInterface
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deltavista_crif_dva_interface
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-12-23 00:00:00.000000000 Z
14
+ date: 2015-02-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rspec
@@ -45,6 +45,22 @@ dependencies:
45
45
  - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: jruby-openssl
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 0.9.4
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 0.9.4
48
64
  - !ruby/object:Gem::Dependency
49
65
  name: nokogiri
50
66
  requirement: !ruby/object:Gem::Requirement