wp-sdk 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 (211) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +152 -0
  4. data/bin/console +15 -0
  5. data/lib/reporting_settlement_research_api/api_helper.rb +10 -0
  6. data/lib/reporting_settlement_research_api/apis/base_api.rb +65 -0
  7. data/lib/reporting_settlement_research_api/apis/settlement_batches_api.rb +67 -0
  8. data/lib/reporting_settlement_research_api/apis/settlement_daily_totals_api.rb +39 -0
  9. data/lib/reporting_settlement_research_api/apis/settlement_errors_api.rb +67 -0
  10. data/lib/reporting_settlement_research_api/apis/settlements_api.rb +40 -0
  11. data/lib/reporting_settlement_research_api/apis/transaction_status_api.rb +33 -0
  12. data/lib/reporting_settlement_research_api/apis/transaction_type_api.rb +33 -0
  13. data/lib/reporting_settlement_research_api/client.rb +105 -0
  14. data/lib/reporting_settlement_research_api/configuration.rb +164 -0
  15. data/lib/reporting_settlement_research_api/exceptions/api_exception.rb +21 -0
  16. data/lib/reporting_settlement_research_api/exceptions/search_date0_error_exception.rb +58 -0
  17. data/lib/reporting_settlement_research_api/exceptions/search_store0_error_exception.rb +58 -0
  18. data/lib/reporting_settlement_research_api/exceptions/settlementerrors_pendingsettlementbatches_search0_error_exception.rb +58 -0
  19. data/lib/reporting_settlement_research_api/exceptions/settlementerrors_settlementfileerrors_search0_error_exception.rb +58 -0
  20. data/lib/reporting_settlement_research_api/exceptions/settlements_daily_totals_search0_error_exception.rb +58 -0
  21. data/lib/reporting_settlement_research_api/exceptions/settlements_search0_error_exception.rb +58 -0
  22. data/lib/reporting_settlement_research_api/exceptions/transaction_statuses0_error_exception.rb +58 -0
  23. data/lib/reporting_settlement_research_api/exceptions/transaction_types0_error_exception.rb +58 -0
  24. data/lib/reporting_settlement_research_api/http/api_response.rb +19 -0
  25. data/lib/reporting_settlement_research_api/http/auth/custom_header_authentication.rb +52 -0
  26. data/lib/reporting_settlement_research_api/http/http_call_back.rb +10 -0
  27. data/lib/reporting_settlement_research_api/http/http_method_enum.rb +10 -0
  28. data/lib/reporting_settlement_research_api/http/http_request.rb +10 -0
  29. data/lib/reporting_settlement_research_api/http/http_response.rb +10 -0
  30. data/lib/reporting_settlement_research_api/http/proxy_settings.rb +22 -0
  31. data/lib/reporting_settlement_research_api/logging/configuration/api_logging_configuration.rb +186 -0
  32. data/lib/reporting_settlement_research_api/logging/sdk_logger.rb +17 -0
  33. data/lib/reporting_settlement_research_api/models/account_name_inquiry.rb +98 -0
  34. data/lib/reporting_settlement_research_api/models/aci.rb +98 -0
  35. data/lib/reporting_settlement_research_api/models/additional_details.rb +135 -0
  36. data/lib/reporting_settlement_research_api/models/authorization_currency.rb +98 -0
  37. data/lib/reporting_settlement_research_api/models/authorization_source.rb +98 -0
  38. data/lib/reporting_settlement_research_api/models/avs_response_code.rb +98 -0
  39. data/lib/reporting_settlement_research_api/models/bank_card_rej_real_time_transaction.rb +172 -0
  40. data/lib/reporting_settlement_research_api/models/bank_card_rejects_search_request.rb +159 -0
  41. data/lib/reporting_settlement_research_api/models/bank_card_rejects_search_response.rb +94 -0
  42. data/lib/reporting_settlement_research_api/models/base_model.rb +110 -0
  43. data/lib/reporting_settlement_research_api/models/batch_card_type.rb +41 -0
  44. data/lib/reporting_settlement_research_api/models/batch_card_type1.rb +41 -0
  45. data/lib/reporting_settlement_research_api/models/batch_hold_status.rb +98 -0
  46. data/lib/reporting_settlement_research_api/models/billing_indicator.rb +98 -0
  47. data/lib/reporting_settlement_research_api/models/card_account_term.rb +98 -0
  48. data/lib/reporting_settlement_research_api/models/card_details.rb +381 -0
  49. data/lib/reporting_settlement_research_api/models/card_details2.rb +381 -0
  50. data/lib/reporting_settlement_research_api/models/card_network.rb +98 -0
  51. data/lib/reporting_settlement_research_api/models/card_networks.rb +118 -0
  52. data/lib/reporting_settlement_research_api/models/card_product_results.rb +98 -0
  53. data/lib/reporting_settlement_research_api/models/card_product_type.rb +98 -0
  54. data/lib/reporting_settlement_research_api/models/card_types.rb +49 -0
  55. data/lib/reporting_settlement_research_api/models/card_types1.rb +44 -0
  56. data/lib/reporting_settlement_research_api/models/cardholder_id.rb +98 -0
  57. data/lib/reporting_settlement_research_api/models/code_and_description.rb +98 -0
  58. data/lib/reporting_settlement_research_api/models/code_and_description1.rb +85 -0
  59. data/lib/reporting_settlement_research_api/models/country_of_origin.rb +98 -0
  60. data/lib/reporting_settlement_research_api/models/credit_additional_details.rb +135 -0
  61. data/lib/reporting_settlement_research_api/models/credit_card_details.rb +230 -0
  62. data/lib/reporting_settlement_research_api/models/credit_interchange_details.rb +215 -0
  63. data/lib/reporting_settlement_research_api/models/credit_merchant_hierarchy_details.rb +112 -0
  64. data/lib/reporting_settlement_research_api/models/credit_other_services_details.rb +157 -0
  65. data/lib/reporting_settlement_research_api/models/credit_premium_payback_details.rb +120 -0
  66. data/lib/reporting_settlement_research_api/models/credit_transaction_details.rb +435 -0
  67. data/lib/reporting_settlement_research_api/models/customer_fields.rb +95 -0
  68. data/lib/reporting_settlement_research_api/models/customer_fields2.rb +95 -0
  69. data/lib/reporting_settlement_research_api/models/cvv2_presence_indicator.rb +98 -0
  70. data/lib/reporting_settlement_research_api/models/cvv2_response_code.rb +98 -0
  71. data/lib/reporting_settlement_research_api/models/date_range1.rb +85 -0
  72. data/lib/reporting_settlement_research_api/models/date_type.rb +36 -0
  73. data/lib/reporting_settlement_research_api/models/daterange.rb +85 -0
  74. data/lib/reporting_settlement_research_api/models/emv_details.rb +113 -0
  75. data/lib/reporting_settlement_research_api/models/emv_details2.rb +113 -0
  76. data/lib/reporting_settlement_research_api/models/entity.rb +99 -0
  77. data/lib/reporting_settlement_research_api/models/entry_mode.rb +98 -0
  78. data/lib/reporting_settlement_research_api/models/error.rb +96 -0
  79. data/lib/reporting_settlement_research_api/models/field_name.rb +93 -0
  80. data/lib/reporting_settlement_research_api/models/field_name1.rb +69 -0
  81. data/lib/reporting_settlement_research_api/models/field_name2.rb +57 -0
  82. data/lib/reporting_settlement_research_api/models/field_name3.rb +57 -0
  83. data/lib/reporting_settlement_research_api/models/field_name4.rb +61 -0
  84. data/lib/reporting_settlement_research_api/models/field_name5.rb +49 -0
  85. data/lib/reporting_settlement_research_api/models/fraud_coverage_type.rb +98 -0
  86. data/lib/reporting_settlement_research_api/models/fraud_detection_stage.rb +98 -0
  87. data/lib/reporting_settlement_research_api/models/fraud_fields.rb +99 -0
  88. data/lib/reporting_settlement_research_api/models/fraud_fields2.rb +99 -0
  89. data/lib/reporting_settlement_research_api/models/fraud_fields_fraud_score.rb +86 -0
  90. data/lib/reporting_settlement_research_api/models/fraud_response_code.rb +52 -0
  91. data/lib/reporting_settlement_research_api/models/fraud_response_code2.rb +98 -0
  92. data/lib/reporting_settlement_research_api/models/fraud_rule_result.rb +49 -0
  93. data/lib/reporting_settlement_research_api/models/fraud_rule_result2.rb +98 -0
  94. data/lib/reporting_settlement_research_api/models/fraud_score.rb +85 -0
  95. data/lib/reporting_settlement_research_api/models/fraud_sight_details.rb +124 -0
  96. data/lib/reporting_settlement_research_api/models/fraud_sight_details2.rb +124 -0
  97. data/lib/reporting_settlement_research_api/models/funded_net_settle.rb +110 -0
  98. data/lib/reporting_settlement_research_api/models/funded_net_settle2.rb +110 -0
  99. data/lib/reporting_settlement_research_api/models/hierarchy.rb +99 -0
  100. data/lib/reporting_settlement_research_api/models/hierarchy1.rb +99 -0
  101. data/lib/reporting_settlement_research_api/models/hierarchy10.rb +141 -0
  102. data/lib/reporting_settlement_research_api/models/hierarchy2.rb +85 -0
  103. data/lib/reporting_settlement_research_api/models/hierarchy4.rb +112 -0
  104. data/lib/reporting_settlement_research_api/models/hierarchy6.rb +99 -0
  105. data/lib/reporting_settlement_research_api/models/hierarchy7.rb +131 -0
  106. data/lib/reporting_settlement_research_api/models/hierarchy9.rb +119 -0
  107. data/lib/reporting_settlement_research_api/models/hierarchy_level.rb +99 -0
  108. data/lib/reporting_settlement_research_api/models/hierarchy_levels.rb +99 -0
  109. data/lib/reporting_settlement_research_api/models/interchange_code.rb +85 -0
  110. data/lib/reporting_settlement_research_api/models/interchange_data.rb +116 -0
  111. data/lib/reporting_settlement_research_api/models/interchange_details.rb +215 -0
  112. data/lib/reporting_settlement_research_api/models/interchange_details1.rb +116 -0
  113. data/lib/reporting_settlement_research_api/models/international_indicator.rb +98 -0
  114. data/lib/reporting_settlement_research_api/models/level.rb +45 -0
  115. data/lib/reporting_settlement_research_api/models/level1.rb +49 -0
  116. data/lib/reporting_settlement_research_api/models/level2.rb +37 -0
  117. data/lib/reporting_settlement_research_api/models/level3.rb +67 -0
  118. data/lib/reporting_settlement_research_api/models/level_indicator.rb +98 -0
  119. data/lib/reporting_settlement_research_api/models/location_details.rb +199 -0
  120. data/lib/reporting_settlement_research_api/models/location_details2.rb +198 -0
  121. data/lib/reporting_settlement_research_api/models/mail_phone_indicator.rb +98 -0
  122. data/lib/reporting_settlement_research_api/models/market_specific_data_indicator.rb +98 -0
  123. data/lib/reporting_settlement_research_api/models/mastercard_tic_indicator.rb +98 -0
  124. data/lib/reporting_settlement_research_api/models/merchant_category.rb +98 -0
  125. data/lib/reporting_settlement_research_api/models/merchant_hierarchy.rb +119 -0
  126. data/lib/reporting_settlement_research_api/models/merchant_hierarchy_detail.rb +131 -0
  127. data/lib/reporting_settlement_research_api/models/merchant_info.rb +141 -0
  128. data/lib/reporting_settlement_research_api/models/network_group.rb +98 -0
  129. data/lib/reporting_settlement_research_api/models/order_by.rb +36 -0
  130. data/lib/reporting_settlement_research_api/models/order_by_for_settled_daily_totals.rb +85 -0
  131. data/lib/reporting_settlement_research_api/models/order_by_for_settled_transactions_type.rb +85 -0
  132. data/lib/reporting_settlement_research_api/models/origin_type.rb +98 -0
  133. data/lib/reporting_settlement_research_api/models/other_services.rb +179 -0
  134. data/lib/reporting_settlement_research_api/models/other_services2.rb +179 -0
  135. data/lib/reporting_settlement_research_api/models/pagination.rb +87 -0
  136. data/lib/reporting_settlement_research_api/models/pagination4.rb +108 -0
  137. data/lib/reporting_settlement_research_api/models/pagination_response.rb +108 -0
  138. data/lib/reporting_settlement_research_api/models/paginationtype.rb +87 -0
  139. data/lib/reporting_settlement_research_api/models/payment_gateway_details.rb +127 -0
  140. data/lib/reporting_settlement_research_api/models/payment_gateway_details1.rb +127 -0
  141. data/lib/reporting_settlement_research_api/models/pin_less.rb +98 -0
  142. data/lib/reporting_settlement_research_api/models/pos_condition_code.rb +98 -0
  143. data/lib/reporting_settlement_research_api/models/premium_payback.rb +120 -0
  144. data/lib/reporting_settlement_research_api/models/processdaterange.rb +85 -0
  145. data/lib/reporting_settlement_research_api/models/rejection_reason.rb +98 -0
  146. data/lib/reporting_settlement_research_api/models/search_auth_transactions.rb +200 -0
  147. data/lib/reporting_settlement_research_api/models/search_daily_totals.rb +95 -0
  148. data/lib/reporting_settlement_research_api/models/search_daily_totals_details.rb +172 -0
  149. data/lib/reporting_settlement_research_api/models/search_date_request.rb +116 -0
  150. data/lib/reporting_settlement_research_api/models/search_date_response.rb +94 -0
  151. data/lib/reporting_settlement_research_api/models/search_requesttransaction_amount_range.rb +105 -0
  152. data/lib/reporting_settlement_research_api/models/search_settle_daily_totals_request.rb +135 -0
  153. data/lib/reporting_settlement_research_api/models/search_settle_transactions_request.rb +248 -0
  154. data/lib/reporting_settlement_research_api/models/search_store_request.rb +116 -0
  155. data/lib/reporting_settlement_research_api/models/search_store_response.rb +94 -0
  156. data/lib/reporting_settlement_research_api/models/search_transaction_details_response.rb +95 -0
  157. data/lib/reporting_settlement_research_api/models/settlement_batches_date_request.rb +116 -0
  158. data/lib/reporting_settlement_research_api/models/settlement_batches_date_response.rb +94 -0
  159. data/lib/reporting_settlement_research_api/models/settlement_batches_entity.rb +85 -0
  160. data/lib/reporting_settlement_research_api/models/settlement_batches_hierarchy.rb +112 -0
  161. data/lib/reporting_settlement_research_api/models/settlement_batches_sort_store.rb +85 -0
  162. data/lib/reporting_settlement_research_api/models/settlement_batches_sortbankcarddetails.rb +85 -0
  163. data/lib/reporting_settlement_research_api/models/settlement_batches_store_request.rb +116 -0
  164. data/lib/reporting_settlement_research_api/models/settlement_batches_store_response.rb +94 -0
  165. data/lib/reporting_settlement_research_api/models/settlement_batches_transaction_date.rb +195 -0
  166. data/lib/reporting_settlement_research_api/models/settlement_batches_transaction_store.rb +195 -0
  167. data/lib/reporting_settlement_research_api/models/settlement_rej_real_time_transaction.rb +152 -0
  168. data/lib/reporting_settlement_research_api/models/settlement_rejects_search_request.rb +104 -0
  169. data/lib/reporting_settlement_research_api/models/settlement_rejects_search_response.rb +94 -0
  170. data/lib/reporting_settlement_research_api/models/settlementerrors_pendingsettlementbatches_search_request.rb +159 -0
  171. data/lib/reporting_settlement_research_api/models/settlementerrors_pendingsettlementbatches_search_response.rb +94 -0
  172. data/lib/reporting_settlement_research_api/models/settlementerrors_settlementfileerrors_search_request.rb +104 -0
  173. data/lib/reporting_settlement_research_api/models/settlementerrors_settlementfileerrors_search_response.rb +94 -0
  174. data/lib/reporting_settlement_research_api/models/settlements_daily_totals_search_request.rb +135 -0
  175. data/lib/reporting_settlement_research_api/models/settlements_daily_totals_search_response.rb +94 -0
  176. data/lib/reporting_settlement_research_api/models/settlements_search_request.rb +248 -0
  177. data/lib/reporting_settlement_research_api/models/settlements_search_response.rb +95 -0
  178. data/lib/reporting_settlement_research_api/models/signature_capabilities_indicator.rb +98 -0
  179. data/lib/reporting_settlement_research_api/models/signature_compression.rb +98 -0
  180. data/lib/reporting_settlement_research_api/models/signature_pen.rb +98 -0
  181. data/lib/reporting_settlement_research_api/models/signify_details.rb +103 -0
  182. data/lib/reporting_settlement_research_api/models/signifyd_detail.rb +103 -0
  183. data/lib/reporting_settlement_research_api/models/sort_results_by.rb +85 -0
  184. data/lib/reporting_settlement_research_api/models/sort_results_by1.rb +85 -0
  185. data/lib/reporting_settlement_research_api/models/sort_results_by2.rb +85 -0
  186. data/lib/reporting_settlement_research_api/models/sort_results_by3.rb +85 -0
  187. data/lib/reporting_settlement_research_api/models/sort_results_by4.rb +85 -0
  188. data/lib/reporting_settlement_research_api/models/sort_results_by5.rb +85 -0
  189. data/lib/reporting_settlement_research_api/models/sortbankcarddetails.rb +85 -0
  190. data/lib/reporting_settlement_research_api/models/sortsettlementfiledetails.rb +85 -0
  191. data/lib/reporting_settlement_research_api/models/stand_in_indicator.rb +98 -0
  192. data/lib/reporting_settlement_research_api/models/stand_in_level.rb +98 -0
  193. data/lib/reporting_settlement_research_api/models/surcharge_reason.rb +85 -0
  194. data/lib/reporting_settlement_research_api/models/terminal.rb +109 -0
  195. data/lib/reporting_settlement_research_api/models/terminal_capability.rb +98 -0
  196. data/lib/reporting_settlement_research_api/models/terminal_details.rb +109 -0
  197. data/lib/reporting_settlement_research_api/models/transaction_amount_range.rb +105 -0
  198. data/lib/reporting_settlement_research_api/models/transaction_details.rb +723 -0
  199. data/lib/reporting_settlement_research_api/models/transaction_details2.rb +723 -0
  200. data/lib/reporting_settlement_research_api/models/transaction_status.rb +98 -0
  201. data/lib/reporting_settlement_research_api/models/transaction_status_code.rb +98 -0
  202. data/lib/reporting_settlement_research_api/models/transaction_status_code1.rb +1029 -0
  203. data/lib/reporting_settlement_research_api/models/transaction_summary.rb +182 -0
  204. data/lib/reporting_settlement_research_api/models/transaction_summary_data.rb +182 -0
  205. data/lib/reporting_settlement_research_api/models/transaction_type.rb +98 -0
  206. data/lib/reporting_settlement_research_api/models/transaction_type_code.rb +98 -0
  207. data/lib/reporting_settlement_research_api/models/transaction_type_code1.rb +221 -0
  208. data/lib/reporting_settlement_research_api/utilities/date_time_helper.rb +11 -0
  209. data/lib/reporting_settlement_research_api/utilities/file_wrapper.rb +28 -0
  210. data/lib/reporting_settlement_research_api.rb +302 -0
  211. metadata +294 -0
@@ -0,0 +1,94 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # Response used for pagination.
8
+ class BankCardRejectsSearchResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Pagination4]
14
+ attr_accessor :pagination
15
+
16
+ # Refers to bank card rejection details.
17
+ # @return [Array[BankCardRejRealTimeTransaction]]
18
+ attr_accessor :details
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['pagination'] = 'pagination'
24
+ @_hash['details'] = 'details'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ pagination
32
+ details
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(pagination: SKIP, details: SKIP, additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @pagination = pagination unless pagination == SKIP
46
+ @details = details unless details == SKIP
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ pagination = Pagination4.from_hash(hash['pagination']) if hash['pagination']
56
+ # Parameter is an array, so we need to iterate through it
57
+ details = nil
58
+ unless hash['details'].nil?
59
+ details = []
60
+ hash['details'].each do |structure|
61
+ details << (BankCardRejRealTimeTransaction.from_hash(structure) if structure)
62
+ end
63
+ end
64
+
65
+ details = SKIP unless hash.key?('details')
66
+
67
+ # Create a new hash for additional properties, removing known properties.
68
+ new_hash = hash.reject { |k, _| names.value?(k) }
69
+
70
+ additional_properties = APIHelper.get_additional_properties(
71
+ new_hash, proc { |value| value }
72
+ )
73
+
74
+ # Create object from extracted values.
75
+ BankCardRejectsSearchResponse.new(pagination: pagination,
76
+ details: details,
77
+ additional_properties: additional_properties)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} pagination: #{@pagination}, details: #{@details}, additional_properties:"\
84
+ " #{@additional_properties}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} pagination: #{@pagination.inspect}, details: #{@details.inspect},"\
91
+ " additional_properties: #{@additional_properties}>"
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,110 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # Base model.
8
+ # rubocop:disable all
9
+ class BaseModel < CoreLibrary::BaseModel
10
+ # Returns a Hash representation of the current object.
11
+ def to_hash
12
+ # validating the model being serialized
13
+ self.class.validate(self) if self.class.respond_to?(:validate)
14
+
15
+ hash = {}
16
+ instance_variables.each do |name|
17
+ value = instance_variable_get(name)
18
+ name = name[1..]
19
+ if name == 'additional_properties'
20
+ additional_properties = process_additional_properties(value, self.class.names)
21
+ hash.merge!(additional_properties)
22
+ else
23
+ key = self.class.names.key?(name) ? self.class.names[name] : name
24
+ optional_fields = self.class.optionals
25
+ nullable_fields = self.class.nullables
26
+ if value.nil?
27
+ next unless nullable_fields.include?(name)
28
+
29
+ if !optional_fields.include?(name) && !nullable_fields.include?(name)
30
+ raise ArgumentError,
31
+ "`#{name}` cannot be nil in `#{self.class}`. Please specify a valid value."
32
+ end
33
+ end
34
+
35
+ hash[key] = nil
36
+ unless value.nil?
37
+ if respond_to?("to_custom_#{name}")
38
+ if (value.instance_of? Array) || (value.instance_of? Hash)
39
+ params = [hash, key]
40
+ hash[key] = send("to_custom_#{name}", *params)
41
+ else
42
+ hash[key] = send("to_custom_#{name}")
43
+ end
44
+ elsif respond_to?("to_union_type_#{name}")
45
+ hash[key] = send("to_union_type_#{name}")
46
+ elsif value.instance_of? Array
47
+ hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
48
+ elsif value.instance_of? Hash
49
+ hash[key] = {}
50
+ value.each do |k, v|
51
+ hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
52
+ end
53
+ else
54
+ hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
55
+ end
56
+ end
57
+ end
58
+ end
59
+ hash
60
+ end
61
+
62
+ # Processes additional properties, ensuring no conflicts with existing properties.
63
+ def process_additional_properties(additional_properties, existing_prop_names)
64
+ hash = {}
65
+ additional_properties.each do |name, value|
66
+ check_for_conflict(name, existing_prop_names)
67
+
68
+ hash[name] = if value.is_a?(Array)
69
+ process_array(value)
70
+ elsif value.is_a?(Hash)
71
+ process_hash(value)
72
+ else
73
+ process_basic_value(value)
74
+ end
75
+ end
76
+ hash
77
+ end
78
+
79
+ # Checks if an additional property conflicts with a model's existing property.
80
+ def check_for_conflict(name, existing_prop_names)
81
+ return unless existing_prop_names.key?(name)
82
+
83
+ raise ArgumentError, "An additional property key, '#{name}' conflicts with one of the model's properties"
84
+ end
85
+
86
+ # Processes an array of values, recursively calling `to_hash` on BaseModel objects.
87
+ def process_array(value)
88
+ value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
89
+ end
90
+
91
+ # Processes a hash of values, recursively calling `to_hash` on BaseModel objects.
92
+ def process_hash(value)
93
+ value.transform_values do |v|
94
+ v.is_a?(BaseModel) ? v.to_hash : v
95
+ end
96
+ end
97
+
98
+ # Processes a basic value (non-array, non-hash).
99
+ def process_basic_value(value)
100
+ value.is_a?(BaseModel) ? value.to_hash : value
101
+ end
102
+
103
+ # Returns a JSON representation of the curent object.
104
+ def to_json(options = {})
105
+ hash = to_hash
106
+ hash.to_json(options)
107
+ end
108
+ end
109
+ # rubocop:enable all
110
+ end
@@ -0,0 +1,41 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # The category or classification of a payment card based on the issuing
8
+ # network. The type is either CREDIT, DEBIT or EBT.
9
+ class BatchCardType
10
+ BATCH_CARD_TYPE = [
11
+ # TODO: Write general description for CREDIT
12
+ CREDIT = 'CREDIT'.freeze,
13
+
14
+ # TODO: Write general description for DEBIT
15
+ DEBIT = 'DEBIT'.freeze,
16
+
17
+ # TODO: Write general description for EBT
18
+ EBT = 'EBT'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ true
25
+ end
26
+
27
+ def self.from_value(value, default_value = CREDIT)
28
+ return default_value if value.nil?
29
+
30
+ str = value.to_s.strip
31
+
32
+ case str.downcase
33
+ when 'credit' then CREDIT
34
+ when 'debit' then DEBIT
35
+ when 'ebt' then EBT
36
+ else
37
+ default_value
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # The category or classification of a payment card based on the issuing
8
+ # network. The types are CREDIT, DEBIT, and EBT.
9
+ class BatchCardType1
10
+ BATCH_CARD_TYPE1 = [
11
+ # TODO: Write general description for CREDIT
12
+ CREDIT = 'CREDIT'.freeze,
13
+
14
+ # TODO: Write general description for DEBIT
15
+ DEBIT = 'DEBIT'.freeze,
16
+
17
+ # TODO: Write general description for EBT
18
+ EBT = 'EBT'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ true
25
+ end
26
+
27
+ def self.from_value(value, default_value = CREDIT)
28
+ return default_value if value.nil?
29
+
30
+ str = value.to_s.strip
31
+
32
+ case str.downcase
33
+ when 'credit' then CREDIT
34
+ when 'debit' then DEBIT
35
+ when 'ebt' then EBT
36
+ else
37
+ default_value
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,98 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # BatchHoldStatus Model.
8
+ class BatchHoldStatus < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The identifier code.
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # The short description of the code.
17
+ # @return [String]
18
+ attr_accessor :short_description
19
+
20
+ # The long description of the code.
21
+ # @return [String]
22
+ attr_accessor :long_description
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['code'] = 'code'
28
+ @_hash['short_description'] = 'shortDescription'
29
+ @_hash['long_description'] = 'longDescription'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ code
37
+ short_description
38
+ long_description
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(code: SKIP, short_description: SKIP, long_description: SKIP,
48
+ additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @code = code unless code == SKIP
53
+ @short_description = short_description unless short_description == SKIP
54
+ @long_description = long_description unless long_description == SKIP
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ code = hash.key?('code') ? hash['code'] : SKIP
64
+ short_description =
65
+ hash.key?('shortDescription') ? hash['shortDescription'] : SKIP
66
+ long_description =
67
+ hash.key?('longDescription') ? hash['longDescription'] : SKIP
68
+
69
+ # Create a new hash for additional properties, removing known properties.
70
+ new_hash = hash.reject { |k, _| names.value?(k) }
71
+
72
+ additional_properties = APIHelper.get_additional_properties(
73
+ new_hash, proc { |value| value }
74
+ )
75
+
76
+ # Create object from extracted values.
77
+ BatchHoldStatus.new(code: code,
78
+ short_description: short_description,
79
+ long_description: long_description,
80
+ additional_properties: additional_properties)
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} code: #{@code}, short_description: #{@short_description}, long_description:"\
87
+ " #{@long_description}, additional_properties: #{@additional_properties}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} code: #{@code.inspect}, short_description: #{@short_description.inspect},"\
94
+ " long_description: #{@long_description.inspect}, additional_properties:"\
95
+ " #{@additional_properties}>"
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,98 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # BillingIndicator Model.
8
+ class BillingIndicator < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The identifier code.
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # The short description of the code.
17
+ # @return [String]
18
+ attr_accessor :short_description
19
+
20
+ # The long description of the code.
21
+ # @return [String]
22
+ attr_accessor :long_description
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['code'] = 'code'
28
+ @_hash['short_description'] = 'shortDescription'
29
+ @_hash['long_description'] = 'longDescription'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ code
37
+ short_description
38
+ long_description
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(code: SKIP, short_description: SKIP, long_description: SKIP,
48
+ additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @code = code unless code == SKIP
53
+ @short_description = short_description unless short_description == SKIP
54
+ @long_description = long_description unless long_description == SKIP
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ code = hash.key?('code') ? hash['code'] : SKIP
64
+ short_description =
65
+ hash.key?('shortDescription') ? hash['shortDescription'] : SKIP
66
+ long_description =
67
+ hash.key?('longDescription') ? hash['longDescription'] : SKIP
68
+
69
+ # Create a new hash for additional properties, removing known properties.
70
+ new_hash = hash.reject { |k, _| names.value?(k) }
71
+
72
+ additional_properties = APIHelper.get_additional_properties(
73
+ new_hash, proc { |value| value }
74
+ )
75
+
76
+ # Create object from extracted values.
77
+ BillingIndicator.new(code: code,
78
+ short_description: short_description,
79
+ long_description: long_description,
80
+ additional_properties: additional_properties)
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} code: #{@code}, short_description: #{@short_description}, long_description:"\
87
+ " #{@long_description}, additional_properties: #{@additional_properties}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} code: #{@code.inspect}, short_description: #{@short_description.inspect},"\
94
+ " long_description: #{@long_description.inspect}, additional_properties:"\
95
+ " #{@additional_properties}>"
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,98 @@
1
+ # reporting_settlement_research_api
2
+ #
3
+ # This file was automatically generated
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module ReportingSettlementResearchApi
7
+ # CardAccountTerm Model.
8
+ class CardAccountTerm < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The identifier code.
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # The short description of the code.
17
+ # @return [String]
18
+ attr_accessor :short_description
19
+
20
+ # The long description of the code.
21
+ # @return [String]
22
+ attr_accessor :long_description
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['code'] = 'code'
28
+ @_hash['short_description'] = 'shortDescription'
29
+ @_hash['long_description'] = 'longDescription'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ code
37
+ short_description
38
+ long_description
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(code: SKIP, short_description: SKIP, long_description: SKIP,
48
+ additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @code = code unless code == SKIP
53
+ @short_description = short_description unless short_description == SKIP
54
+ @long_description = long_description unless long_description == SKIP
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ code = hash.key?('code') ? hash['code'] : SKIP
64
+ short_description =
65
+ hash.key?('shortDescription') ? hash['shortDescription'] : SKIP
66
+ long_description =
67
+ hash.key?('longDescription') ? hash['longDescription'] : SKIP
68
+
69
+ # Create a new hash for additional properties, removing known properties.
70
+ new_hash = hash.reject { |k, _| names.value?(k) }
71
+
72
+ additional_properties = APIHelper.get_additional_properties(
73
+ new_hash, proc { |value| value }
74
+ )
75
+
76
+ # Create object from extracted values.
77
+ CardAccountTerm.new(code: code,
78
+ short_description: short_description,
79
+ long_description: long_description,
80
+ additional_properties: additional_properties)
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} code: #{@code}, short_description: #{@short_description}, long_description:"\
87
+ " #{@long_description}, additional_properties: #{@additional_properties}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} code: #{@code.inspect}, short_description: #{@short_description.inspect},"\
94
+ " long_description: #{@long_description.inspect}, additional_properties:"\
95
+ " #{@additional_properties}>"
96
+ end
97
+ end
98
+ end