corepro 0.0.9 → 1.0.0

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.
Files changed (54) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +15 -15
  3. data/.idea/.rakeTasks +1 -1
  4. data/.idea/corepro-sdk-ruby.iml +12 -134
  5. data/.idea/modules.xml +1 -3
  6. data/CorePro.gemspec +25 -23
  7. data/Gemfile +14 -14
  8. data/README.md +47 -47
  9. data/Rakefile +2 -2
  10. data/lib/corepro.rb +13 -13
  11. data/lib/corepro/account.rb +47 -6
  12. data/lib/corepro/bank_document.rb +2 -2
  13. data/lib/corepro/card.rb +91 -0
  14. data/lib/corepro/customer.rb +28 -34
  15. data/lib/corepro/customer_beneficiary.rb +4 -15
  16. data/lib/corepro/customer_document.rb +0 -10
  17. data/lib/corepro/external_account.rb +8 -21
  18. data/lib/corepro/models/account_access.rb +25 -0
  19. data/lib/corepro/models/customer_beneficiary_id_only.rb +8 -8
  20. data/lib/corepro/models/model_base.rb +1 -1
  21. data/lib/corepro/models/program_account.rb +20 -0
  22. data/lib/corepro/models/program_checking.rb +36 -36
  23. data/lib/corepro/models/program_e_code.rb +30 -30
  24. data/lib/corepro/models/program_external_account.rb +21 -0
  25. data/lib/corepro/models/program_interest_rate.rb +5 -0
  26. data/lib/corepro/models/program_prepaid.rb +36 -36
  27. data/lib/corepro/models/program_savings.rb +35 -35
  28. data/lib/corepro/program.rb +9 -0
  29. data/lib/corepro/transaction.rb +8 -1
  30. data/lib/corepro/utils/requestor.rb +3 -3
  31. data/lib/corepro/version.rb +4 -4
  32. data/test/a_program_test.rb +12 -0
  33. data/test/aa_customer_test.rb +74 -0
  34. data/test/ab_account_test.rb +44 -0
  35. data/test/ac_external_account_test.rb +39 -0
  36. data/test/ad_customer_beneficiary_test.rb +42 -42
  37. data/test/ae_customer_document_test.rb +15 -15
  38. data/test/af_bankdocument_test.rb +19 -19
  39. data/test/ag_external_account_document_test.rb +17 -17
  40. data/test/ai_statement_test.rb +22 -22
  41. data/test/aj_transfer_test.rb +53 -0
  42. data/test/ak_transaction_test.rb +18 -8
  43. data/test/core_pro_test_base.rb +9 -23
  44. metadata +50 -41
  45. data/.idea/runConfigurations/All_tests_in_corepro_sdk_ruby__corepro_sdk_ruby.xml +0 -34
  46. data/test/aa_customer_nacha_test.rb +0 -63
  47. data/test/aa_customer_prepaid_test.rb +0 -55
  48. data/test/aaa_program_test.rb +0 -11
  49. data/test/ab_account_nacha_test.rb +0 -46
  50. data/test/ab_account_prepaid_test.rb +0 -46
  51. data/test/ac_external_account_nacha_test.rb +0 -6
  52. data/test/ac_external_account_prepaid_test.rb +0 -46
  53. data/test/aj_transfer_nacha_test.rb +0 -6
  54. data/test/aj_transfer_prepaid_test.rb +0 -36
@@ -24,7 +24,7 @@ module CorePro
24
24
  end
25
25
 
26
26
  def list(connection = nil, loggingObject = nil)
27
- CorePro::Utils::Requestor.get("/bankdocument/list/#{escape(self.culture)}/#{escape(self.documentType)}", BankDocument, connection, loggingObject)
27
+ CorePro::Utils::Requestor.get("/bankdocument/list/#{BankDocument.escape(self.culture)}/#{BankDocument.escape(self.documentType)}", BankDocument, connection, loggingObject)
28
28
  end
29
29
 
30
30
  def self.download(culture, documentId, connection = nil, loggingObject = nil)
@@ -35,7 +35,7 @@ module CorePro
35
35
  end
36
36
 
37
37
  def download(connection = nil, loggingObject = nil)
38
- CorePro::Utils::Requestor.get("/bankdocument/download/#{escape(self.culture)}/#{self.documentId}", CorePro::Models::FileContent, connection, loggingObject)
38
+ CorePro::Utils::Requestor.get("/bankdocument/download/#{BankDocument.escape(self.culture)}/#{self.documentId}", CorePro::Models::FileContent, connection, loggingObject)
39
39
  end
40
40
 
41
41
  end
@@ -0,0 +1,91 @@
1
+ require_relative 'models/model_base'
2
+ require_relative 'utils/requestor'
3
+
4
+ module CorePro
5
+ class Card < Models::ModelBase
6
+ attr_accessor :cardId
7
+ attr_accessor :customerId
8
+ attr_accessor :cardHolderCustomerId
9
+ attr_accessor :typeCode
10
+ attr_accessor :vendorTypeCode
11
+ attr_accessor :status
12
+ attr_accessor :cardNumberMasked
13
+ attr_accessor :tag
14
+ attr_accessor :firstName
15
+ attr_accessor :middleName
16
+ attr_accessor :lastName
17
+ attr_accessor :nickName
18
+ attr_accessor :expireMonth
19
+ attr_accessor :expireYear
20
+ attr_accessor :primaryAccountId
21
+ attr_accessor :lockTypeCode
22
+ attr_accessor :lockReasonTypeCode
23
+ attr_accessor :createdDate
24
+ attr_accessor :requestedDate
25
+ attr_accessor :verifiedDate
26
+ attr_accessor :reissuedDate
27
+ attr_accessor :deniedDate
28
+ attr_accessor :expiredDate
29
+ attr_accessor :archivedDate
30
+ attr_accessor :lastModifiedDate
31
+ attr_accessor :accounts
32
+
33
+
34
+ def self.get(customerId, cardId, connection = nil, loggingObject = nil)
35
+ CorePro::Utils::Requestor.get("/card/get/#{customerId}/#{cardId}", Card, connection, loggingObject)
36
+ end
37
+
38
+ def self.getByTag(customerId, tag, connection = nil, loggingObject = nil)
39
+ CorePro::Utils::Requestor.get("/card/getByTag/#{customerId}/#{escape(tag)}", Card, connection, loggingObject)
40
+ end
41
+
42
+ def self.list(customerId, connection = nil, loggingObject = nil)
43
+ CorePro::Utils::Requestor.get("/card/list/#{customerId}", Card, connection, loggingObject)
44
+ end
45
+
46
+
47
+ def initiate(connection = nil, loggingObject = nil)
48
+ CorePro::Utils::Requestor.post('/card/initiate', Card, self, connection, loggingObject)
49
+ end
50
+
51
+ def verify(connection = nil, loggingObject = nil)
52
+ CorePro::Utils::Requestor.post('/card/verify', Card, self, connection, loggingObject)
53
+ end
54
+
55
+ def reissue(connection = nil, loggingObject = nil)
56
+ CorePro::Utils::Requestor.post('/card/reissue', Card, self, connection, loggingObject)
57
+ end
58
+
59
+ def archive(connection = nil, loggingObject = nil)
60
+ CorePro::Utils::Requestor.post('/card/archive', nil, self, connection, loggingObject)
61
+ end
62
+
63
+
64
+
65
+ def addAccount(connection = nil, loggingObject = nil)
66
+ CorePro::Utils::Requestor.post('/card/addAccount', Card, self, connection, loggingObject)
67
+ end
68
+
69
+ def removeAccount(connection = nil, loggingObject = nil)
70
+ CorePro::Utils::Requestor.post('/card/removeAccount', Card, self, connection, loggingObject)
71
+ end
72
+
73
+ def reprioritizeAccount(connection = nil, loggingObject = nil)
74
+ CorePro::Utils::Requestor.post('/card/reprioritizeAccount', Card, self, connection, loggingObject)
75
+ end
76
+
77
+
78
+ def hotlist(connection = nil, loggingObject = nil)
79
+ CorePro::Utils::Requestor.post('/card/hotlist', Card, self, connection, loggingObject)
80
+ end
81
+
82
+ def lock(connection = nil, loggingObject = nil)
83
+ CorePro::Utils::Requestor.post('/card/lock', Card, self, connection, loggingObject)
84
+ end
85
+
86
+ def unlock(connection = nil, loggingObject = nil)
87
+ CorePro::Utils::Requestor.post('/card/unlock', Card, self, connection, loggingObject)
88
+ end
89
+
90
+ end
91
+ end
@@ -5,6 +5,7 @@ require_relative 'models/customer_id_only'
5
5
  require_relative 'models/customer_phone'
6
6
  require_relative 'models/customer_address'
7
7
  require_relative 'account'
8
+ require_relative 'card'
8
9
  require_relative 'external_account'
9
10
 
10
11
  module CorePro
@@ -15,6 +16,7 @@ module CorePro
15
16
  attr_accessor :firstName
16
17
  attr_accessor :middleName
17
18
  attr_accessor :lastName
19
+ attr_accessor :suffix
18
20
  attr_accessor :birthDate
19
21
  attr_accessor :gender
20
22
  attr_accessor :culture
@@ -22,24 +24,39 @@ module CorePro
22
24
  attr_accessor :status
23
25
  attr_accessor :createdDate
24
26
  attr_accessor :taxId
27
+ attr_accessor :taxIdMasked
25
28
  attr_accessor :driversLicenseNumber
29
+ attr_accessor :driversLicenseNumberMasked
26
30
  attr_accessor :driversLicenseState
27
- attr_accessor :driversLicenseExpirationDate
31
+ attr_accessor :driversLicenseIssueDate
32
+ attr_accessor :driversLicenseExpireDate
28
33
  attr_accessor :passportNumber
34
+ attr_accessor :passportNumberMasked
29
35
  attr_accessor :passportCountry
36
+ attr_accessor :passportIssueDate
37
+ attr_accessor :passportExpireDate
30
38
  attr_accessor :emailAddress
31
39
  attr_accessor :isActive
32
40
  attr_accessor :isLocked
33
41
  attr_accessor :lockedDate
34
42
  attr_accessor :lockedReason
43
+ attr_accessor :deceasedDate
35
44
  attr_accessor :isSubjectToBackupWithholding
36
45
  attr_accessor :isOptedInToBankCommunication
37
46
  attr_accessor :isDocumentsAccepted
47
+ attr_accessor :customField1
48
+ attr_accessor :customField2
49
+ attr_accessor :customField3
50
+ attr_accessor :customField4
51
+ attr_accessor :customField5
52
+ attr_accessor :accessTypeCode
53
+ attr_accessor :lastModifiedDate
54
+ attr_accessor :lastActivityDate
38
55
  attr_accessor :phones
39
56
  attr_accessor :addresses
40
- attr_accessor :deceasedDate
41
57
  attr_accessor :accounts
42
58
  attr_accessor :externalAccounts
59
+ attr_accessor :cards
43
60
 
44
61
  def from_json! json, classDefs
45
62
  classDefs = classDefs || {}
@@ -47,6 +64,7 @@ module CorePro
47
64
  classDefs['addresses'] = CorePro::Models::CustomerAddress
48
65
  classDefs['accounts'] = CorePro::Account
49
66
  classDefs['externalAccounts'] = CorePro::ExternalAccount
67
+ classDefs['cards'] = CorePro::Card
50
68
  super json, classDefs
51
69
  end
52
70
 
@@ -55,35 +73,24 @@ module CorePro
55
73
  @phones = []
56
74
  @addresses = []
57
75
  @accounts = []
58
- @externalAccount = []
76
+ @externalAccounts = []
77
+ @cards = []
59
78
  end
60
79
 
61
80
  def self.list(pageNumber = 0, pageSize = 200, connection = nil, loggingObject = nil)
62
- Customer.new.list pageNumber, pageSize, connection, loggingObject
63
- end
64
-
65
- def list(pageNumber = 0, pageSize = 200, connection = nil, loggingObject = nil)
66
81
  CorePro::Utils::Requestor.get("/customer/list?pageNumber=#{pageNumber}&pageSize=#{pageSize}", Customer, connection, loggingObject)
67
82
  end
68
83
 
69
84
  def self.get(customerId, connection = nil, loggingObject = nil)
70
- c = Customer.new
71
- c.customerId = customerId
72
- c.get(connection, loggingObject)
73
- end
74
-
75
- def get(connection = nil, loggingObject = nil)
76
- CorePro::Utils::Requestor.get("/customer/get/#{self.customerId}", Customer, connection, loggingObject)
85
+ CorePro::Utils::Requestor.get("/customer/get/#{customerId}", Customer, connection, loggingObject)
77
86
  end
78
87
 
79
88
  def self.getByTag(tag, connection = nil, loggingObject = nil)
80
- c = Customer.new
81
- c.tag = tag
82
- c.getByTag(connection, loggingObject)
89
+ CorePro::Utils::Requestor.get("/customer/getByTag/?tag=#{escape(tag)}", Customer, connection, loggingObject)
83
90
  end
84
91
 
85
- def getByTag(connection = nil, loggingObject = nil)
86
- CorePro::Utils::Requestor.get("/customer/getByTag/#{escape(self.tag)}", Customer, connection, loggingObject)
92
+ def self.getByEmail(emailAddress, connection = nil, loggingObject = nil)
93
+ CorePro::Utils::Requestor.get("/customer/getByEmail/?emailAddress=#{escape(emailAddress)}", Customer, connection, loggingObject)
87
94
  end
88
95
 
89
96
  def self.search(tag = nil, taxId = nil, passportNumber = nil, driversLicenseNumber = nil, birthDate = nil, emailAddress = nil, lastName = nil, firstName = nil, pageNumber = 0, pageSize = 200, connection = nil, loggingObject = nil)
@@ -113,14 +120,8 @@ module CorePro
113
120
  cid.customerId
114
121
  end
115
122
 
116
- def self.deactivate(customerId, connection = nil, loggingObject = nil)
117
- c = Customer.new
118
- c.customerId = customerId
119
- c.deactivate(connection, loggingObject)
120
- end
121
-
122
- def deactivate(connection = nil, loggingObject = nil)
123
- cid = CorePro::Utils::Requestor.post('/customer/deactivate', CorePro::Models::CustomerIdOnly, self, connection, loggingObject)
123
+ def archive(connection = nil, loggingObject = nil)
124
+ cid = CorePro::Utils::Requestor.post('/customer/archive', CorePro::Models::CustomerIdOnly, self, connection, loggingObject)
124
125
  cid.customerId
125
126
  end
126
127
 
@@ -128,13 +129,6 @@ module CorePro
128
129
  CorePro::Utils::Requestor.post('/customer/initiate', CorePro::Models::CustomerResponse, self, connection, loggingObject)
129
130
  end
130
131
 
131
- def self.verify(verificationId, answers, connection = nil, loggingObject = nil)
132
- cvr = CorePro::Models::CustomerVerifyRequest.new
133
- cvr.verificationId = verificationId
134
- cvr.answers = answers
135
- cvr.verify connection, loggingObject
136
- end
137
-
138
132
  def verify(verificationId, answers, connection = nil, loggingObject = nil)
139
133
  cvr = CorePro::Models::CustomerVerifyRequest.new
140
134
  cvr.verificationId = verificationId
@@ -7,31 +7,20 @@ module CorePro
7
7
  attr_accessor :customerId
8
8
  attr_accessor :customerBeneficiaryId
9
9
  attr_accessor :firstName
10
+ attr_accessor :middleName
10
11
  attr_accessor :lastName
11
12
  attr_accessor :birthDate
12
13
  attr_accessor :taxId
13
14
  attr_accessor :taxIdMasked
14
15
  attr_accessor :isActive
16
+ attr_accessor :lastModifiedDate
15
17
 
16
18
  def self.list(customerId, connection = nil, loggingObject = nil)
17
- cb = CustomerBeneficiary.new
18
- cb.customerId = customerId
19
- cb.list connection, loggingObject
20
- end
21
-
22
- def list(connection = nil, loggingObject = nil)
23
- CorePro::Utils::Requestor.get("/customerbeneficiary/list/#{self.customerId}", CustomerBeneficiary, connection, loggingObject)
19
+ CorePro::Utils::Requestor.get("/customerbeneficiary/list/#{customerId}", CustomerBeneficiary, connection, loggingObject)
24
20
  end
25
21
 
26
22
  def self.get(customerId, customerBeneficiaryId, connection = nil, loggingObject = nil)
27
- cb = CustomerBeneficiary.new
28
- cb.customerId = customerId
29
- cb.customerBeneficiaryId = customerBeneficiaryId
30
- cb.get connection, loggingObject
31
- end
32
-
33
- def get(connection = nil, loggingObject = nil)
34
- CorePro::Utils::Requestor.get("/customerbeneficiary/get/#{self.customerId}/#{self.customerBeneficiaryId}", CustomerBeneficiary, connection, loggingObject)
23
+ CorePro::Utils::Requestor.get("/customerbeneficiary/get/#{customerId}/#{customerBeneficiaryId}", CustomerBeneficiary, connection, loggingObject)
35
24
  end
36
25
 
37
26
  def create(connection = nil, loggingObject = nil)
@@ -11,16 +11,6 @@ module CorePro
11
11
  attr_accessor :documentContent
12
12
  attr_accessor :reasonType
13
13
 
14
- def self.upload(customerId, documentType, documentName, documentContent, reasonType, connection = nil, loggingObject = nil)
15
- cd = CustomerDocument.new
16
- cd.customerId = customerId
17
- cd.documentType = documentType
18
- cd.documentName = documentName
19
- cd.documentContent = documentContent
20
- cd.reasonType = reasonType
21
- cd.upload connection, loggingObject
22
- end
23
-
24
14
  def upload(connection = nil, loggingObject = nil)
25
15
  # NOTE: documentContent is assumed to be raw content bytes.
26
16
  # corepro API expects base64 encoded string. so we convert that here.
@@ -22,38 +22,25 @@ module CorePro
22
22
  attr_accessor :accountNumberMasked
23
23
  attr_accessor :nocCode
24
24
  attr_accessor :isActive
25
+ attr_accessor :isLocked
25
26
  attr_accessor :lockedDate
26
27
  attr_accessor :lockedReason
28
+ attr_accessor :customField1
29
+ attr_accessor :customField2
30
+ attr_accessor :customField3
31
+ attr_accessor :customField4
32
+ attr_accessor :customField5
33
+ attr_accessor :lastModifiedDate
27
34
 
28
35
  def self.list(customerId, connection = nil, loggingObject = nil)
29
- ea = ExternalAccount.new
30
- ea.customerId = customerId
31
- ea.list connection, loggingObject
32
- end
33
-
34
- def list(connection = nil, loggingObject = nil)
35
36
  CorePro::Utils::Requestor.get("/externalaccount/list/#{customerId}", ExternalAccount, connection, loggingObject)
36
37
  end
37
38
 
38
39
  def self.get(customerId, externalAccountId, connection = nil, loggingObject = nil)
39
- ea = ExternalAccount.new
40
- ea.customerId = customerId
41
- ea.externalAccountId = externalAccountId
42
- ea.get connection, loggingObject
43
- end
44
-
45
- def get(connection = nil, loggingObject = nil)
46
40
  CorePro::Utils::Requestor.get("/externalaccount/get/#{customerId}/#{externalAccountId}", ExternalAccount, connection, loggingObject)
47
41
  end
48
42
 
49
43
  def self.getByTag(customerId, tag, connection = nil, loggingObject = nil)
50
- ea = ExternalAccount.new
51
- ea.customerId = customerId
52
- ea.tag = tag
53
- ea.getByTag connection, loggingObject
54
- end
55
-
56
- def getByTag(connection = nil, loggingObject = nil)
57
44
  CorePro::Utils::Requestor.get("/externalaccount/getByTag/#{customerId}/#{escape(tag)}", ExternalAccount, connection, loggingObject)
58
45
  end
59
46
 
@@ -88,7 +75,7 @@ module CorePro
88
75
  eaid.externalAccountId
89
76
  end
90
77
 
91
- def deactivate(connection = nil, loggingObject = nil)
78
+ def archive(connection = nil, loggingObject = nil)
92
79
  eaid = CorePro::Utils::Requestor.post('/externalaccount/deactivate', CorePro::Models::ExternalAccountIdOnly, self, connection, loggingObject)
93
80
  eaid.externalAccountId
94
81
  end
@@ -0,0 +1,25 @@
1
+ # test
2
+ require_relative 'model_base'
3
+ module CorePro
4
+ module Models
5
+ class AccountAccess < ModelBase
6
+ attr_accessor :customerId
7
+ attr_accessor :accountId
8
+ attr_accessor :accessTypeCode
9
+ attr_accessor :customerPriority
10
+ attr_accessor :firstName
11
+ attr_accessor :middleName
12
+ attr_accessor :lastName
13
+ attr_accessor :suffix
14
+ attr_accessor :customerTag
15
+ attr_accessor :isPrimaryCustomer
16
+ attr_accessor :accountTag
17
+ attr_accessor :accountName
18
+ attr_accessor :accountNumber
19
+ attr_accessor :accountNumberMasked
20
+ attr_accessor :routingNumber
21
+ attr_accessor :routingNumberMasked
22
+ attr_accessor :primaryCustomerId
23
+ end
24
+ end
25
+ end
@@ -1,8 +1,8 @@
1
- require_relative 'model_base'
2
- module CorePro
3
- module Models
4
- class CustomerBeneficiaryIdOnly < ModelBase
5
- attr_accessor :customerBeneficiaryId
6
- end
7
- end
8
- end
1
+ require_relative 'model_base'
2
+ module CorePro
3
+ module Models
4
+ class CustomerBeneficiaryIdOnly < ModelBase
5
+ attr_accessor :customerBeneficiaryId
6
+ end
7
+ end
8
+ end
@@ -6,7 +6,7 @@ module CorePro
6
6
  class ModelBase < JsonBase
7
7
  attr_accessor :requestId
8
8
 
9
- def escape(val)
9
+ def self.escape(val)
10
10
  if val.to_s.empty?
11
11
  ''
12
12
  else
@@ -0,0 +1,20 @@
1
+ require_relative 'json_base'
2
+ module CorePro
3
+ module Models
4
+ class ProgramAccount < JsonBase
5
+
6
+ def is_hash?
7
+ true
8
+ end
9
+
10
+ attr_accessor :programAccountId
11
+ attr_accessor :type
12
+ attr_accessor :accountNumber
13
+ attr_accessor :accountNumberMasked
14
+ attr_accessor :description
15
+ attr_accessor :accountBalance
16
+ attr_accessor :isActive
17
+
18
+ end
19
+ end
20
+ end
@@ -1,37 +1,37 @@
1
- require_relative 'json_base'
2
- require_relative 'program_interest_rate'
3
- require_relative 'program_limit'
4
- module CorePro
5
- module Models
6
- class ProgramChecking < JsonBase
7
-
8
- def is_hash?
9
- true
10
- end
11
- attr_accessor :category
12
- attr_accessor :type
13
- attr_accessor :balanceLimit
14
- attr_accessor :interestRates
15
- attr_accessor :isExternalWithdrawEnabled
16
- attr_accessor :isInterestEnabled
17
- attr_accessor :isRecurringContributionEnabled
18
- attr_accessor :perTransactionDepositLimit
19
- attr_accessor :perTransactionWithdrawLimit
20
-
21
- def initialize
22
- super
23
- @interestRates = []
24
- end
25
-
26
- def from_json! json, classDefs
27
- classDefs = classDefs || {}
28
- classDefs['balanceLimit'] = CorePro::Models::ProgramLimit
29
- classDefs['interestRates'] = CorePro::Models::ProgramInterestRate
30
- classDefs['perTransactionDepositLimit'] = CorePro::Models::ProgramLimit
31
- classDefs['perTransactionWithdrawLimit'] = CorePro::Models::ProgramLimit
32
-
33
- super json, classDefs
34
- end
35
- end
36
- end
1
+ require_relative 'json_base'
2
+ require_relative 'program_interest_rate'
3
+ require_relative 'program_limit'
4
+ module CorePro
5
+ module Models
6
+ class ProgramChecking < JsonBase
7
+
8
+ def is_hash?
9
+ true
10
+ end
11
+ attr_accessor :category
12
+ attr_accessor :type
13
+ attr_accessor :balanceLimit
14
+ attr_accessor :interestRates
15
+ attr_accessor :isExternalWithdrawEnabled
16
+ attr_accessor :isInterestEnabled
17
+ attr_accessor :isRecurringContributionEnabled
18
+ attr_accessor :perTransactionDepositLimit
19
+ attr_accessor :perTransactionWithdrawLimit
20
+
21
+ def initialize
22
+ super
23
+ @interestRates = []
24
+ end
25
+
26
+ def from_json! json, classDefs
27
+ classDefs = classDefs || {}
28
+ classDefs['balanceLimit'] = CorePro::Models::ProgramLimit
29
+ classDefs['interestRates'] = CorePro::Models::ProgramInterestRate
30
+ classDefs['perTransactionDepositLimit'] = CorePro::Models::ProgramLimit
31
+ classDefs['perTransactionWithdrawLimit'] = CorePro::Models::ProgramLimit
32
+
33
+ super json, classDefs
34
+ end
35
+ end
36
+ end
37
37
  end