genesis_ruby 0.2.6 → 0.2.8

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 (384) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/Gemfile.lock +19 -19
  4. data/README.md +23 -0
  5. data/VERSION +1 -1
  6. data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +4 -3
  7. data/lib/genesis_ruby/api/constants/date_time_formats.rb +9 -7
  8. data/lib/genesis_ruby/api/constants/endpoints.rb +4 -2
  9. data/lib/genesis_ruby/api/constants/environments.rb +4 -2
  10. data/lib/genesis_ruby/api/constants/i18n.rb +28 -26
  11. data/lib/genesis_ruby/api/constants/non_financial/kyc/address_supported_types.rb +51 -0
  12. data/lib/genesis_ruby/api/constants/non_financial/kyc/aml_filters.rb +49 -0
  13. data/lib/genesis_ruby/api/constants/non_financial/kyc/create_transaction_payment_methods.rb +23 -0
  14. data/lib/genesis_ruby/api/constants/non_financial/kyc/document_supported_types.rb +6 -4
  15. data/lib/genesis_ruby/api/constants/non_financial/kyc/document_types.rb +2 -0
  16. data/lib/genesis_ruby/api/constants/non_financial/kyc/genders.rb +4 -2
  17. data/lib/genesis_ruby/api/constants/non_financial/kyc/identity_document_methods.rb +27 -0
  18. data/lib/genesis_ruby/api/constants/non_financial/kyc/industry_types.rb +29 -0
  19. data/lib/genesis_ruby/api/constants/non_financial/kyc/languages.rb +318 -0
  20. data/lib/genesis_ruby/api/constants/non_financial/kyc/order_sources.rb +22 -0
  21. data/lib/genesis_ruby/api/constants/non_financial/kyc/profile_current_statuses.rb +2 -0
  22. data/lib/genesis_ruby/api/constants/non_financial/kyc/service_languages.rb +69 -0
  23. data/lib/genesis_ruby/api/constants/non_financial/kyc/transaction_statuses.rb +35 -0
  24. data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_modes.rb +27 -0
  25. data/lib/genesis_ruby/api/constants/non_financial/kyc/verification_statuses.rb +29 -0
  26. data/lib/genesis_ruby/api/constants/states/state.rb +2 -0
  27. data/lib/genesis_ruby/api/constants/states.rb +24 -22
  28. data/lib/genesis_ruby/api/constants/transactions/parameters/african_mobile_operators.rb +8 -6
  29. data/lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb +4 -2
  30. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/cash_payment_types.rb +8 -6
  31. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/company_types.rb +2 -0
  32. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/genders.rb +2 -0
  33. data/lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/marital_statuses.rb +2 -0
  34. data/lib/genesis_ruby/api/constants/transactions/parameters/credential_on_files.rb +5 -3
  35. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_owner.rb +4 -2
  36. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_subtype.rb +4 -2
  37. data/lib/genesis_ruby/api/constants/transactions/parameters/customer_identification/customer_identification_type.rb +17 -15
  38. data/lib/genesis_ruby/api/constants/transactions/parameters/digital_asset_types.rb +7 -5
  39. data/lib/genesis_ruby/api/constants/transactions/parameters/funding/business_application_identifier_types.rb +11 -9
  40. data/lib/genesis_ruby/api/constants/transactions/parameters/funding/identifier_types.rb +12 -10
  41. data/lib/genesis_ruby/api/constants/transactions/parameters/funding/receiver_account_types.rb +11 -9
  42. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb +4 -2
  43. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb +14 -12
  44. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb +4 -2
  45. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes.rb +4 -2
  46. data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb +6 -4
  47. data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/apple_pay/payment_subtypes.rb +5 -3
  48. data/lib/genesis_ruby/api/constants/transactions/parameters/mobile/google_pay/payment_subtypes.rb +5 -3
  49. data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_sub_versions.rb +2 -0
  50. data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions.rb +2 -0
  51. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/order_by_fields.rb +14 -12
  52. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/response_fields.rb +48 -46
  53. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/billing_api/transaction_types.rb +29 -27
  54. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed.rb +5 -3
  55. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type.rb +5 -3
  56. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sca_exemptions.rb +8 -6
  57. data/lib/genesis_ruby/api/constants/transactions/parameters/non_financial/sort_directions.rb +4 -2
  58. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_account_types.rb +6 -4
  59. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_code_currencies.rb +2 -0
  60. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/bank_codes.rb +203 -201
  61. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/iframe_targets.rb +5 -3
  62. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payment_types.rb +9 -7
  63. data/lib/genesis_ruby/api/constants/transactions/parameters/online_banking/payout_payment_types.rb +10 -8
  64. data/lib/genesis_ruby/api/constants/transactions/parameters/purpose_of_payment.rb +42 -40
  65. data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb +4 -2
  66. data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb +5 -3
  67. data/lib/genesis_ruby/api/constants/transactions/parameters/refund/bank_account_types.rb +5 -3
  68. data/lib/genesis_ruby/api/constants/transactions/parameters/refund/credit_reason_indicators.rb +6 -4
  69. data/lib/genesis_ruby/api/constants/transactions/parameters/refund/ticket_change_indicators.rb +4 -2
  70. data/lib/genesis_ruby/api/constants/transactions/parameters/sca_exemptions.rb +8 -6
  71. data/lib/genesis_ruby/api/constants/transactions/parameters/source_of_funds.rb +8 -6
  72. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/browser/color_depths.rb +2 -0
  73. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/password_change_indicators.rb +7 -5
  74. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/registration_indicators.rb +7 -5
  75. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/shipping_address_usage_indicators.rb +6 -4
  76. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/suspicious_activity_indicators.rb +4 -2
  77. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/update_indicators.rb +6 -4
  78. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_indicators.rb +6 -4
  79. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_window_sizes.rb +7 -5
  80. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/device_types.rb +4 -2
  81. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/delivery_timeframes.rb +6 -4
  82. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/pre_order_purchase_indicators.rb +4 -2
  83. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/reorder_item_indicators.rb +4 -2
  84. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/shipping_indicators.rb +10 -8
  85. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb +9 -7
  86. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb +5 -3
  87. data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/ui_types.rb +7 -5
  88. data/lib/genesis_ruby/api/constants/transactions/parameters/travel_data/ancillary_charges_types.rb +25 -23
  89. data/lib/genesis_ruby/api/constants/transactions/parameters/wallets/pay_pal/payment_types.rb +5 -3
  90. data/lib/genesis_ruby/api/constants/transactions/parameters/wpf/reminder_channels.rb +4 -2
  91. data/lib/genesis_ruby/api/constants/transactions.rb +98 -93
  92. data/lib/genesis_ruby/api/mixins/constants/common.rb +2 -0
  93. data/lib/genesis_ruby/api/mixins/requests/address_info_attributes.rb +2 -0
  94. data/lib/genesis_ruby/api/mixins/requests/attribute_validation.rb +2 -0
  95. data/lib/genesis_ruby/api/mixins/requests/birth_date_attributes.rb +2 -0
  96. data/lib/genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes.rb +2 -0
  97. data/lib/genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes.rb +3 -3
  98. data/lib/genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes.rb +2 -0
  99. data/lib/genesis_ruby/api/mixins/requests/digital_asset_type_attributes.rb +2 -0
  100. data/lib/genesis_ruby/api/mixins/requests/document_attributes.rb +2 -0
  101. data/lib/genesis_ruby/api/mixins/requests/financial/african_mobile_attributes.rb +2 -0
  102. data/lib/genesis_ruby/api/mixins/requests/financial/async_attributes.rb +2 -0
  103. data/lib/genesis_ruby/api/mixins/requests/financial/bank_attributes.rb +2 -0
  104. data/lib/genesis_ruby/api/mixins/requests/financial/base_attributes.rb +2 -0
  105. data/lib/genesis_ruby/api/mixins/requests/financial/beneficiary_attributes.rb +2 -0
  106. data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb +2 -0
  107. data/lib/genesis_ruby/api/mixins/requests/financial/business/business_attributes.rb +2 -0
  108. data/lib/genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes.rb +2 -0
  109. data/lib/genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes.rb +2 -0
  110. data/lib/genesis_ruby/api/mixins/requests/financial/business/event_management_attributes.rb +2 -0
  111. data/lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb +2 -0
  112. data/lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb +2 -0
  113. data/lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb +2 -0
  114. data/lib/genesis_ruby/api/mixins/requests/financial/cards/account_owner_attributes.rb +2 -0
  115. data/lib/genesis_ruby/api/mixins/requests/financial/cards/credential_on_file_attributes.rb +2 -0
  116. data/lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb +2 -0
  117. data/lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb +2 -0
  118. data/lib/genesis_ruby/api/mixins/requests/financial/cards/installment_attributes.rb +2 -0
  119. data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +2 -0
  120. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb +2 -0
  121. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb +2 -0
  122. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb +2 -0
  123. data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb +2 -0
  124. data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb +2 -0
  125. data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_params_attributes.rb +2 -0
  126. data/lib/genesis_ruby/api/mixins/requests/financial/cards/ucof_attributes.rb +2 -0
  127. data/lib/genesis_ruby/api/mixins/requests/financial/consumer_identifier_attributes.rb +2 -0
  128. data/lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb +2 -0
  129. data/lib/genesis_ruby/api/mixins/requests/financial/customer_account_attributes.rb +2 -0
  130. data/lib/genesis_ruby/api/mixins/requests/financial/customer_identification_attributes.rb +2 -0
  131. data/lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb +2 -0
  132. data/lib/genesis_ruby/api/mixins/requests/financial/funding_attributes.rb +2 -0
  133. data/lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb +2 -0
  134. data/lib/genesis_ruby/api/mixins/requests/financial/gift_cards_attributes.rb +2 -0
  135. data/lib/genesis_ruby/api/mixins/requests/financial/mobile/apple_pay_token_attributes.rb +2 -0
  136. data/lib/genesis_ruby/api/mixins/requests/financial/mobile/google_pay_token_attributes.rb +2 -0
  137. data/lib/genesis_ruby/api/mixins/requests/financial/moto_attributes.rb +2 -0
  138. data/lib/genesis_ruby/api/mixins/requests/financial/notification_attributes.rb +2 -0
  139. data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/payer_attributes.rb +2 -0
  140. data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/pix_attributes.rb +2 -0
  141. data/lib/genesis_ruby/api/mixins/requests/financial/online_banking_payments/virtual_payment_address_attributes.rb +2 -0
  142. data/lib/genesis_ruby/api/mixins/requests/financial/payment_attributes.rb +2 -0
  143. data/lib/genesis_ruby/api/mixins/requests/financial/pending_payment_attributes.rb +2 -0
  144. data/lib/genesis_ruby/api/mixins/requests/financial/preauthorization_attributes.rb +2 -0
  145. data/lib/genesis_ruby/api/mixins/requests/financial/purpose_of_payment_attributes.rb +2 -0
  146. data/lib/genesis_ruby/api/mixins/requests/financial/reference_attributes.rb +2 -0
  147. data/lib/genesis_ruby/api/mixins/requests/financial/risk_attributes.rb +2 -0
  148. data/lib/genesis_ruby/api/mixins/requests/financial/sca_attributes.rb +2 -0
  149. data/lib/genesis_ruby/api/mixins/requests/financial/source_of_funds_attributes.rb +2 -0
  150. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/browser.rb +2 -0
  151. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/card_holder_account.rb +2 -0
  152. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +2 -0
  153. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/control.rb +2 -0
  154. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/merchant_risk.rb +2 -0
  155. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/method.rb +2 -0
  156. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/purchase.rb +2 -0
  157. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/recurring.rb +2 -0
  158. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/sdk.rb +2 -0
  159. data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/wpf_attributes.rb +2 -0
  160. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +2 -0
  161. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/car_rental_attributes.rb +2 -0
  162. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/hotel_rental_attributes.rb +2 -0
  163. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/reference_ticket_attributes.rb +2 -0
  164. data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/travel_attributes.rb +2 -0
  165. data/lib/genesis_ruby/api/mixins/requests/non_financial/billing_api/sort_attributes.rb +2 -0
  166. data/lib/genesis_ruby/api/mixins/requests/non_financial/date_attributes.rb +2 -0
  167. data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/id_attributes.rb +2 -0
  168. data/lib/genesis_ruby/api/mixins/requests/non_financial/fx/tier_id_attributes.rb +2 -0
  169. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/background_checks_attributes.rb +75 -0
  170. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/customer_information_attributes.rb +2 -0
  171. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/deposit_limits_attributes.rb +40 -0
  172. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/document_attributes.rb +2 -0
  173. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/face_attributes.rb +61 -0
  174. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/identity_document_attributes.rb +51 -0
  175. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_billing_info_attributes.rb +87 -0
  176. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/kyc_shipping_info_attributes.rb +85 -0
  177. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/payment_details_attributes.rb +33 -0
  178. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_attributes.rb +72 -0
  179. data/lib/genesis_ruby/api/mixins/requests/non_financial/kyc/verification_document_attributes.rb +65 -0
  180. data/lib/genesis_ruby/api/mixins/requests/non_financial/mode_attributes.rb +2 -0
  181. data/lib/genesis_ruby/api/mixins/requests/non_financial/paging_attributes.rb +2 -0
  182. data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/card_data_attributes.rb +2 -0
  183. data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/token_attributes.rb +2 -0
  184. data/lib/genesis_ruby/api/mixins/requests/non_financial/tokenization/tokenization_attributes.rb +3 -8
  185. data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +12 -0
  186. data/lib/genesis_ruby/api/mixins/requests/smart_router_attributes.rb +37 -0
  187. data/lib/genesis_ruby/api/mixins/requests/wpf_reminders_attributes.rb +2 -0
  188. data/lib/genesis_ruby/api/notification.rb +8 -6
  189. data/lib/genesis_ruby/api/request.rb +14 -6
  190. data/lib/genesis_ruby/api/requests/base/consumer.rb +2 -0
  191. data/lib/genesis_ruby/api/requests/base/financial.rb +3 -21
  192. data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +2 -0
  193. data/lib/genesis_ruby/api/requests/base/financials/south_american_payments.rb +2 -0
  194. data/lib/genesis_ruby/api/requests/base/graphql.rb +2 -0
  195. data/lib/genesis_ruby/api/requests/base/non_financial/kyc/base.rb +2 -0
  196. data/lib/genesis_ruby/api/requests/base/reference.rb +2 -0
  197. data/lib/genesis_ruby/api/requests/base/versioned.rb +3 -1
  198. data/lib/genesis_ruby/api/requests/financial/capture.rb +2 -0
  199. data/lib/genesis_ruby/api/requests/financial/cards/argencard.rb +2 -0
  200. data/lib/genesis_ruby/api/requests/financial/cards/aura.rb +2 -0
  201. data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +2 -0
  202. data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +2 -0
  203. data/lib/genesis_ruby/api/requests/financial/cards/bancontact.rb +2 -0
  204. data/lib/genesis_ruby/api/requests/financial/cards/cabal.rb +2 -0
  205. data/lib/genesis_ruby/api/requests/financial/cards/cencosud.rb +2 -0
  206. data/lib/genesis_ruby/api/requests/financial/cards/credit.rb +2 -0
  207. data/lib/genesis_ruby/api/requests/financial/cards/elo.rb +2 -0
  208. data/lib/genesis_ruby/api/requests/financial/cards/naranja.rb +2 -0
  209. data/lib/genesis_ruby/api/requests/financial/cards/nativa.rb +2 -0
  210. data/lib/genesis_ruby/api/requests/financial/cards/payout.rb +2 -0
  211. data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +2 -0
  212. data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +2 -0
  213. data/lib/genesis_ruby/api/requests/financial/cards/tarjeta_shopping.rb +2 -0
  214. data/lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb +2 -0
  215. data/lib/genesis_ruby/api/requests/financial/cash_payments/baloto.rb +2 -0
  216. data/lib/genesis_ruby/api/requests/financial/cash_payments/banco_de_occidente.rb +2 -0
  217. data/lib/genesis_ruby/api/requests/financial/cash_payments/boleto.rb +2 -0
  218. data/lib/genesis_ruby/api/requests/financial/cash_payments/cash.rb +2 -0
  219. data/lib/genesis_ruby/api/requests/financial/cash_payments/efecty.rb +2 -0
  220. data/lib/genesis_ruby/api/requests/financial/cash_payments/oxxo.rb +2 -0
  221. data/lib/genesis_ruby/api/requests/financial/cash_payments/pago_facil.rb +2 -0
  222. data/lib/genesis_ruby/api/requests/financial/cash_payments/pix.rb +2 -0
  223. data/lib/genesis_ruby/api/requests/financial/cash_payments/redpagos.rb +2 -0
  224. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/payout.rb +2 -0
  225. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/refund.rb +2 -0
  226. data/lib/genesis_ruby/api/requests/financial/crypto/bit_pay/sale.rb +2 -0
  227. data/lib/genesis_ruby/api/requests/financial/gift_cards/fashioncheque.rb +2 -0
  228. data/lib/genesis_ruby/api/requests/financial/gift_cards/intersolve.rb +2 -0
  229. data/lib/genesis_ruby/api/requests/financial/gift_cards/tcs.rb +2 -0
  230. data/lib/genesis_ruby/api/requests/financial/mobile/african_mobile_sale.rb +2 -0
  231. data/lib/genesis_ruby/api/requests/financial/mobile/apple_pay.rb +2 -0
  232. data/lib/genesis_ruby/api/requests/financial/mobile/google_pay.rb +2 -0
  233. data/lib/genesis_ruby/api/requests/financial/mobile/russian_mobile_sale.rb +2 -0
  234. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/banco_do_brasil.rb +2 -0
  235. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bancomer.rb +2 -0
  236. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/bradesco.rb +2 -0
  237. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/davivienda.rb +2 -0
  238. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/eps.rb +2 -0
  239. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_in.rb +2 -0
  240. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/idebit/pay_out.rb +2 -0
  241. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_in.rb +2 -0
  242. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/insta_debit/pay_out.rb +2 -0
  243. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/itau.rb +2 -0
  244. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/multibanco.rb +2 -0
  245. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/my_bank.rb +2 -0
  246. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_in.rb +2 -0
  247. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/online_banking/pay_out.rb +2 -0
  248. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pay_u.rb +2 -0
  249. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/post_finance.rb +2 -0
  250. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/pse.rb +2 -0
  251. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/rapi_pago.rb +2 -0
  252. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/safety_pay.rb +2 -0
  253. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/santander.rb +2 -0
  254. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/sofort.rb +2 -0
  255. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/trustly_sale.rb +2 -0
  256. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/upi.rb +2 -0
  257. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/webpay.rb +2 -0
  258. data/lib/genesis_ruby/api/requests/financial/online_banking_payments/wechat.rb +2 -0
  259. data/lib/genesis_ruby/api/requests/financial/payout/global_payout.rb +42 -0
  260. data/lib/genesis_ruby/api/requests/financial/preauthorizations/incremental_authorize.rb +2 -0
  261. data/lib/genesis_ruby/api/requests/financial/preauthorizations/partial_reversal.rb +2 -0
  262. data/lib/genesis_ruby/api/requests/financial/refund.rb +2 -0
  263. data/lib/genesis_ruby/api/requests/financial/sdd/recurring/init_recurring_sale.rb +2 -0
  264. data/lib/genesis_ruby/api/requests/financial/sdd/recurring/recurring_sale.rb +2 -0
  265. data/lib/genesis_ruby/api/requests/financial/sdd/refund.rb +2 -0
  266. data/lib/genesis_ruby/api/requests/financial/sdd/sale.rb +2 -0
  267. data/lib/genesis_ruby/api/requests/financial/void.rb +2 -0
  268. data/lib/genesis_ruby/api/requests/financial/vouchers/neosurf.rb +2 -0
  269. data/lib/genesis_ruby/api/requests/financial/wallets/alipay.rb +2 -0
  270. data/lib/genesis_ruby/api/requests/financial/wallets/pay_pal.rb +2 -0
  271. data/lib/genesis_ruby/api/requests/non_financial/billing_api/transactions.rb +2 -0
  272. data/lib/genesis_ruby/api/requests/non_financial/consumers/create.rb +2 -0
  273. data/lib/genesis_ruby/api/requests/non_financial/consumers/disable.rb +2 -0
  274. data/lib/genesis_ruby/api/requests/non_financial/consumers/enable.rb +2 -0
  275. data/lib/genesis_ruby/api/requests/non_financial/consumers/get_cards.rb +2 -0
  276. data/lib/genesis_ruby/api/requests/non_financial/consumers/retrieve.rb +2 -0
  277. data/lib/genesis_ruby/api/requests/non_financial/consumers/update.rb +2 -0
  278. data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/date_range.rb +2 -0
  279. data/lib/genesis_ruby/api/requests/non_financial/fraud/chargeback/transaction.rb +2 -0
  280. data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/date_range.rb +2 -0
  281. data/lib/genesis_ruby/api/requests/non_financial/fraud/reports/transaction.rb +2 -0
  282. data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/date_range.rb +2 -0
  283. data/lib/genesis_ruby/api/requests/non_financial/fraud/retrieval/transaction.rb +2 -0
  284. data/lib/genesis_ruby/api/requests/non_financial/fx/get_rate.rb +6 -3
  285. data/lib/genesis_ruby/api/requests/non_financial/fx/get_rates.rb +7 -2
  286. data/lib/genesis_ruby/api/requests/non_financial/fx/get_tier.rb +7 -2
  287. data/lib/genesis_ruby/api/requests/non_financial/fx/get_tiers.rb +2 -0
  288. data/lib/genesis_ruby/api/requests/non_financial/fx/search_rate.rb +7 -2
  289. data/lib/genesis_ruby/api/requests/non_financial/installments/fetch.rb +2 -0
  290. data/lib/genesis_ruby/api/requests/non_financial/installments/show.rb +7 -2
  291. data/lib/genesis_ruby/api/requests/non_financial/kyc/call/create.rb +90 -0
  292. data/lib/genesis_ruby/api/requests/non_financial/kyc/call/update.rb +60 -0
  293. data/lib/genesis_ruby/api/requests/non_financial/kyc/cnpj/check.rb +52 -0
  294. data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/create.rb +2 -0
  295. data/lib/genesis_ruby/api/requests/non_financial/kyc/consumer_registration/update.rb +2 -0
  296. data/lib/genesis_ruby/api/requests/non_financial/kyc/cpf/check.rb +52 -0
  297. data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/download.rb +43 -0
  298. data/lib/genesis_ruby/api/requests/non_financial/kyc/identity_document/upload.rb +67 -0
  299. data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/create.rb +190 -0
  300. data/lib/genesis_ruby/api/requests/non_financial/kyc/transaction/update.rb +63 -0
  301. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/create.rb +90 -0
  302. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/register.rb +44 -0
  303. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/remote_identity.rb +2 -43
  304. data/lib/genesis_ruby/api/requests/non_financial/kyc/verifications/status.rb +44 -0
  305. data/lib/genesis_ruby/api/requests/non_financial/payee/account/create.rb +73 -0
  306. data/lib/genesis_ruby/api/requests/non_financial/payee/account/list.rb +74 -0
  307. data/lib/genesis_ruby/api/requests/non_financial/payee/account/retrieve.rb +61 -0
  308. data/lib/genesis_ruby/api/requests/non_financial/payee/account/update.rb +59 -0
  309. data/lib/genesis_ruby/api/requests/non_financial/payee/create.rb +60 -0
  310. data/lib/genesis_ruby/api/requests/non_financial/payee/retrieve.rb +57 -0
  311. data/lib/genesis_ruby/api/requests/non_financial/payee/update.rb +58 -0
  312. data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/date_range.rb +2 -0
  313. data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/post_date_range.rb +2 -0
  314. data/lib/genesis_ruby/api/requests/non_financial/processed_transactions/transaction.rb +2 -0
  315. data/lib/genesis_ruby/api/requests/non_financial/reconcile/date_range.rb +2 -0
  316. data/lib/genesis_ruby/api/requests/non_financial/reconcile/transaction.rb +10 -0
  317. data/lib/genesis_ruby/api/requests/non_financial/sca/checker.rb +2 -0
  318. data/lib/genesis_ruby/api/requests/non_financial/tokenization/cryptogram.rb +2 -0
  319. data/lib/genesis_ruby/api/requests/non_financial/tokenization/delete_token.rb +2 -0
  320. data/lib/genesis_ruby/api/requests/non_financial/tokenization/detokenize.rb +2 -0
  321. data/lib/genesis_ruby/api/requests/non_financial/tokenization/get_card.rb +2 -0
  322. data/lib/genesis_ruby/api/requests/non_financial/tokenization/tokenize.rb +2 -0
  323. data/lib/genesis_ruby/api/requests/non_financial/tokenization/update_token.rb +2 -0
  324. data/lib/genesis_ruby/api/requests/non_financial/tokenization/validate_token.rb +2 -0
  325. data/lib/genesis_ruby/api/requests/wpf/create.rb +2 -0
  326. data/lib/genesis_ruby/api/requests/wpf/reconcile.rb +2 -0
  327. data/lib/genesis_ruby/api/response.rb +2 -0
  328. data/lib/genesis_ruby/builder.rb +11 -4
  329. data/lib/genesis_ruby/builders/base.rb +2 -0
  330. data/lib/genesis_ruby/builders/form.rb +2 -0
  331. data/lib/genesis_ruby/builders/graphql.rb +2 -0
  332. data/lib/genesis_ruby/builders/json.rb +2 -0
  333. data/lib/genesis_ruby/builders/patch.rb +32 -0
  334. data/lib/genesis_ruby/builders/xml.rb +2 -0
  335. data/lib/genesis_ruby/configuration.rb +3 -1
  336. data/lib/genesis_ruby/connection.rb +2 -0
  337. data/lib/genesis_ruby/dependencies.rb +2 -0
  338. data/lib/genesis_ruby/errors/builder_error.rb +2 -0
  339. data/lib/genesis_ruby/errors/endpoint_not_set_error.rb +2 -0
  340. data/lib/genesis_ruby/errors/error.rb +2 -0
  341. data/lib/genesis_ruby/errors/invalid_argument_error.rb +2 -0
  342. data/lib/genesis_ruby/errors/network_error.rb +2 -0
  343. data/lib/genesis_ruby/errors/object_formatter_error.rb +2 -0
  344. data/lib/genesis_ruby/errors/parameter_error.rb +2 -0
  345. data/lib/genesis_ruby/errors/parser_error.rb +2 -0
  346. data/lib/genesis_ruby/errors/request_error.rb +2 -0
  347. data/lib/genesis_ruby/errors/response_error.rb +2 -0
  348. data/lib/genesis_ruby/network/adapter/base_adapter.rb +2 -0
  349. data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +5 -0
  350. data/lib/genesis_ruby/network/base_network.rb +5 -3
  351. data/lib/genesis_ruby/network/net_http.rb +2 -0
  352. data/lib/genesis_ruby/parser.rb +4 -2
  353. data/lib/genesis_ruby/parsers/base.rb +2 -0
  354. data/lib/genesis_ruby/parsers/json.rb +2 -0
  355. data/lib/genesis_ruby/parsers/xml.rb +2 -0
  356. data/lib/genesis_ruby/utils/common.rb +2 -0
  357. data/lib/genesis_ruby/utils/country.rb +2 -0
  358. data/lib/genesis_ruby/utils/formatters/base.rb +2 -0
  359. data/lib/genesis_ruby/utils/formatters/response/definitions.rb +2 -0
  360. data/lib/genesis_ruby/utils/formatters/response/formats/amount.rb +2 -0
  361. data/lib/genesis_ruby/utils/formatters/response/formats/timestamp.rb +2 -0
  362. data/lib/genesis_ruby/utils/formatters/response/loader.rb +2 -0
  363. data/lib/genesis_ruby/utils/money/base/strategy.rb +2 -0
  364. data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +2 -0
  365. data/lib/genesis_ruby/utils/money/conversions/exponent_to_amount.rb +2 -0
  366. data/lib/genesis_ruby/utils/money/format.rb +2 -0
  367. data/lib/genesis_ruby/utils/money_format.rb +2 -0
  368. data/lib/genesis_ruby/utils/object_formatter.rb +2 -0
  369. data/lib/genesis_ruby/utils/options/api_config.rb +13 -0
  370. data/lib/genesis_ruby/utils/options/base.rb +2 -0
  371. data/lib/genesis_ruby/utils/options/network_adapter_config.rb +4 -1
  372. data/lib/genesis_ruby/utils/options/reminder.rb +2 -0
  373. data/lib/genesis_ruby/utils/threeds/v2.rb +2 -0
  374. data/lib/genesis_ruby/utils/transactions/financial_types.rb +2 -0
  375. data/lib/genesis_ruby/utils/transactions/references/capturable_types.rb +2 -0
  376. data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +2 -0
  377. data/lib/genesis_ruby/utils/transactions/references/voidable_types.rb +2 -0
  378. data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/base.rb +2 -0
  379. data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/leg.rb +2 -0
  380. data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/tax.rb +2 -0
  381. data/lib/genesis_ruby/utils/transactions/wpf_types.rb +2 -0
  382. data/lib/genesis_ruby/version.rb +3 -1
  383. data/lib/genesis_ruby.rb +2 -0
  384. metadata +43 -2
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenesisRuby
4
+ module Api
5
+ module Requests
6
+ module NonFinancial
7
+ module Payee
8
+ # Update Payee
9
+ class Update < Base::Versioned
10
+
11
+ attr_accessor :payee_unique_id, :payee_name, :payee_country
12
+
13
+ # Retrieve Payee initialization
14
+ def initialize(configuration, _builder_interface = nil)
15
+ super configuration
16
+
17
+ self.request_path = 'payee/:payee_unique_id'
18
+
19
+ init_patch_configuration
20
+ end
21
+
22
+ protected
23
+
24
+ # Sets the request field validations
25
+ def init_field_validations
26
+ super
27
+
28
+ required_fields.push *%i[
29
+ payee_unique_id
30
+ ]
31
+ field_values.merge! payee_country: GenesisRuby::Utils::Country::COUNTRIES.keys
32
+ end
33
+
34
+ # Returns the request structure
35
+ def request_structure
36
+ {
37
+ payee: {
38
+ name: payee_name,
39
+ country: payee_country
40
+ }
41
+ }
42
+ end
43
+
44
+ # Override API endpoint configuration
45
+ def process_request_parameters
46
+ super
47
+
48
+ processed_path = request_path.dup.gsub(':payee_unique_id', payee_unique_id.to_s)
49
+
50
+ init_api_service_configuration request_path: processed_path, include_token: false
51
+ end
52
+
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/externally_processed'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/processing_type'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -8,6 +10,8 @@ module GenesisRuby
8
10
  # which returned an error or has changed eg. has beed chargebacked.
9
11
  class Transaction < Api::Request
10
12
 
13
+ include Mixins::Requests::SmartRouterAttributes
14
+
11
15
  attr_accessor :arn, :transaction_id, :unique_id
12
16
 
13
17
  protected
@@ -16,6 +20,12 @@ module GenesisRuby
16
20
  def init_configuration
17
21
  init_xml_configuration
18
22
  init_api_gateway_configuration request_path: 'reconcile'
23
+ init_api_smart_router_configuration if @configuration.force_smart_routing
24
+ end
25
+
26
+ # Initialize Smart Router endpoint
27
+ def init_api_smart_router_configuration
28
+ api_config.url = build_request_url({ subdomain: 'smart_router', path: 'reconcile' })
19
29
  end
20
30
 
21
31
  # API Request structure
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/transactions/parameters/non_financial/sca_exemptions'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/transactions/wpf_types'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/sca_exemptions'
3
5
  require 'genesis_ruby/api/constants/i18n'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Api
3
5
  module Requests
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/response_error'
2
4
  require 'genesis_ruby/parser'
3
5
  require 'genesis_ruby/api/constants/states'
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/builders/xml'
2
4
  require 'genesis_ruby/builders/form'
3
5
  require 'genesis_ruby/builders/json'
4
6
  require 'genesis_ruby/builders/graphql'
7
+ require 'genesis_ruby/builders/patch'
5
8
  require 'genesis_ruby/errors/builder_error'
6
9
 
7
10
  module GenesisRuby
@@ -9,16 +12,19 @@ module GenesisRuby
9
12
  class Builder
10
13
 
11
14
  # Builder XML
12
- XML = 'xml'.freeze
15
+ XML = 'xml'
13
16
 
14
17
  # Builder JSON
15
- JSON = 'json'.freeze
18
+ JSON = 'json'
16
19
 
17
20
  # Builder FORM
18
- FORM = 'form'.freeze
21
+ FORM = 'form'
19
22
 
20
23
  # Builder GraphQL
21
- GRAPHQL = 'graphql'.freeze
24
+ GRAPHQL = 'graphql'
25
+
26
+ # Builder PATCH
27
+ PATCH = 'patch'
22
28
 
23
29
  # Initialize the Builder Interface based on the Request requirements
24
30
  def initialize(request_interface)
@@ -27,6 +33,7 @@ module GenesisRuby
27
33
  when FORM then @builder_context = Builders::Form.new
28
34
  when JSON then @builder_context = Builders::Json.new
29
35
  when GRAPHQL then @builder_context = Builders::Graphql.new
36
+ when PATCH then @builder_context = Builders::Patch.new
30
37
  else
31
38
  raise GenesisRuby::BuilderError, 'Invalid Builder interface!'
32
39
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Builders
3
5
  # Contract for every builder abstraction
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/builders/base'
2
4
  require 'uri'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/builders/base'
2
4
  require 'json'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/builders/base'
2
4
  require 'json'
3
5
 
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'genesis_ruby/builders/base'
4
+ require 'json'
5
+
6
+ module GenesisRuby
7
+ module Builders
8
+ # PATCH Document builder
9
+ class Patch < Base
10
+
11
+ # PATCH constructor
12
+ def initialize
13
+ @document = ''
14
+
15
+ super
16
+ end
17
+
18
+ # PATCH output string
19
+ def output
20
+ @document
21
+ end
22
+
23
+ # Generate PATCH document
24
+ def populate_nodes(structure)
25
+ @document = JSON.pretty_generate structure
26
+ rescue StandardError => e
27
+ raise BuilderError, "Given request structure can not be generated! #{e.message}"
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/builders/base'
2
4
  require 'nokogiri'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/environments'
2
4
  require 'genesis_ruby/api/constants/endpoints'
3
5
  require 'genesis_ruby/errors/invalid_argument_error'
@@ -12,7 +14,7 @@ module GenesisRuby
12
14
  DEFAULT_TIMEOUT = 60
13
15
 
14
16
  # Supported Network Connections
15
- NETWORK_INTERFACE_NET_HTTP = 'net-http'.freeze
17
+ NETWORK_INTERFACE_NET_HTTP = 'net-http'
16
18
 
17
19
  # Default Format Response
18
20
  DEFAULT_FORMAT_RESPONSE = true
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/network/net_http'
2
4
  require 'genesis_ruby/errors/network_error'
3
5
  require 'genesis_ruby/configuration'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # =================================
2
4
  # Transaction Request Requirements
3
5
  # =================================
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  # Base Genesis Ruby Error
3
5
  class Error < StandardError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Network
3
5
  module Adapter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/network/adapter/base_adapter'
2
4
  require 'genesis_ruby/errors/network_error'
3
5
  require 'net/http'
@@ -30,6 +32,7 @@ module GenesisRuby
30
32
  when Api::Request::METHOD_POST then @response = @request.post path, request_data.body, headers
31
33
  when Api::Request::METHOD_PUT then @response = @request.put path, request_data.body, headers
32
34
  when Api::Request::METHOD_GET then @response = @request.get path, headers
35
+ when Api::Request::METHOD_PATCH then @response = @request.patch path, request_data.body, headers
33
36
  else raise 'Invalid Request Type!'
34
37
  end
35
38
  end
@@ -66,6 +69,8 @@ module GenesisRuby
66
69
  def path
67
70
  path = @uri&.path
68
71
 
72
+ path += "?#{@uri.query}" if @uri.query
73
+
69
74
  path.empty? ? '/' : path
70
75
  end
71
76
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/options/network_adapter_config'
2
4
 
3
5
  module GenesisRuby
@@ -5,9 +7,9 @@ module GenesisRuby
5
7
  # Base Network factory class
6
8
  class BaseNetwork
7
9
 
8
- XML_HEADER = 'application/xml'.freeze
9
- JSON_HEADER = 'application/json'.freeze
10
- HTML_HEADER = 'text/html'.freeze
10
+ XML_HEADER = 'application/xml'
11
+ JSON_HEADER = 'application/json'
12
+ HTML_HEADER = 'text/html'
11
13
 
12
14
  # Base constructor
13
15
  def initialize(configuration)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/network/base_network'
2
4
  require 'genesis_ruby/network/adapter/net_http_adapter'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/parsers/xml'
2
4
  require 'genesis_ruby/parsers/json'
3
5
  require 'genesis_ruby/errors/parser_error'
@@ -7,10 +9,10 @@ module GenesisRuby
7
9
  class Parser
8
10
 
9
11
  # XML Parser
10
- XML = 'xml'.freeze
12
+ XML = 'xml'
11
13
 
12
14
  # JSON Parser
13
- JSON = 'json'.freeze
15
+ JSON = 'json'
14
16
 
15
17
  # Initialize the Parser Interface based on the Response requirements
16
18
  def initialize(response_interface)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Parsers
3
5
  # Contract for every parser abstraction
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/parsers/base'
2
4
  require 'json'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/parsers/base'
2
4
  require 'nokogiri'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'uri'
2
4
  require 'date'
3
5
  require 'json'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Utils
3
5
  # Country-related methods
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Utils
3
5
  module Formatters
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/formatters/response/formats/amount'
2
4
  require 'genesis_ruby/utils/formatters/response/formats/timestamp'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/formatters/base'
2
4
  require 'genesis_ruby/utils/money_format'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/formatters/base'
2
4
  require 'date'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/formatters/response/definitions'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/invalid_argument_error'
2
4
  require 'bigdecimal'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/money/base/strategy'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/money/base/strategy'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/invalid_argument_error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/api/constants/currencies/iso4217'
2
4
  require 'genesis_ruby/utils/money/conversions/amount_to_exponent'
3
5
  require 'genesis_ruby/utils/money/conversions/exponent_to_amount'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/errors/object_formatter_error'
2
4
 
3
5
  module GenesisRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/options/base'
2
4
 
3
5
  module GenesisRuby
@@ -61,6 +63,17 @@ module GenesisRuby
61
63
  self.bearer_token = nil
62
64
  end
63
65
 
66
+ # Load pre-defined PATCH configuration
67
+ def load_patch_config
68
+ self.protocol = GenesisRuby::Api::Request::PROTOCOL_HTTPS
69
+ self.port = GenesisRuby::Api::Request::PORT_HTTPS
70
+ self.type = GenesisRuby::Api::Request::METHOD_PATCH
71
+ self.format = Builder::PATCH
72
+ self.parser_skip_root_node = false
73
+ self.authorization = GenesisRuby::Api::Request::AUTH_TYPE_BASIC
74
+ self.bearer_token = nil
75
+ end
76
+
64
77
  end
65
78
  end
66
79
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GenesisRuby
2
4
  module Utils
3
5
  module Options
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/options/base'
2
4
  require 'genesis_ruby/errors/invalid_argument_error'
3
5
  require 'base64'
@@ -33,7 +35,8 @@ module GenesisRuby
33
35
  when Builder::JSON then 'application/json'
34
36
  when Builder::FORM then 'application/x-www-form-urlencoded'
35
37
  when Builder::GRAPHQL then 'application/graphql'
36
- else raise InvalidArgumentError, 'Invalid request format type. Allowed are XML, JSON and FORM'
38
+ when Builder::PATCH then 'application/json'
39
+ else raise InvalidArgumentError, 'Invalid request format type. Allowed are XML, JSON, FORM AND PATCH'
37
40
  end
38
41
  end
39
42
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'genesis_ruby/utils/options/base'
2
4
  require 'genesis_ruby/api/constants/transactions/parameters/wpf/reminder_channels'
3
5