vrpayment-ruby-sdk 5.0.1

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 (1114) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +55 -0
  4. data/LICENSE +201 -0
  5. data/README.md +176 -0
  6. data/Rakefile +14 -0
  7. data/lib/vrpayment-ruby-sdk/api/account_service_api.rb +398 -0
  8. data/lib/vrpayment-ruby-sdk/api/application_user_service_api.rb +398 -0
  9. data/lib/vrpayment-ruby-sdk/api/bank_account_service_api.rb +228 -0
  10. data/lib/vrpayment-ruby-sdk/api/bank_transaction_service_api.rb +228 -0
  11. data/lib/vrpayment-ruby-sdk/api/card_processing_service_api.rb +182 -0
  12. data/lib/vrpayment-ruby-sdk/api/charge_attempt_service_api.rb +228 -0
  13. data/lib/vrpayment-ruby-sdk/api/charge_bank_transaction_service_api.rb +228 -0
  14. data/lib/vrpayment-ruby-sdk/api/charge_flow_level_payment_link_service_api.rb +228 -0
  15. data/lib/vrpayment-ruby-sdk/api/charge_flow_level_service_api.rb +296 -0
  16. data/lib/vrpayment-ruby-sdk/api/charge_flow_service_api.rb +509 -0
  17. data/lib/vrpayment-ruby-sdk/api/condition_type_service_api.rb +149 -0
  18. data/lib/vrpayment-ruby-sdk/api/country_service_api.rb +86 -0
  19. data/lib/vrpayment-ruby-sdk/api/country_state_service_api.rb +149 -0
  20. data/lib/vrpayment-ruby-sdk/api/currency_bank_account_service_api.rb +228 -0
  21. data/lib/vrpayment-ruby-sdk/api/currency_service_api.rb +86 -0
  22. data/lib/vrpayment-ruby-sdk/api/customer_address_service_api.rb +495 -0
  23. data/lib/vrpayment-ruby-sdk/api/customer_comment_service_api.rb +562 -0
  24. data/lib/vrpayment-ruby-sdk/api/customer_service_api.rb +428 -0
  25. data/lib/vrpayment-ruby-sdk/api/delivery_indication_service_api.rb +362 -0
  26. data/lib/vrpayment-ruby-sdk/api/document_template_service_api.rb +228 -0
  27. data/lib/vrpayment-ruby-sdk/api/document_template_type_service_api.rb +149 -0
  28. data/lib/vrpayment-ruby-sdk/api/dunning_case_level_service_api.rb +228 -0
  29. data/lib/vrpayment-ruby-sdk/api/dunning_case_service_api.rb +366 -0
  30. data/lib/vrpayment-ruby-sdk/api/dunning_flow_level_service_api.rb +228 -0
  31. data/lib/vrpayment-ruby-sdk/api/dunning_flow_service_api.rb +228 -0
  32. data/lib/vrpayment-ruby-sdk/api/external_transfer_bank_transaction_service_api.rb +228 -0
  33. data/lib/vrpayment-ruby-sdk/api/human_user_service_api.rb +460 -0
  34. data/lib/vrpayment-ruby-sdk/api/internal_transfer_bank_transaction_service_api.rb +228 -0
  35. data/lib/vrpayment-ruby-sdk/api/invoice_reconciliation_record_invoice_link_service_api.rb +376 -0
  36. data/lib/vrpayment-ruby-sdk/api/invoice_reconciliation_record_service_api.rb +429 -0
  37. data/lib/vrpayment-ruby-sdk/api/invoice_reimbursement_service_api.rb +373 -0
  38. data/lib/vrpayment-ruby-sdk/api/label_description_group_service_api.rb +149 -0
  39. data/lib/vrpayment-ruby-sdk/api/label_description_service_api.rb +149 -0
  40. data/lib/vrpayment-ruby-sdk/api/language_service_api.rb +86 -0
  41. data/lib/vrpayment-ruby-sdk/api/legal_organization_form_service_api.rb +212 -0
  42. data/lib/vrpayment-ruby-sdk/api/manual_task_service_api.rb +228 -0
  43. data/lib/vrpayment-ruby-sdk/api/mertic_usage_service_api.rb +101 -0
  44. data/lib/vrpayment-ruby-sdk/api/payment_connector_configuration_service_api.rb +228 -0
  45. data/lib/vrpayment-ruby-sdk/api/payment_connector_service_api.rb +149 -0
  46. data/lib/vrpayment-ruby-sdk/api/payment_link_service_api.rb +428 -0
  47. data/lib/vrpayment-ruby-sdk/api/payment_method_brand_service_api.rb +149 -0
  48. data/lib/vrpayment-ruby-sdk/api/payment_method_configuration_service_api.rb +228 -0
  49. data/lib/vrpayment-ruby-sdk/api/payment_method_service_api.rb +149 -0
  50. data/lib/vrpayment-ruby-sdk/api/payment_processor_configuration_service_api.rb +228 -0
  51. data/lib/vrpayment-ruby-sdk/api/payment_processor_service_api.rb +149 -0
  52. data/lib/vrpayment-ruby-sdk/api/payment_terminal_service_api.rb +503 -0
  53. data/lib/vrpayment-ruby-sdk/api/payment_terminal_till_service_api.rb +180 -0
  54. data/lib/vrpayment-ruby-sdk/api/payment_terminal_transaction_summary_service_api.rb +295 -0
  55. data/lib/vrpayment-ruby-sdk/api/payment_web_app_service_api.rb +632 -0
  56. data/lib/vrpayment-ruby-sdk/api/permission_service_api.rb +149 -0
  57. data/lib/vrpayment-ruby-sdk/api/refund_bank_transaction_service_api.rb +228 -0
  58. data/lib/vrpayment-ruby-sdk/api/refund_comment_service_api.rb +498 -0
  59. data/lib/vrpayment-ruby-sdk/api/refund_recovery_bank_transaction_service_api.rb +228 -0
  60. data/lib/vrpayment-ruby-sdk/api/refund_service_api.rb +572 -0
  61. data/lib/vrpayment-ruby-sdk/api/space_service_api.rb +398 -0
  62. data/lib/vrpayment-ruby-sdk/api/static_value_service_api.rb +149 -0
  63. data/lib/vrpayment-ruby-sdk/api/subscriber_service_api.rb +428 -0
  64. data/lib/vrpayment-ruby-sdk/api/subscription_affiliate_service_api.rb +428 -0
  65. data/lib/vrpayment-ruby-sdk/api/subscription_charge_service_api.rb +363 -0
  66. data/lib/vrpayment-ruby-sdk/api/subscription_ledger_entry_service_api.rb +295 -0
  67. data/lib/vrpayment-ruby-sdk/api/subscription_metric_service_api.rb +428 -0
  68. data/lib/vrpayment-ruby-sdk/api/subscription_metric_usage_service_api.rb +295 -0
  69. data/lib/vrpayment-ruby-sdk/api/subscription_period_bill_service_api.rb +228 -0
  70. data/lib/vrpayment-ruby-sdk/api/subscription_product_component_group_service_api.rb +428 -0
  71. data/lib/vrpayment-ruby-sdk/api/subscription_product_component_service_api.rb +428 -0
  72. data/lib/vrpayment-ruby-sdk/api/subscription_product_fee_tier_service_api.rb +428 -0
  73. data/lib/vrpayment-ruby-sdk/api/subscription_product_metered_fee_service_api.rb +428 -0
  74. data/lib/vrpayment-ruby-sdk/api/subscription_product_period_fee_service_api.rb +428 -0
  75. data/lib/vrpayment-ruby-sdk/api/subscription_product_retirement_service_api.rb +295 -0
  76. data/lib/vrpayment-ruby-sdk/api/subscription_product_service_api.rb +362 -0
  77. data/lib/vrpayment-ruby-sdk/api/subscription_product_setup_fee_service_api.rb +428 -0
  78. data/lib/vrpayment-ruby-sdk/api/subscription_product_version_retirement_service_api.rb +295 -0
  79. data/lib/vrpayment-ruby-sdk/api/subscription_product_version_service_api.rb +430 -0
  80. data/lib/vrpayment-ruby-sdk/api/subscription_service_api.rb +793 -0
  81. data/lib/vrpayment-ruby-sdk/api/subscription_suspension_service_api.rb +363 -0
  82. data/lib/vrpayment-ruby-sdk/api/subscription_version_service_api.rb +228 -0
  83. data/lib/vrpayment-ruby-sdk/api/token_service_api.rb +768 -0
  84. data/lib/vrpayment-ruby-sdk/api/token_version_service_api.rb +296 -0
  85. data/lib/vrpayment-ruby-sdk/api/transaction_comment_service_api.rb +498 -0
  86. data/lib/vrpayment-ruby-sdk/api/transaction_completion_service_api.rb +498 -0
  87. data/lib/vrpayment-ruby-sdk/api/transaction_iframe_service_api.rb +96 -0
  88. data/lib/vrpayment-ruby-sdk/api/transaction_invoice_comment_service_api.rb +498 -0
  89. data/lib/vrpayment-ruby-sdk/api/transaction_invoice_service_api.rb +645 -0
  90. data/lib/vrpayment-ruby-sdk/api/transaction_lightbox_service_api.rb +96 -0
  91. data/lib/vrpayment-ruby-sdk/api/transaction_line_item_version_service_api.rb +295 -0
  92. data/lib/vrpayment-ruby-sdk/api/transaction_mobile_sdk_service_api.rb +91 -0
  93. data/lib/vrpayment-ruby-sdk/api/transaction_payment_page_service_api.rb +96 -0
  94. data/lib/vrpayment-ruby-sdk/api/transaction_service_api.rb +1238 -0
  95. data/lib/vrpayment-ruby-sdk/api/transaction_terminal_service_api.rb +171 -0
  96. data/lib/vrpayment-ruby-sdk/api/transaction_void_service_api.rb +364 -0
  97. data/lib/vrpayment-ruby-sdk/api/user_account_role_service_api.rb +234 -0
  98. data/lib/vrpayment-ruby-sdk/api/user_space_role_service_api.rb +231 -0
  99. data/lib/vrpayment-ruby-sdk/api/web_app_service_api.rb +215 -0
  100. data/lib/vrpayment-ruby-sdk/api/webhook_encryption_service_api.rb +117 -0
  101. data/lib/vrpayment-ruby-sdk/api/webhook_listener_service_api.rb +428 -0
  102. data/lib/vrpayment-ruby-sdk/api/webhook_url_service_api.rb +428 -0
  103. data/lib/vrpayment-ruby-sdk/api_client.rb +423 -0
  104. data/lib/vrpayment-ruby-sdk/api_error.rb +43 -0
  105. data/lib/vrpayment-ruby-sdk/configuration.rb +143 -0
  106. data/lib/vrpayment-ruby-sdk/encryption_util.rb +40 -0
  107. data/lib/vrpayment-ruby-sdk/models/abstract_account_update.rb +234 -0
  108. data/lib/vrpayment-ruby-sdk/models/abstract_application_user_update.rb +225 -0
  109. data/lib/vrpayment-ruby-sdk/models/abstract_customer_active.rb +312 -0
  110. data/lib/vrpayment-ruby-sdk/models/abstract_customer_address_active.rb +200 -0
  111. data/lib/vrpayment-ruby-sdk/models/abstract_customer_comment_active.rb +205 -0
  112. data/lib/vrpayment-ruby-sdk/models/abstract_human_user_update.rb +320 -0
  113. data/lib/vrpayment-ruby-sdk/models/abstract_payment_link_update.rb +309 -0
  114. data/lib/vrpayment-ruby-sdk/models/abstract_refund_comment_active.rb +205 -0
  115. data/lib/vrpayment-ruby-sdk/models/abstract_space_update.rb +286 -0
  116. data/lib/vrpayment-ruby-sdk/models/abstract_subscriber_update.rb +321 -0
  117. data/lib/vrpayment-ruby-sdk/models/abstract_subscription_affiliate_update.rb +246 -0
  118. data/lib/vrpayment-ruby-sdk/models/abstract_subscription_metric_update.rb +204 -0
  119. data/lib/vrpayment-ruby-sdk/models/abstract_subscription_product_active.rb +257 -0
  120. data/lib/vrpayment-ruby-sdk/models/abstract_token_update.rb +270 -0
  121. data/lib/vrpayment-ruby-sdk/models/abstract_transaction_comment_active.rb +205 -0
  122. data/lib/vrpayment-ruby-sdk/models/abstract_transaction_invoice_comment_active.rb +205 -0
  123. data/lib/vrpayment-ruby-sdk/models/abstract_transaction_pending.rb +486 -0
  124. data/lib/vrpayment-ruby-sdk/models/abstract_webhook_listener_update.rb +237 -0
  125. data/lib/vrpayment-ruby-sdk/models/abstract_webhook_url_update.rb +249 -0
  126. data/lib/vrpayment-ruby-sdk/models/account.rb +375 -0
  127. data/lib/vrpayment-ruby-sdk/models/account_create.rb +260 -0
  128. data/lib/vrpayment-ruby-sdk/models/account_state.rb +39 -0
  129. data/lib/vrpayment-ruby-sdk/models/account_type.rb +36 -0
  130. data/lib/vrpayment-ruby-sdk/models/account_update.rb +265 -0
  131. data/lib/vrpayment-ruby-sdk/models/address.rb +606 -0
  132. data/lib/vrpayment-ruby-sdk/models/address_create.rb +606 -0
  133. data/lib/vrpayment-ruby-sdk/models/application_user.rb +286 -0
  134. data/lib/vrpayment-ruby-sdk/models/application_user_create.rb +241 -0
  135. data/lib/vrpayment-ruby-sdk/models/application_user_create_with_mac_key.rb +296 -0
  136. data/lib/vrpayment-ruby-sdk/models/application_user_update.rb +256 -0
  137. data/lib/vrpayment-ruby-sdk/models/authenticated_card_data.rb +231 -0
  138. data/lib/vrpayment-ruby-sdk/models/authenticated_card_data_create.rb +368 -0
  139. data/lib/vrpayment-ruby-sdk/models/bank_account.rb +291 -0
  140. data/lib/vrpayment-ruby-sdk/models/bank_account_environment.rb +35 -0
  141. data/lib/vrpayment-ruby-sdk/models/bank_account_state.rb +37 -0
  142. data/lib/vrpayment-ruby-sdk/models/bank_account_type.rb +227 -0
  143. data/lib/vrpayment-ruby-sdk/models/bank_transaction.rb +397 -0
  144. data/lib/vrpayment-ruby-sdk/models/bank_transaction_flow_direction.rb +35 -0
  145. data/lib/vrpayment-ruby-sdk/models/bank_transaction_source.rb +215 -0
  146. data/lib/vrpayment-ruby-sdk/models/bank_transaction_state.rb +35 -0
  147. data/lib/vrpayment-ruby-sdk/models/bank_transaction_type.rb +215 -0
  148. data/lib/vrpayment-ruby-sdk/models/billing_cycle_model.rb +251 -0
  149. data/lib/vrpayment-ruby-sdk/models/billing_cycle_type.rb +37 -0
  150. data/lib/vrpayment-ruby-sdk/models/billing_day_customization.rb +35 -0
  151. data/lib/vrpayment-ruby-sdk/models/card_authentication_response.rb +38 -0
  152. data/lib/vrpayment-ruby-sdk/models/card_authentication_version.rb +35 -0
  153. data/lib/vrpayment-ruby-sdk/models/card_cryptogram.rb +201 -0
  154. data/lib/vrpayment-ruby-sdk/models/card_cryptogram_create.rb +206 -0
  155. data/lib/vrpayment-ruby-sdk/models/cardholder_authentication.rb +231 -0
  156. data/lib/vrpayment-ruby-sdk/models/cardholder_authentication_create.rb +241 -0
  157. data/lib/vrpayment-ruby-sdk/models/charge.rb +321 -0
  158. data/lib/vrpayment-ruby-sdk/models/charge_attempt.rb +488 -0
  159. data/lib/vrpayment-ruby-sdk/models/charge_attempt_environment.rb +35 -0
  160. data/lib/vrpayment-ruby-sdk/models/charge_attempt_state.rb +36 -0
  161. data/lib/vrpayment-ruby-sdk/models/charge_bank_transaction.rb +291 -0
  162. data/lib/vrpayment-ruby-sdk/models/charge_flow.rb +263 -0
  163. data/lib/vrpayment-ruby-sdk/models/charge_flow_level.rb +311 -0
  164. data/lib/vrpayment-ruby-sdk/models/charge_flow_level_configuration.rb +296 -0
  165. data/lib/vrpayment-ruby-sdk/models/charge_flow_level_configuration_type.rb +227 -0
  166. data/lib/vrpayment-ruby-sdk/models/charge_flow_level_payment_link.rb +221 -0
  167. data/lib/vrpayment-ruby-sdk/models/charge_flow_level_state.rb +36 -0
  168. data/lib/vrpayment-ruby-sdk/models/charge_state.rb +36 -0
  169. data/lib/vrpayment-ruby-sdk/models/charge_type.rb +37 -0
  170. data/lib/vrpayment-ruby-sdk/models/client_error.rb +231 -0
  171. data/lib/vrpayment-ruby-sdk/models/client_error_type.rb +36 -0
  172. data/lib/vrpayment-ruby-sdk/models/completion_line_item.rb +226 -0
  173. data/lib/vrpayment-ruby-sdk/models/completion_line_item_create.rb +245 -0
  174. data/lib/vrpayment-ruby-sdk/models/condition.rb +266 -0
  175. data/lib/vrpayment-ruby-sdk/models/condition_type.rb +215 -0
  176. data/lib/vrpayment-ruby-sdk/models/connector_invocation.rb +261 -0
  177. data/lib/vrpayment-ruby-sdk/models/connector_invocation_stage.rb +37 -0
  178. data/lib/vrpayment-ruby-sdk/models/creation_entity_state.rb +38 -0
  179. data/lib/vrpayment-ruby-sdk/models/criteria_operator.rb +45 -0
  180. data/lib/vrpayment-ruby-sdk/models/currency_bank_account.rb +241 -0
  181. data/lib/vrpayment-ruby-sdk/models/customer.rb +353 -0
  182. data/lib/vrpayment-ruby-sdk/models/customer_active.rb +343 -0
  183. data/lib/vrpayment-ruby-sdk/models/customer_address.rb +261 -0
  184. data/lib/vrpayment-ruby-sdk/models/customer_address_active.rb +231 -0
  185. data/lib/vrpayment-ruby-sdk/models/customer_address_create.rb +216 -0
  186. data/lib/vrpayment-ruby-sdk/models/customer_address_type.rb +36 -0
  187. data/lib/vrpayment-ruby-sdk/models/customer_comment.rb +296 -0
  188. data/lib/vrpayment-ruby-sdk/models/customer_comment_active.rb +236 -0
  189. data/lib/vrpayment-ruby-sdk/models/customer_comment_create.rb +221 -0
  190. data/lib/vrpayment-ruby-sdk/models/customer_create.rb +313 -0
  191. data/lib/vrpayment-ruby-sdk/models/customer_postal_address.rb +606 -0
  192. data/lib/vrpayment-ruby-sdk/models/customer_postal_address_create.rb +606 -0
  193. data/lib/vrpayment-ruby-sdk/models/customers_presence.rb +36 -0
  194. data/lib/vrpayment-ruby-sdk/models/data_collection_type.rb +35 -0
  195. data/lib/vrpayment-ruby-sdk/models/delivery_indication.rb +321 -0
  196. data/lib/vrpayment-ruby-sdk/models/delivery_indication_decision_reason.rb +215 -0
  197. data/lib/vrpayment-ruby-sdk/models/delivery_indication_state.rb +37 -0
  198. data/lib/vrpayment-ruby-sdk/models/displayable_day_of_week.rb +40 -0
  199. data/lib/vrpayment-ruby-sdk/models/displayable_month.rb +45 -0
  200. data/lib/vrpayment-ruby-sdk/models/document_template.rb +306 -0
  201. data/lib/vrpayment-ruby-sdk/models/document_template_type.rb +235 -0
  202. data/lib/vrpayment-ruby-sdk/models/document_template_type_group.rb +203 -0
  203. data/lib/vrpayment-ruby-sdk/models/dunning_case.rb +311 -0
  204. data/lib/vrpayment-ruby-sdk/models/dunning_case_level.rb +351 -0
  205. data/lib/vrpayment-ruby-sdk/models/dunning_case_level_state.rb +38 -0
  206. data/lib/vrpayment-ruby-sdk/models/dunning_case_state.rb +39 -0
  207. data/lib/vrpayment-ruby-sdk/models/dunning_condition.rb +266 -0
  208. data/lib/vrpayment-ruby-sdk/models/dunning_condition_type.rb +215 -0
  209. data/lib/vrpayment-ruby-sdk/models/dunning_flow.rb +273 -0
  210. data/lib/vrpayment-ruby-sdk/models/dunning_flow_level.rb +330 -0
  211. data/lib/vrpayment-ruby-sdk/models/dunning_flow_level_processor.rb +225 -0
  212. data/lib/vrpayment-ruby-sdk/models/dunning_flow_type.rb +225 -0
  213. data/lib/vrpayment-ruby-sdk/models/entity_export_request.rb +208 -0
  214. data/lib/vrpayment-ruby-sdk/models/entity_query.rb +233 -0
  215. data/lib/vrpayment-ruby-sdk/models/entity_query_filter.rb +238 -0
  216. data/lib/vrpayment-ruby-sdk/models/entity_query_filter_type.rb +36 -0
  217. data/lib/vrpayment-ruby-sdk/models/entity_query_order_by.rb +211 -0
  218. data/lib/vrpayment-ruby-sdk/models/entity_query_order_by_type.rb +35 -0
  219. data/lib/vrpayment-ruby-sdk/models/environment.rb +35 -0
  220. data/lib/vrpayment-ruby-sdk/models/external_transfer_bank_transaction.rb +251 -0
  221. data/lib/vrpayment-ruby-sdk/models/failure_category.rb +38 -0
  222. data/lib/vrpayment-ruby-sdk/models/failure_reason.rb +225 -0
  223. data/lib/vrpayment-ruby-sdk/models/feature.rb +277 -0
  224. data/lib/vrpayment-ruby-sdk/models/feature_category.rb +225 -0
  225. data/lib/vrpayment-ruby-sdk/models/gender.rb +35 -0
  226. data/lib/vrpayment-ruby-sdk/models/human_user.rb +361 -0
  227. data/lib/vrpayment-ruby-sdk/models/human_user_create.rb +331 -0
  228. data/lib/vrpayment-ruby-sdk/models/human_user_update.rb +351 -0
  229. data/lib/vrpayment-ruby-sdk/models/internal_transfer_bank_transaction.rb +231 -0
  230. data/lib/vrpayment-ruby-sdk/models/invoice_reconciliation_record.rb +571 -0
  231. data/lib/vrpayment-ruby-sdk/models/invoice_reconciliation_record_invoice_link.rb +241 -0
  232. data/lib/vrpayment-ruby-sdk/models/invoice_reconciliation_record_rejection_status.rb +36 -0
  233. data/lib/vrpayment-ruby-sdk/models/invoice_reconciliation_record_state.rb +38 -0
  234. data/lib/vrpayment-ruby-sdk/models/invoice_reconciliation_record_type.rb +215 -0
  235. data/lib/vrpayment-ruby-sdk/models/invoice_reimbursement.rb +401 -0
  236. data/lib/vrpayment-ruby-sdk/models/invoice_reimbursement_state.rb +38 -0
  237. data/lib/vrpayment-ruby-sdk/models/invoice_reimbursement_with_refund_reference.rb +411 -0
  238. data/lib/vrpayment-ruby-sdk/models/label.rb +211 -0
  239. data/lib/vrpayment-ruby-sdk/models/label_descriptor.rb +267 -0
  240. data/lib/vrpayment-ruby-sdk/models/label_descriptor_category.rb +35 -0
  241. data/lib/vrpayment-ruby-sdk/models/label_descriptor_group.rb +225 -0
  242. data/lib/vrpayment-ruby-sdk/models/label_descriptor_type.rb +215 -0
  243. data/lib/vrpayment-ruby-sdk/models/legal_organization_form.rb +235 -0
  244. data/lib/vrpayment-ruby-sdk/models/line_item.rb +449 -0
  245. data/lib/vrpayment-ruby-sdk/models/line_item_attribute.rb +231 -0
  246. data/lib/vrpayment-ruby-sdk/models/line_item_attribute_create.rb +249 -0
  247. data/lib/vrpayment-ruby-sdk/models/line_item_create.rb +372 -0
  248. data/lib/vrpayment-ruby-sdk/models/line_item_reduction.rb +226 -0
  249. data/lib/vrpayment-ruby-sdk/models/line_item_reduction_create.rb +245 -0
  250. data/lib/vrpayment-ruby-sdk/models/line_item_type.rb +38 -0
  251. data/lib/vrpayment-ruby-sdk/models/localized_string.rb +201 -0
  252. data/lib/vrpayment-ruby-sdk/models/manual_task.rb +273 -0
  253. data/lib/vrpayment-ruby-sdk/models/manual_task_action.rb +223 -0
  254. data/lib/vrpayment-ruby-sdk/models/manual_task_action_style.rb +36 -0
  255. data/lib/vrpayment-ruby-sdk/models/manual_task_state.rb +36 -0
  256. data/lib/vrpayment-ruby-sdk/models/manual_task_type.rb +227 -0
  257. data/lib/vrpayment-ruby-sdk/models/metric_usage.rb +225 -0
  258. data/lib/vrpayment-ruby-sdk/models/one_click_payment_mode.rb +36 -0
  259. data/lib/vrpayment-ruby-sdk/models/pan_type.rb +40 -0
  260. data/lib/vrpayment-ruby-sdk/models/payment_adjustment.rb +241 -0
  261. data/lib/vrpayment-ruby-sdk/models/payment_adjustment_type.rb +215 -0
  262. data/lib/vrpayment-ruby-sdk/models/payment_app_charge_attempt_target_state.rb +35 -0
  263. data/lib/vrpayment-ruby-sdk/models/payment_app_charge_attempt_update_request.rb +261 -0
  264. data/lib/vrpayment-ruby-sdk/models/payment_app_completion_configuration.rb +231 -0
  265. data/lib/vrpayment-ruby-sdk/models/payment_app_completion_configuration_create.rb +231 -0
  266. data/lib/vrpayment-ruby-sdk/models/payment_app_completion_target_state.rb +35 -0
  267. data/lib/vrpayment-ruby-sdk/models/payment_app_completion_update_request.rb +236 -0
  268. data/lib/vrpayment-ruby-sdk/models/payment_app_connector.rb +351 -0
  269. data/lib/vrpayment-ruby-sdk/models/payment_app_connector_creation_request.rb +366 -0
  270. data/lib/vrpayment-ruby-sdk/models/payment_app_connector_state.rb +35 -0
  271. data/lib/vrpayment-ruby-sdk/models/payment_app_processor.rb +386 -0
  272. data/lib/vrpayment-ruby-sdk/models/payment_app_processor_creation_request.rb +317 -0
  273. data/lib/vrpayment-ruby-sdk/models/payment_app_processor_state.rb +35 -0
  274. data/lib/vrpayment-ruby-sdk/models/payment_app_refund_configuration.rb +211 -0
  275. data/lib/vrpayment-ruby-sdk/models/payment_app_refund_configuration_create.rb +211 -0
  276. data/lib/vrpayment-ruby-sdk/models/payment_app_refund_target_state.rb +35 -0
  277. data/lib/vrpayment-ruby-sdk/models/payment_app_refund_update_request.rb +236 -0
  278. data/lib/vrpayment-ruby-sdk/models/payment_app_void_target_state.rb +35 -0
  279. data/lib/vrpayment-ruby-sdk/models/payment_app_void_update_request.rb +236 -0
  280. data/lib/vrpayment-ruby-sdk/models/payment_connector.rb +323 -0
  281. data/lib/vrpayment-ruby-sdk/models/payment_connector_configuration.rb +352 -0
  282. data/lib/vrpayment-ruby-sdk/models/payment_connector_feature.rb +201 -0
  283. data/lib/vrpayment-ruby-sdk/models/payment_contract.rb +341 -0
  284. data/lib/vrpayment-ruby-sdk/models/payment_contract_state.rb +38 -0
  285. data/lib/vrpayment-ruby-sdk/models/payment_contract_type.rb +215 -0
  286. data/lib/vrpayment-ruby-sdk/models/payment_information_hash.rb +211 -0
  287. data/lib/vrpayment-ruby-sdk/models/payment_information_hash_type.rb +203 -0
  288. data/lib/vrpayment-ruby-sdk/models/payment_initiation_advice_file.rb +281 -0
  289. data/lib/vrpayment-ruby-sdk/models/payment_initiation_advice_file_state.rb +40 -0
  290. data/lib/vrpayment-ruby-sdk/models/payment_link.rb +390 -0
  291. data/lib/vrpayment-ruby-sdk/models/payment_link_active.rb +350 -0
  292. data/lib/vrpayment-ruby-sdk/models/payment_link_address_handling_mode.rb +36 -0
  293. data/lib/vrpayment-ruby-sdk/models/payment_link_create.rb +350 -0
  294. data/lib/vrpayment-ruby-sdk/models/payment_link_protection_mode.rb +35 -0
  295. data/lib/vrpayment-ruby-sdk/models/payment_link_update.rb +340 -0
  296. data/lib/vrpayment-ruby-sdk/models/payment_method.rb +261 -0
  297. data/lib/vrpayment-ruby-sdk/models/payment_method_brand.rb +245 -0
  298. data/lib/vrpayment-ruby-sdk/models/payment_method_configuration.rb +374 -0
  299. data/lib/vrpayment-ruby-sdk/models/payment_primary_risk_taker.rb +36 -0
  300. data/lib/vrpayment-ruby-sdk/models/payment_processor.rb +261 -0
  301. data/lib/vrpayment-ruby-sdk/models/payment_processor_configuration.rb +286 -0
  302. data/lib/vrpayment-ruby-sdk/models/payment_terminal.rb +336 -0
  303. data/lib/vrpayment-ruby-sdk/models/payment_terminal_address.rb +396 -0
  304. data/lib/vrpayment-ruby-sdk/models/payment_terminal_configuration.rb +266 -0
  305. data/lib/vrpayment-ruby-sdk/models/payment_terminal_configuration_state.rb +37 -0
  306. data/lib/vrpayment-ruby-sdk/models/payment_terminal_configuration_version.rb +323 -0
  307. data/lib/vrpayment-ruby-sdk/models/payment_terminal_configuration_version_state.rb +38 -0
  308. data/lib/vrpayment-ruby-sdk/models/payment_terminal_dcc_transaction_sum.rb +261 -0
  309. data/lib/vrpayment-ruby-sdk/models/payment_terminal_location.rb +266 -0
  310. data/lib/vrpayment-ruby-sdk/models/payment_terminal_location_state.rb +37 -0
  311. data/lib/vrpayment-ruby-sdk/models/payment_terminal_location_version.rb +291 -0
  312. data/lib/vrpayment-ruby-sdk/models/payment_terminal_location_version_state.rb +38 -0
  313. data/lib/vrpayment-ruby-sdk/models/payment_terminal_receipt_type.rb +215 -0
  314. data/lib/vrpayment-ruby-sdk/models/payment_terminal_state.rb +39 -0
  315. data/lib/vrpayment-ruby-sdk/models/payment_terminal_transaction_sum.rb +291 -0
  316. data/lib/vrpayment-ruby-sdk/models/payment_terminal_transaction_summary.rb +307 -0
  317. data/lib/vrpayment-ruby-sdk/models/payment_terminal_transaction_summary_fetch_request.rb +221 -0
  318. data/lib/vrpayment-ruby-sdk/models/payment_terminal_transaction_summary_reference.rb +221 -0
  319. data/lib/vrpayment-ruby-sdk/models/payment_terminal_type.rb +215 -0
  320. data/lib/vrpayment-ruby-sdk/models/permission.rb +299 -0
  321. data/lib/vrpayment-ruby-sdk/models/persistable_currency_amount.rb +201 -0
  322. data/lib/vrpayment-ruby-sdk/models/persistable_currency_amount_update.rb +201 -0
  323. data/lib/vrpayment-ruby-sdk/models/product_fee_type.rb +36 -0
  324. data/lib/vrpayment-ruby-sdk/models/product_metered_fee.rb +275 -0
  325. data/lib/vrpayment-ruby-sdk/models/product_metered_fee_update.rb +265 -0
  326. data/lib/vrpayment-ruby-sdk/models/product_metered_tier_fee.rb +233 -0
  327. data/lib/vrpayment-ruby-sdk/models/product_metered_tier_fee_update.rb +243 -0
  328. data/lib/vrpayment-ruby-sdk/models/product_metered_tier_pricing.rb +35 -0
  329. data/lib/vrpayment-ruby-sdk/models/product_period_fee.rb +289 -0
  330. data/lib/vrpayment-ruby-sdk/models/product_period_fee_update.rb +279 -0
  331. data/lib/vrpayment-ruby-sdk/models/product_setup_fee.rb +291 -0
  332. data/lib/vrpayment-ruby-sdk/models/product_setup_fee_update.rb +281 -0
  333. data/lib/vrpayment-ruby-sdk/models/recurring_indicator.rb +37 -0
  334. data/lib/vrpayment-ruby-sdk/models/refund.rb +567 -0
  335. data/lib/vrpayment-ruby-sdk/models/refund_bank_transaction.rb +281 -0
  336. data/lib/vrpayment-ruby-sdk/models/refund_comment.rb +296 -0
  337. data/lib/vrpayment-ruby-sdk/models/refund_comment_active.rb +236 -0
  338. data/lib/vrpayment-ruby-sdk/models/refund_comment_create.rb +221 -0
  339. data/lib/vrpayment-ruby-sdk/models/refund_create.rb +306 -0
  340. data/lib/vrpayment-ruby-sdk/models/refund_recovery_bank_transaction.rb +293 -0
  341. data/lib/vrpayment-ruby-sdk/models/refund_state.rb +39 -0
  342. data/lib/vrpayment-ruby-sdk/models/refund_type.rb +37 -0
  343. data/lib/vrpayment-ruby-sdk/models/rendered_document.rb +235 -0
  344. data/lib/vrpayment-ruby-sdk/models/rendered_terminal_receipt.rb +235 -0
  345. data/lib/vrpayment-ruby-sdk/models/rendered_terminal_transaction_summary.rb +215 -0
  346. data/lib/vrpayment-ruby-sdk/models/resource_path.rb +275 -0
  347. data/lib/vrpayment-ruby-sdk/models/resource_state.rb +36 -0
  348. data/lib/vrpayment-ruby-sdk/models/rest_address_format.rb +227 -0
  349. data/lib/vrpayment-ruby-sdk/models/rest_address_format_field.rb +43 -0
  350. data/lib/vrpayment-ruby-sdk/models/rest_country.rb +243 -0
  351. data/lib/vrpayment-ruby-sdk/models/rest_country_state.rb +221 -0
  352. data/lib/vrpayment-ruby-sdk/models/rest_currency.rb +221 -0
  353. data/lib/vrpayment-ruby-sdk/models/rest_language.rb +251 -0
  354. data/lib/vrpayment-ruby-sdk/models/role.rb +265 -0
  355. data/lib/vrpayment-ruby-sdk/models/role_state.rb +37 -0
  356. data/lib/vrpayment-ruby-sdk/models/sales_channel.rb +225 -0
  357. data/lib/vrpayment-ruby-sdk/models/scope.rb +350 -0
  358. data/lib/vrpayment-ruby-sdk/models/server_error.rb +211 -0
  359. data/lib/vrpayment-ruby-sdk/models/space.rb +407 -0
  360. data/lib/vrpayment-ruby-sdk/models/space_address.rb +466 -0
  361. data/lib/vrpayment-ruby-sdk/models/space_address_create.rb +466 -0
  362. data/lib/vrpayment-ruby-sdk/models/space_create.rb +312 -0
  363. data/lib/vrpayment-ruby-sdk/models/space_update.rb +317 -0
  364. data/lib/vrpayment-ruby-sdk/models/space_view.rb +275 -0
  365. data/lib/vrpayment-ruby-sdk/models/static_value.rb +227 -0
  366. data/lib/vrpayment-ruby-sdk/models/subscriber.rb +382 -0
  367. data/lib/vrpayment-ruby-sdk/models/subscriber_active.rb +362 -0
  368. data/lib/vrpayment-ruby-sdk/models/subscriber_create.rb +347 -0
  369. data/lib/vrpayment-ruby-sdk/models/subscriber_update.rb +352 -0
  370. data/lib/vrpayment-ruby-sdk/models/subscription.rb +411 -0
  371. data/lib/vrpayment-ruby-sdk/models/subscription_affiliate.rb +331 -0
  372. data/lib/vrpayment-ruby-sdk/models/subscription_affiliate_create.rb +305 -0
  373. data/lib/vrpayment-ruby-sdk/models/subscription_affiliate_deleted.rb +331 -0
  374. data/lib/vrpayment-ruby-sdk/models/subscription_affiliate_deleting.rb +331 -0
  375. data/lib/vrpayment-ruby-sdk/models/subscription_affiliate_inactive.rb +277 -0
  376. data/lib/vrpayment-ruby-sdk/models/subscription_affiliate_update.rb +277 -0
  377. data/lib/vrpayment-ruby-sdk/models/subscription_change_request.rb +260 -0
  378. data/lib/vrpayment-ruby-sdk/models/subscription_charge.rb +456 -0
  379. data/lib/vrpayment-ruby-sdk/models/subscription_charge_create.rb +329 -0
  380. data/lib/vrpayment-ruby-sdk/models/subscription_charge_processing_type.rb +35 -0
  381. data/lib/vrpayment-ruby-sdk/models/subscription_charge_state.rb +38 -0
  382. data/lib/vrpayment-ruby-sdk/models/subscription_charge_type.rb +35 -0
  383. data/lib/vrpayment-ruby-sdk/models/subscription_component_configuration.rb +231 -0
  384. data/lib/vrpayment-ruby-sdk/models/subscription_component_reference_configuration.rb +201 -0
  385. data/lib/vrpayment-ruby-sdk/models/subscription_create_request.rb +250 -0
  386. data/lib/vrpayment-ruby-sdk/models/subscription_ledger_entry.rb +442 -0
  387. data/lib/vrpayment-ruby-sdk/models/subscription_ledger_entry_create.rb +316 -0
  388. data/lib/vrpayment-ruby-sdk/models/subscription_ledger_entry_state.rb +36 -0
  389. data/lib/vrpayment-ruby-sdk/models/subscription_metric.rb +265 -0
  390. data/lib/vrpayment-ruby-sdk/models/subscription_metric_active.rb +235 -0
  391. data/lib/vrpayment-ruby-sdk/models/subscription_metric_create.rb +225 -0
  392. data/lib/vrpayment-ruby-sdk/models/subscription_metric_type.rb +225 -0
  393. data/lib/vrpayment-ruby-sdk/models/subscription_metric_update.rb +235 -0
  394. data/lib/vrpayment-ruby-sdk/models/subscription_metric_usage_report.rb +306 -0
  395. data/lib/vrpayment-ruby-sdk/models/subscription_metric_usage_report_create.rb +266 -0
  396. data/lib/vrpayment-ruby-sdk/models/subscription_pending.rb +301 -0
  397. data/lib/vrpayment-ruby-sdk/models/subscription_period_bill.rb +291 -0
  398. data/lib/vrpayment-ruby-sdk/models/subscription_period_bill_state.rb +35 -0
  399. data/lib/vrpayment-ruby-sdk/models/subscription_product.rb +333 -0
  400. data/lib/vrpayment-ruby-sdk/models/subscription_product_active.rb +288 -0
  401. data/lib/vrpayment-ruby-sdk/models/subscription_product_component.rb +325 -0
  402. data/lib/vrpayment-ruby-sdk/models/subscription_product_component_group.rb +253 -0
  403. data/lib/vrpayment-ruby-sdk/models/subscription_product_component_group_update.rb +253 -0
  404. data/lib/vrpayment-ruby-sdk/models/subscription_product_component_reference.rb +281 -0
  405. data/lib/vrpayment-ruby-sdk/models/subscription_product_component_reference_state.rb +37 -0
  406. data/lib/vrpayment-ruby-sdk/models/subscription_product_component_update.rb +325 -0
  407. data/lib/vrpayment-ruby-sdk/models/subscription_product_create.rb +292 -0
  408. data/lib/vrpayment-ruby-sdk/models/subscription_product_retirement.rb +251 -0
  409. data/lib/vrpayment-ruby-sdk/models/subscription_product_retirement_create.rb +216 -0
  410. data/lib/vrpayment-ruby-sdk/models/subscription_product_state.rb +38 -0
  411. data/lib/vrpayment-ruby-sdk/models/subscription_product_version.rb +420 -0
  412. data/lib/vrpayment-ruby-sdk/models/subscription_product_version_pending.rb +315 -0
  413. data/lib/vrpayment-ruby-sdk/models/subscription_product_version_retirement.rb +251 -0
  414. data/lib/vrpayment-ruby-sdk/models/subscription_product_version_retirement_create.rb +216 -0
  415. data/lib/vrpayment-ruby-sdk/models/subscription_product_version_state.rb +38 -0
  416. data/lib/vrpayment-ruby-sdk/models/subscription_state.rb +41 -0
  417. data/lib/vrpayment-ruby-sdk/models/subscription_suspension.rb +336 -0
  418. data/lib/vrpayment-ruby-sdk/models/subscription_suspension_action.rb +35 -0
  419. data/lib/vrpayment-ruby-sdk/models/subscription_suspension_create.rb +251 -0
  420. data/lib/vrpayment-ruby-sdk/models/subscription_suspension_reason.rb +36 -0
  421. data/lib/vrpayment-ruby-sdk/models/subscription_suspension_running.rb +336 -0
  422. data/lib/vrpayment-ruby-sdk/models/subscription_suspension_state.rb +35 -0
  423. data/lib/vrpayment-ruby-sdk/models/subscription_update.rb +256 -0
  424. data/lib/vrpayment-ruby-sdk/models/subscription_update_request.rb +206 -0
  425. data/lib/vrpayment-ruby-sdk/models/subscription_version.rb +373 -0
  426. data/lib/vrpayment-ruby-sdk/models/subscription_version_state.rb +39 -0
  427. data/lib/vrpayment-ruby-sdk/models/tax.rb +225 -0
  428. data/lib/vrpayment-ruby-sdk/models/tax_calculation.rb +35 -0
  429. data/lib/vrpayment-ruby-sdk/models/tax_class.rb +256 -0
  430. data/lib/vrpayment-ruby-sdk/models/tax_create.rb +239 -0
  431. data/lib/vrpayment-ruby-sdk/models/tenant_database.rb +226 -0
  432. data/lib/vrpayment-ruby-sdk/models/terminal_receipt_fetch_request.rb +221 -0
  433. data/lib/vrpayment-ruby-sdk/models/terminal_receipt_format.rb +35 -0
  434. data/lib/vrpayment-ruby-sdk/models/token.rb +341 -0
  435. data/lib/vrpayment-ruby-sdk/models/token_create.rb +296 -0
  436. data/lib/vrpayment-ruby-sdk/models/token_update.rb +301 -0
  437. data/lib/vrpayment-ruby-sdk/models/token_version.rb +445 -0
  438. data/lib/vrpayment-ruby-sdk/models/token_version_state.rb +36 -0
  439. data/lib/vrpayment-ruby-sdk/models/token_version_type.rb +225 -0
  440. data/lib/vrpayment-ruby-sdk/models/tokenization_mode.rb +37 -0
  441. data/lib/vrpayment-ruby-sdk/models/tokenized_card_data.rb +221 -0
  442. data/lib/vrpayment-ruby-sdk/models/tokenized_card_data_create.rb +358 -0
  443. data/lib/vrpayment-ruby-sdk/models/transaction.rb +1021 -0
  444. data/lib/vrpayment-ruby-sdk/models/transaction_comment.rb +296 -0
  445. data/lib/vrpayment-ruby-sdk/models/transaction_comment_active.rb +236 -0
  446. data/lib/vrpayment-ruby-sdk/models/transaction_comment_create.rb +221 -0
  447. data/lib/vrpayment-ruby-sdk/models/transaction_completion.rb +553 -0
  448. data/lib/vrpayment-ruby-sdk/models/transaction_completion_behavior.rb +36 -0
  449. data/lib/vrpayment-ruby-sdk/models/transaction_completion_mode.rb +36 -0
  450. data/lib/vrpayment-ruby-sdk/models/transaction_completion_request.rb +316 -0
  451. data/lib/vrpayment-ruby-sdk/models/transaction_completion_state.rb +38 -0
  452. data/lib/vrpayment-ruby-sdk/models/transaction_create.rb +596 -0
  453. data/lib/vrpayment-ruby-sdk/models/transaction_environment_selection_strategy.rb +36 -0
  454. data/lib/vrpayment-ruby-sdk/models/transaction_group.rb +276 -0
  455. data/lib/vrpayment-ruby-sdk/models/transaction_group_state.rb +36 -0
  456. data/lib/vrpayment-ruby-sdk/models/transaction_invoice.rb +452 -0
  457. data/lib/vrpayment-ruby-sdk/models/transaction_invoice_comment.rb +296 -0
  458. data/lib/vrpayment-ruby-sdk/models/transaction_invoice_comment_active.rb +236 -0
  459. data/lib/vrpayment-ruby-sdk/models/transaction_invoice_comment_create.rb +221 -0
  460. data/lib/vrpayment-ruby-sdk/models/transaction_invoice_replacement.rb +296 -0
  461. data/lib/vrpayment-ruby-sdk/models/transaction_invoice_state.rb +40 -0
  462. data/lib/vrpayment-ruby-sdk/models/transaction_line_item_version.rb +405 -0
  463. data/lib/vrpayment-ruby-sdk/models/transaction_line_item_version_create.rb +228 -0
  464. data/lib/vrpayment-ruby-sdk/models/transaction_line_item_version_state.rb +38 -0
  465. data/lib/vrpayment-ruby-sdk/models/transaction_pending.rb +517 -0
  466. data/lib/vrpayment-ruby-sdk/models/transaction_state.rb +43 -0
  467. data/lib/vrpayment-ruby-sdk/models/transaction_user_interface_type.rb +38 -0
  468. data/lib/vrpayment-ruby-sdk/models/transaction_void.rb +373 -0
  469. data/lib/vrpayment-ruby-sdk/models/transaction_void_mode.rb +35 -0
  470. data/lib/vrpayment-ruby-sdk/models/transaction_void_state.rb +37 -0
  471. data/lib/vrpayment-ruby-sdk/models/two_factor_authentication_type.rb +235 -0
  472. data/lib/vrpayment-ruby-sdk/models/user.rb +241 -0
  473. data/lib/vrpayment-ruby-sdk/models/user_account_role.rb +241 -0
  474. data/lib/vrpayment-ruby-sdk/models/user_space_role.rb +231 -0
  475. data/lib/vrpayment-ruby-sdk/models/user_type.rb +38 -0
  476. data/lib/vrpayment-ruby-sdk/models/wallet_type.rb +215 -0
  477. data/lib/vrpayment-ruby-sdk/models/web_app_confirmation_request.rb +206 -0
  478. data/lib/vrpayment-ruby-sdk/models/web_app_confirmation_response.rb +231 -0
  479. data/lib/vrpayment-ruby-sdk/models/webhook_encryption_public_key.rb +201 -0
  480. data/lib/vrpayment-ruby-sdk/models/webhook_identity.rb +256 -0
  481. data/lib/vrpayment-ruby-sdk/models/webhook_listener.rb +318 -0
  482. data/lib/vrpayment-ruby-sdk/models/webhook_listener_create.rb +278 -0
  483. data/lib/vrpayment-ruby-sdk/models/webhook_listener_entity.rb +213 -0
  484. data/lib/vrpayment-ruby-sdk/models/webhook_listener_update.rb +268 -0
  485. data/lib/vrpayment-ruby-sdk/models/webhook_url.rb +300 -0
  486. data/lib/vrpayment-ruby-sdk/models/webhook_url_create.rb +250 -0
  487. data/lib/vrpayment-ruby-sdk/models/webhook_url_update.rb +280 -0
  488. data/lib/vrpayment-ruby-sdk/version.rb +20 -0
  489. data/lib/vrpayment-ruby-sdk.rb +522 -0
  490. data/test/constants.rb +82 -0
  491. data/test/encryption_util_test.rb +86 -0
  492. data/test/refund_service_test.rb +133 -0
  493. data/test/transaction_completion_service_test.rb +104 -0
  494. data/test/transaction_iframe_service_test.rb +25 -0
  495. data/test/transaction_lightbox_service_test.rb +25 -0
  496. data/test/transaction_payment_page_service_test.rb +25 -0
  497. data/test/transaction_service_test.rb +230 -0
  498. data/vendor/bundle/ruby/3.3.0/bin/rake +29 -0
  499. data/vendor/bundle/ruby/3.3.0/cache/addressable-2.8.7.gem +0 -0
  500. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.16.0.gem +0 -0
  501. data/vendor/bundle/ruby/3.3.0/cache/ffi-1.17.2-x86_64-linux-gnu.gem +0 -0
  502. data/vendor/bundle/ruby/3.3.0/cache/json-2.13.0.gem +0 -0
  503. data/vendor/bundle/ruby/3.3.0/cache/power_assert-2.0.5.gem +0 -0
  504. data/vendor/bundle/ruby/3.3.0/cache/public_suffix-6.0.2.gem +0 -0
  505. data/vendor/bundle/ruby/3.3.0/cache/rake-13.0.6.gem +0 -0
  506. data/vendor/bundle/ruby/3.3.0/cache/test-unit-3.3.9.gem +0 -0
  507. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.4.1.gem +0 -0
  508. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/gem.build_complete +0 -0
  509. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/gem_make.out +25 -0
  510. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/json/ext/generator.so +0 -0
  511. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/json/ext/parser.so +0 -0
  512. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/mkmf.log +164 -0
  513. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
  514. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/Gemfile +31 -0
  515. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
  516. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/README.md +121 -0
  517. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/Rakefile +37 -0
  518. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
  519. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/data/unicode.data +0 -0
  520. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable/idna/native.rb +66 -0
  521. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable/idna/pure.rb +505 -0
  522. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable/idna.rb +26 -0
  523. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable/template.rb +1029 -0
  524. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable/uri.rb +2602 -0
  525. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable/version.rb +31 -0
  526. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/lib/addressable.rb +4 -0
  527. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/spec/addressable/idna_spec.rb +302 -0
  528. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/spec/addressable/net_http_compat_spec.rb +29 -0
  529. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/spec/addressable/security_spec.rb +58 -0
  530. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/spec/addressable/template_spec.rb +1264 -0
  531. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/spec/addressable/uri_spec.rb +6840 -0
  532. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/spec/spec_helper.rb +33 -0
  533. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/clobber.rake +4 -0
  534. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/gem.rake +95 -0
  535. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/git.rake +47 -0
  536. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/metrics.rake +24 -0
  537. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/profile.rake +72 -0
  538. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/rspec.rake +23 -0
  539. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/tasks/yard.rake +29 -0
  540. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.github/workflows/ruby.yml +41 -0
  541. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.gitignore +8 -0
  542. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.rspec +3 -0
  543. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/CHANGELOG.md +375 -0
  544. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Gemfile +43 -0
  545. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Guardfile +10 -0
  546. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/LICENSE +20 -0
  547. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/README.md +118 -0
  548. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Rakefile +40 -0
  549. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/ethon.gemspec +26 -0
  550. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curl.rb +90 -0
  551. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/classes.rb +65 -0
  552. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/codes.rb +122 -0
  553. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/constants.rb +80 -0
  554. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/form_options.rb +37 -0
  555. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/functions.rb +58 -0
  556. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/infos.rb +151 -0
  557. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/messages.rb +19 -0
  558. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/options.rb +503 -0
  559. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/settings.rb +12 -0
  560. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/callbacks.rb +149 -0
  561. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/debug_info.rb +47 -0
  562. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/features.rb +31 -0
  563. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/form.rb +107 -0
  564. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/header.rb +61 -0
  565. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/actionable.rb +157 -0
  566. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/custom.rb +29 -0
  567. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/delete.rb +25 -0
  568. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/get.rb +24 -0
  569. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/head.rb +24 -0
  570. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/options.rb +24 -0
  571. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/patch.rb +24 -0
  572. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/post.rb +26 -0
  573. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/postable.rb +32 -0
  574. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/put.rb +27 -0
  575. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/putable.rb +25 -0
  576. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http.rb +68 -0
  577. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/informations.rb +116 -0
  578. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/mirror.rb +36 -0
  579. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/operations.rb +64 -0
  580. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/options.rb +50 -0
  581. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/params.rb +29 -0
  582. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/queryable.rb +154 -0
  583. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/response_callbacks.rb +136 -0
  584. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/util.rb +28 -0
  585. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy.rb +315 -0
  586. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/ethon_error.rb +9 -0
  587. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/global_init.rb +13 -0
  588. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/invalid_option.rb +13 -0
  589. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/invalid_value.rb +13 -0
  590. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_add.rb +12 -0
  591. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_fdset.rb +12 -0
  592. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_remove.rb +12 -0
  593. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_timeout.rb +13 -0
  594. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/select.rb +13 -0
  595. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors.rb +17 -0
  596. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/libc.rb +21 -0
  597. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/loggable.rb +59 -0
  598. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/operations.rb +228 -0
  599. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/options.rb +117 -0
  600. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/stack.rb +49 -0
  601. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi.rb +126 -0
  602. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/version.rb +6 -0
  603. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon.rb +36 -0
  604. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/benchmarks.rb +104 -0
  605. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/memory_leaks.rb +114 -0
  606. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb +37 -0
  607. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb +76 -0
  608. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb +48 -0
  609. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb +49 -0
  610. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb +38 -0
  611. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb +81 -0
  612. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb +54 -0
  613. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb +24 -0
  614. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb +104 -0
  615. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb +79 -0
  616. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb +177 -0
  617. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb +21 -0
  618. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb +126 -0
  619. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb +80 -0
  620. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb +51 -0
  621. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb +51 -0
  622. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb +317 -0
  623. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb +168 -0
  624. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb +64 -0
  625. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb +126 -0
  626. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb +47 -0
  627. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb +271 -0
  628. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb +193 -0
  629. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb +235 -0
  630. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb +152 -0
  631. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb +28 -0
  632. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb +203 -0
  633. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb +14 -0
  634. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb +22 -0
  635. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb +298 -0
  636. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb +182 -0
  637. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb +80 -0
  638. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb +152 -0
  639. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/spec_helper.rb +28 -0
  640. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/localhost_server.rb +95 -0
  641. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/server.rb +115 -0
  642. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/CHANGELOG.md +473 -0
  643. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/COPYING +49 -0
  644. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/Gemfile +23 -0
  645. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/LICENSE +24 -0
  646. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/LICENSE.SPECS +22 -0
  647. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/README.md +137 -0
  648. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/Rakefile +206 -0
  649. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/ffi.gemspec +42 -0
  650. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/2.5/ffi_c.so +0 -0
  651. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/2.6/ffi_c.so +0 -0
  652. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/2.7/ffi_c.so +0 -0
  653. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/3.0/ffi_c.so +0 -0
  654. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/3.1/ffi_c.so +0 -0
  655. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/3.2/ffi_c.so +0 -0
  656. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/3.3/ffi_c.so +0 -0
  657. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/3.4/ffi_c.so +0 -0
  658. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/abstract_memory.rb +44 -0
  659. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/autopointer.rb +180 -0
  660. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/buffer.rb +4 -0
  661. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/callback.rb +4 -0
  662. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/compat.rb +43 -0
  663. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/data_converter.rb +67 -0
  664. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/dynamic_library.rb +118 -0
  665. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/enum.rb +302 -0
  666. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/errno.rb +43 -0
  667. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/ffi.rb +109 -0
  668. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/function.rb +71 -0
  669. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/io.rb +62 -0
  670. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/library.rb +576 -0
  671. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/library_path.rb +109 -0
  672. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/managedstruct.rb +84 -0
  673. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/memorypointer.rb +1 -0
  674. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  675. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  676. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/aarch64-freebsd12/types.conf +181 -0
  677. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/aarch64-linux/types.conf +175 -0
  678. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  679. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  680. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  681. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  682. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/arm-linux/types.conf +132 -0
  683. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  684. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  685. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  686. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-darwin/types.conf +100 -0
  687. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  688. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  689. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-gnu/types.conf +107 -0
  690. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-linux/types.conf +103 -0
  691. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  692. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  693. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-solaris/types.conf +122 -0
  694. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/i386-windows/types.conf +52 -0
  695. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/ia64-linux/types.conf +104 -0
  696. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  697. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mips-linux/types.conf +102 -0
  698. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mips64-linux/types.conf +104 -0
  699. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  700. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  701. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  702. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  703. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  704. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  705. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  706. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  707. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/powerpc-linux/types.conf +130 -0
  708. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  709. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  710. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  711. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  712. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/s390-linux/types.conf +102 -0
  713. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/s390x-linux/types.conf +102 -0
  714. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/sparc-linux/types.conf +102 -0
  715. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  716. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/sparcv9-linux/types.conf +102 -0
  717. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  718. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  719. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  720. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  721. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-darwin/types.conf +130 -0
  722. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-dragonflybsd/types.conf +130 -0
  723. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  724. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  725. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  726. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-linux/types.conf +132 -0
  727. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  728. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  729. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  730. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  731. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform/x86_64-windows/types.conf +52 -0
  732. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/platform.rb +187 -0
  733. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/pointer.rb +167 -0
  734. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/struct.rb +317 -0
  735. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/struct_by_reference.rb +72 -0
  736. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/struct_layout.rb +96 -0
  737. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/struct_layout_builder.rb +227 -0
  738. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/tools/const_generator.rb +232 -0
  739. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/tools/generator.rb +105 -0
  740. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/tools/generator_task.rb +32 -0
  741. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/tools/struct_generator.rb +195 -0
  742. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/tools/types_generator.rb +137 -0
  743. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/types.rb +222 -0
  744. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/union.rb +43 -0
  745. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/variadic.rb +80 -0
  746. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi/version.rb +3 -0
  747. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/lib/ffi.rb +27 -0
  748. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/rakelib/ffi_gem_helper.rb +65 -0
  749. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/getlogin.rb +8 -0
  750. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/getpid.rb +8 -0
  751. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/gettimeofday.rb +18 -0
  752. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/hello.rb +8 -0
  753. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/hello_ractor.rb +11 -0
  754. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/inotify.rb +60 -0
  755. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/pty.rb +75 -0
  756. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/qsort.rb +20 -0
  757. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/samples/qsort_ractor.rb +28 -0
  758. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/abstract_memory.rbs +165 -0
  759. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/auto_pointer.rbs +26 -0
  760. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/buffer.rbs +18 -0
  761. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/data_converter.rbs +10 -0
  762. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/dynamic_library.rbs +9 -0
  763. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/enum.rbs +38 -0
  764. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/function.rbs +39 -0
  765. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/library.rbs +42 -0
  766. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/native_type.rbs +86 -0
  767. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/pointer.rbs +42 -0
  768. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/struct.rbs +76 -0
  769. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/struct_by_reference.rbs +11 -0
  770. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/struct_by_value.rbs +7 -0
  771. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/struct_layout.rbs +9 -0
  772. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/struct_layout_builder.rbs +5 -0
  773. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi/type.rbs +39 -0
  774. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.2-x86_64-linux-gnu/sig/ffi.rbs +26 -0
  775. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/BSDL +22 -0
  776. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/CHANGES.md +652 -0
  777. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/COPYING +56 -0
  778. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/LEGAL +8 -0
  779. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/README.md +281 -0
  780. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/fbuffer/fbuffer.h +270 -0
  781. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/generator/Makefile +269 -0
  782. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/generator/extconf.rb +16 -0
  783. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/generator/generator.c +2139 -0
  784. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser/Makefile +269 -0
  785. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser/extconf.rb +15 -0
  786. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser/parser.c +1507 -0
  787. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/simd/conf.rb +20 -0
  788. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/simd/simd.h +187 -0
  789. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/vendor/fpconv.c +479 -0
  790. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/vendor/jeaiii-ltoa.h +267 -0
  791. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/json.gemspec +62 -0
  792. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/bigdecimal.rb +58 -0
  793. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/complex.rb +51 -0
  794. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/core.rb +12 -0
  795. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/date.rb +54 -0
  796. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/date_time.rb +67 -0
  797. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/exception.rb +49 -0
  798. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/ostruct.rb +54 -0
  799. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/range.rb +54 -0
  800. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/rational.rb +49 -0
  801. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/regexp.rb +48 -0
  802. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/set.rb +48 -0
  803. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/struct.rb +52 -0
  804. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/symbol.rb +52 -0
  805. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/add/time.rb +52 -0
  806. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/common.rb +1104 -0
  807. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/generator/state.rb +106 -0
  808. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/generator.so +0 -0
  809. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/parser.so +0 -0
  810. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext.rb +45 -0
  811. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/generic_object.rb +75 -0
  812. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/truffle_ruby/generator.rb +690 -0
  813. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/version.rb +5 -0
  814. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json.rb +620 -0
  815. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/.github/dependabot.yml +6 -0
  816. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/.github/workflows/ci.yml +46 -0
  817. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/.gitignore +9 -0
  818. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/BSDL +22 -0
  819. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/COPYING +57 -0
  820. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/Gemfile +19 -0
  821. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/LEGAL +4 -0
  822. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/README.md +98 -0
  823. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/Rakefile +59 -0
  824. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/colorize.rb +7 -0
  825. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/configuration.rb +46 -0
  826. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/context.rb +233 -0
  827. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/enable_tracepoint_events.rb +62 -0
  828. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/inspector.rb +66 -0
  829. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/parser.rb +251 -0
  830. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert/version.rb +3 -0
  831. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/lib/power_assert.rb +93 -0
  832. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.5/power_assert.gemspec +24 -0
  833. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/.yardopts +1 -0
  834. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/CHANGELOG.md +498 -0
  835. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/LICENSE.txt +22 -0
  836. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/README.md +222 -0
  837. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/SECURITY.md +24 -0
  838. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/data/list.txt +15791 -0
  839. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/lib/public_suffix/domain.rb +235 -0
  840. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/lib/public_suffix/errors.rb +41 -0
  841. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/lib/public_suffix/list.rb +247 -0
  842. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/lib/public_suffix/rule.rb +350 -0
  843. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/lib/public_suffix/version.rb +14 -0
  844. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.2/lib/public_suffix.rb +177 -0
  845. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/History.rdoc +2403 -0
  846. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/MIT-LICENSE +21 -0
  847. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/README.rdoc +155 -0
  848. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/command_line_usage.rdoc +158 -0
  849. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/example/Rakefile1 +38 -0
  850. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/example/Rakefile2 +35 -0
  851. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/example/a.c +6 -0
  852. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/example/b.c +6 -0
  853. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/example/main.c +11 -0
  854. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/glossary.rdoc +42 -0
  855. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
  856. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/proto_rake.rdoc +127 -0
  857. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/rake.1 +156 -0
  858. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/rakefile.rdoc +622 -0
  859. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/doc/rational.rdoc +151 -0
  860. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/exe/rake +27 -0
  861. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
  862. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
  863. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
  864. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
  865. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
  866. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
  867. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
  868. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
  869. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
  870. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
  871. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
  872. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
  873. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
  874. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
  875. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
  876. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
  877. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
  878. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
  879. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
  880. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
  881. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
  882. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
  883. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
  884. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
  885. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
  886. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
  887. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
  888. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
  889. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
  890. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
  891. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
  892. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
  893. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
  894. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
  895. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
  896. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
  897. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
  898. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
  899. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
  900. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
  901. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
  902. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
  903. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/lib/rake.rb +71 -0
  904. data/vendor/bundle/ruby/3.3.0/gems/rake-13.0.6/rake.gemspec +100 -0
  905. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/BSDL +24 -0
  906. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/COPYING +64 -0
  907. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/PSFL +271 -0
  908. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/README.md +97 -0
  909. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/Rakefile +66 -0
  910. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/doc/text/getting-started.md +246 -0
  911. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/doc/text/how-to.md +90 -0
  912. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/doc/text/news.md +1533 -0
  913. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/assertion-failed-error.rb +25 -0
  914. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/assertions.rb +2256 -0
  915. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/attribute-matcher.rb +26 -0
  916. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/attribute.rb +227 -0
  917. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/auto-runner-loader.rb +17 -0
  918. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/autorunner.rb +569 -0
  919. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/code-snippet-fetcher.rb +58 -0
  920. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/collector/descendant.rb +19 -0
  921. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/collector/dir.rb +108 -0
  922. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/collector/load.rb +197 -0
  923. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/collector/objectspace.rb +34 -0
  924. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/collector/xml.rb +249 -0
  925. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/collector.rb +73 -0
  926. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/color-scheme.rb +216 -0
  927. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/color.rb +134 -0
  928. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/data-sets.rb +116 -0
  929. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/data.rb +371 -0
  930. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/diff.rb +745 -0
  931. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/error.rb +158 -0
  932. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/exception-handler.rb +82 -0
  933. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/failure.rb +169 -0
  934. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/fault-location-detector.rb +100 -0
  935. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/fixture.rb +298 -0
  936. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/notification.rb +138 -0
  937. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/omission.rb +198 -0
  938. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/pending.rb +155 -0
  939. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/priority.rb +196 -0
  940. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/runner/console.rb +67 -0
  941. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/runner/emacs.rb +8 -0
  942. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/runner/xml.rb +15 -0
  943. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/test-suite-creator.rb +103 -0
  944. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/testcase.rb +899 -0
  945. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/testresult.rb +132 -0
  946. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/testsuite.rb +175 -0
  947. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/console/outputlevel.rb +15 -0
  948. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/console/testrunner.rb +733 -0
  949. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  950. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/testrunner.rb +53 -0
  951. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/testrunnermediator.rb +114 -0
  952. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  953. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/ui/xml/testrunner.rb +224 -0
  954. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/util/backtracefilter.rb +59 -0
  955. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/util/method-owner-finder.rb +28 -0
  956. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/util/observable.rb +90 -0
  957. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/util/output.rb +32 -0
  958. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/util/procwrapper.rb +48 -0
  959. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit/version.rb +5 -0
  960. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test/unit.rb +519 -0
  961. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/lib/test-unit.rb +17 -0
  962. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/sample/adder.rb +13 -0
  963. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/sample/subtracter.rb +12 -0
  964. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/sample/test_adder.rb +20 -0
  965. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/sample/test_subtracter.rb +20 -0
  966. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/sample/test_user.rb +23 -0
  967. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/collector/test-descendant.rb +182 -0
  968. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/collector/test-load.rb +475 -0
  969. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/collector/test_dir.rb +407 -0
  970. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/collector/test_objectspace.rb +102 -0
  971. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/header-label.csv +3 -0
  972. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/header-label.tsv +3 -0
  973. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/header.csv +3 -0
  974. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/header.tsv +3 -0
  975. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/no-header.csv +2 -0
  976. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/no-header.tsv +2 -0
  977. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/fixtures/plus.csv +3 -0
  978. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/run-test.rb +22 -0
  979. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-assertions.rb +2187 -0
  980. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-attribute-matcher.rb +38 -0
  981. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-attribute.rb +123 -0
  982. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-code-snippet.rb +79 -0
  983. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-color-scheme.rb +123 -0
  984. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-color.rb +47 -0
  985. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-data.rb +419 -0
  986. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-diff.rb +518 -0
  987. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-emacs-runner.rb +60 -0
  988. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-error.rb +26 -0
  989. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-failure.rb +33 -0
  990. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-fault-location-detector.rb +163 -0
  991. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-fixture.rb +713 -0
  992. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-notification.rb +33 -0
  993. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-omission.rb +81 -0
  994. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-pending.rb +70 -0
  995. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-priority.rb +184 -0
  996. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-test-case.rb +1284 -0
  997. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-test-result.rb +113 -0
  998. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-test-suite-creator.rb +97 -0
  999. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/test-test-suite.rb +151 -0
  1000. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/testunit-test-util.rb +33 -0
  1001. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/ui/test_testrunmediator.rb +20 -0
  1002. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/util/test-method-owner-finder.rb +38 -0
  1003. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/util/test-output.rb +11 -0
  1004. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/util/test_backtracefilter.rb +52 -0
  1005. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/util/test_observable.rb +102 -0
  1006. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.3.9/test/util/test_procwrapper.rb +36 -0
  1007. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +30 -0
  1008. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +33 -0
  1009. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.gitignore +8 -0
  1010. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.rspec +4 -0
  1011. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/CHANGELOG.md +410 -0
  1012. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/CONTRIBUTING.md +20 -0
  1013. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +36 -0
  1014. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Guardfile +9 -0
  1015. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/LICENSE +22 -0
  1016. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/README.md +588 -0
  1017. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Rakefile +38 -0
  1018. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/UPGRADE.md +55 -0
  1019. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +76 -0
  1020. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus/middleware/params_decoder.rb +57 -0
  1021. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus.rb +1 -0
  1022. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/adapters/faraday.rb +180 -0
  1023. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/dalli.rb +28 -0
  1024. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/rails.rb +28 -0
  1025. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/redis.rb +35 -0
  1026. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/config.rb +85 -0
  1027. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/easy_factory.rb +206 -0
  1028. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors/no_stub.rb +12 -0
  1029. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors/typhoeus_error.rb +8 -0
  1030. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors.rb +9 -0
  1031. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/expectation.rb +217 -0
  1032. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/addable.rb +23 -0
  1033. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/before.rb +31 -0
  1034. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/block_connection.rb +35 -0
  1035. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/cacheable.rb +15 -0
  1036. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/memoizable.rb +56 -0
  1037. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/queueable.rb +83 -0
  1038. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/runnable.rb +19 -0
  1039. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/stubbable.rb +28 -0
  1040. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra.rb +95 -0
  1041. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/pool.rb +70 -0
  1042. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/railtie.rb +12 -0
  1043. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/actions.rb +125 -0
  1044. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/before.rb +30 -0
  1045. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/block_connection.rb +52 -0
  1046. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/cacheable.rb +38 -0
  1047. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/callbacks.rb +151 -0
  1048. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/marshal.rb +22 -0
  1049. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/memoizable.rb +38 -0
  1050. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/operations.rb +40 -0
  1051. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/responseable.rb +29 -0
  1052. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/streamable.rb +34 -0
  1053. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/stubbable.rb +30 -0
  1054. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request.rb +223 -0
  1055. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/cacheable.rb +14 -0
  1056. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/header.rb +105 -0
  1057. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/informations.rb +305 -0
  1058. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/status.rb +106 -0
  1059. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response.rb +68 -0
  1060. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/version.rb +5 -0
  1061. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus.rb +143 -0
  1062. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +14 -0
  1063. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +64 -0
  1064. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +156 -0
  1065. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +31 -0
  1066. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +29 -0
  1067. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/localhost_server.rb +94 -0
  1068. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +15 -0
  1069. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/server.rb +116 -0
  1070. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +339 -0
  1071. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +41 -0
  1072. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +41 -0
  1073. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +15 -0
  1074. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +143 -0
  1075. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +13 -0
  1076. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +280 -0
  1077. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +22 -0
  1078. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +98 -0
  1079. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +18 -0
  1080. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +88 -0
  1081. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +53 -0
  1082. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +98 -0
  1083. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +137 -0
  1084. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +48 -0
  1085. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +22 -0
  1086. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +137 -0
  1087. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +19 -0
  1088. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +93 -0
  1089. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +75 -0
  1090. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +94 -0
  1091. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +91 -0
  1092. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +60 -0
  1093. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +34 -0
  1094. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +101 -0
  1095. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +13 -0
  1096. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +45 -0
  1097. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +256 -0
  1098. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +147 -0
  1099. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +323 -0
  1100. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +256 -0
  1101. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +100 -0
  1102. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +105 -0
  1103. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/typhoeus.gemspec +25 -0
  1104. data/vendor/bundle/ruby/3.3.0/specifications/addressable-2.8.7.gemspec +30 -0
  1105. data/vendor/bundle/ruby/3.3.0/specifications/ethon-0.16.0.gemspec +24 -0
  1106. data/vendor/bundle/ruby/3.3.0/specifications/ffi-1.17.2-x86_64-linux-gnu.gemspec +31 -0
  1107. data/vendor/bundle/ruby/3.3.0/specifications/json-2.13.0.gemspec +0 -0
  1108. data/vendor/bundle/ruby/3.3.0/specifications/power_assert-2.0.5.gemspec +24 -0
  1109. data/vendor/bundle/ruby/3.3.0/specifications/public_suffix-6.0.2.gemspec +24 -0
  1110. data/vendor/bundle/ruby/3.3.0/specifications/rake-13.0.6.gemspec +26 -0
  1111. data/vendor/bundle/ruby/3.3.0/specifications/test-unit-3.3.9.gemspec +30 -0
  1112. data/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.4.1.gemspec +24 -0
  1113. data/vrpayment-ruby-sdk.gemspec +44 -0
  1114. metadata +1224 -0
@@ -0,0 +1,1029 @@
1
+ # frozen_string_literal: true
2
+
3
+ #--
4
+ # Copyright (C) Bob Aman
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #++
18
+
19
+
20
+ require "addressable/version"
21
+ require "addressable/uri"
22
+
23
+ module Addressable
24
+ ##
25
+ # This is an implementation of a URI template based on
26
+ # RFC 6570 (http://tools.ietf.org/html/rfc6570).
27
+ class Template
28
+ # Constants used throughout the template code.
29
+ anything =
30
+ Addressable::URI::CharacterClasses::RESERVED +
31
+ Addressable::URI::CharacterClasses::UNRESERVED
32
+
33
+
34
+ variable_char_class =
35
+ Addressable::URI::CharacterClasses::ALPHA +
36
+ Addressable::URI::CharacterClasses::DIGIT + '_'
37
+
38
+ var_char =
39
+ "(?>(?:[#{variable_char_class}]|%[a-fA-F0-9][a-fA-F0-9])+)"
40
+ RESERVED =
41
+ "(?:[#{anything}]|%[a-fA-F0-9][a-fA-F0-9])"
42
+ UNRESERVED =
43
+ "(?:[#{
44
+ Addressable::URI::CharacterClasses::UNRESERVED
45
+ }]|%[a-fA-F0-9][a-fA-F0-9])"
46
+ variable =
47
+ "(?:#{var_char}(?:\\.?#{var_char})*)"
48
+ varspec =
49
+ "(?:(#{variable})(\\*|:\\d+)?)"
50
+ VARNAME =
51
+ /^#{variable}$/
52
+ VARSPEC =
53
+ /^#{varspec}$/
54
+ VARIABLE_LIST =
55
+ /^#{varspec}(?:,#{varspec})*$/
56
+ operator =
57
+ "+#./;?&=,!@|"
58
+ EXPRESSION =
59
+ /\{([#{operator}])?(#{varspec}(?:,#{varspec})*)\}/
60
+
61
+
62
+ LEADERS = {
63
+ '?' => '?',
64
+ '/' => '/',
65
+ '#' => '#',
66
+ '.' => '.',
67
+ ';' => ';',
68
+ '&' => '&'
69
+ }
70
+ JOINERS = {
71
+ '?' => '&',
72
+ '.' => '.',
73
+ ';' => ';',
74
+ '&' => '&',
75
+ '/' => '/'
76
+ }
77
+
78
+ ##
79
+ # Raised if an invalid template value is supplied.
80
+ class InvalidTemplateValueError < StandardError
81
+ end
82
+
83
+ ##
84
+ # Raised if an invalid template operator is used in a pattern.
85
+ class InvalidTemplateOperatorError < StandardError
86
+ end
87
+
88
+ ##
89
+ # Raised if an invalid template operator is used in a pattern.
90
+ class TemplateOperatorAbortedError < StandardError
91
+ end
92
+
93
+ ##
94
+ # This class represents the data that is extracted when a Template
95
+ # is matched against a URI.
96
+ class MatchData
97
+ ##
98
+ # Creates a new MatchData object.
99
+ # MatchData objects should never be instantiated directly.
100
+ #
101
+ # @param [Addressable::URI] uri
102
+ # The URI that the template was matched against.
103
+ def initialize(uri, template, mapping)
104
+ @uri = uri.dup.freeze
105
+ @template = template
106
+ @mapping = mapping.dup.freeze
107
+ end
108
+
109
+ ##
110
+ # @return [Addressable::URI]
111
+ # The URI that the Template was matched against.
112
+ attr_reader :uri
113
+
114
+ ##
115
+ # @return [Addressable::Template]
116
+ # The Template used for the match.
117
+ attr_reader :template
118
+
119
+ ##
120
+ # @return [Hash]
121
+ # The mapping that resulted from the match.
122
+ # Note that this mapping does not include keys or values for
123
+ # variables that appear in the Template, but are not present
124
+ # in the URI.
125
+ attr_reader :mapping
126
+
127
+ ##
128
+ # @return [Array]
129
+ # The list of variables that were present in the Template.
130
+ # Note that this list will include variables which do not appear
131
+ # in the mapping because they were not present in URI.
132
+ def variables
133
+ self.template.variables
134
+ end
135
+ alias_method :keys, :variables
136
+ alias_method :names, :variables
137
+
138
+ ##
139
+ # @return [Array]
140
+ # The list of values that were captured by the Template.
141
+ # Note that this list will include nils for any variables which
142
+ # were in the Template, but did not appear in the URI.
143
+ def values
144
+ @values ||= self.variables.inject([]) do |accu, key|
145
+ accu << self.mapping[key]
146
+ accu
147
+ end
148
+ end
149
+ alias_method :captures, :values
150
+
151
+ ##
152
+ # Accesses captured values by name or by index.
153
+ #
154
+ # @param [String, Symbol, Fixnum] key
155
+ # Capture index or name. Note that when accessing by with index
156
+ # of 0, the full URI will be returned. The intention is to mimic
157
+ # the ::MatchData#[] behavior.
158
+ #
159
+ # @param [#to_int, nil] len
160
+ # If provided, an array of values will be returned with the given
161
+ # parameter used as length.
162
+ #
163
+ # @return [Array, String, nil]
164
+ # The captured value corresponding to the index or name. If the
165
+ # value was not provided or the key is unknown, nil will be
166
+ # returned.
167
+ #
168
+ # If the second parameter is provided, an array of that length will
169
+ # be returned instead.
170
+ def [](key, len = nil)
171
+ if len
172
+ to_a[key, len]
173
+ elsif String === key or Symbol === key
174
+ mapping[key.to_s]
175
+ else
176
+ to_a[key]
177
+ end
178
+ end
179
+
180
+ ##
181
+ # @return [Array]
182
+ # Array with the matched URI as first element followed by the captured
183
+ # values.
184
+ def to_a
185
+ [to_s, *values]
186
+ end
187
+
188
+ ##
189
+ # @return [String]
190
+ # The matched URI as String.
191
+ def to_s
192
+ uri.to_s
193
+ end
194
+ alias_method :string, :to_s
195
+
196
+ # Returns multiple captured values at once.
197
+ #
198
+ # @param [String, Symbol, Fixnum] *indexes
199
+ # Indices of the captures to be returned
200
+ #
201
+ # @return [Array]
202
+ # Values corresponding to given indices.
203
+ #
204
+ # @see Addressable::Template::MatchData#[]
205
+ def values_at(*indexes)
206
+ indexes.map { |i| self[i] }
207
+ end
208
+
209
+ ##
210
+ # Returns a <tt>String</tt> representation of the MatchData's state.
211
+ #
212
+ # @return [String] The MatchData's state, as a <tt>String</tt>.
213
+ def inspect
214
+ sprintf("#<%s:%#0x RESULT:%s>",
215
+ self.class.to_s, self.object_id, self.mapping.inspect)
216
+ end
217
+
218
+ ##
219
+ # Dummy method for code expecting a ::MatchData instance
220
+ #
221
+ # @return [String] An empty string.
222
+ def pre_match
223
+ ""
224
+ end
225
+ alias_method :post_match, :pre_match
226
+ end
227
+
228
+ ##
229
+ # Creates a new <tt>Addressable::Template</tt> object.
230
+ #
231
+ # @param [#to_str] pattern The URI Template pattern.
232
+ #
233
+ # @return [Addressable::Template] The initialized Template object.
234
+ def initialize(pattern)
235
+ if !pattern.respond_to?(:to_str)
236
+ raise TypeError, "Can't convert #{pattern.class} into String."
237
+ end
238
+ @pattern = pattern.to_str.dup.freeze
239
+ end
240
+
241
+ ##
242
+ # Freeze URI, initializing instance variables.
243
+ #
244
+ # @return [Addressable::URI] The frozen URI object.
245
+ def freeze
246
+ self.variables
247
+ self.variable_defaults
248
+ self.named_captures
249
+ super
250
+ end
251
+
252
+ ##
253
+ # @return [String] The Template object's pattern.
254
+ attr_reader :pattern
255
+
256
+ ##
257
+ # Returns a <tt>String</tt> representation of the Template object's state.
258
+ #
259
+ # @return [String] The Template object's state, as a <tt>String</tt>.
260
+ def inspect
261
+ sprintf("#<%s:%#0x PATTERN:%s>",
262
+ self.class.to_s, self.object_id, self.pattern)
263
+ end
264
+
265
+ ##
266
+ # Returns <code>true</code> if the Template objects are equal. This method
267
+ # does NOT normalize either Template before doing the comparison.
268
+ #
269
+ # @param [Object] template The Template to compare.
270
+ #
271
+ # @return [TrueClass, FalseClass]
272
+ # <code>true</code> if the Templates are equivalent, <code>false</code>
273
+ # otherwise.
274
+ def ==(template)
275
+ return false unless template.kind_of?(Template)
276
+ return self.pattern == template.pattern
277
+ end
278
+
279
+ ##
280
+ # Addressable::Template makes no distinction between `==` and `eql?`.
281
+ #
282
+ # @see #==
283
+ alias_method :eql?, :==
284
+
285
+ ##
286
+ # Extracts a mapping from the URI using a URI Template pattern.
287
+ #
288
+ # @param [Addressable::URI, #to_str] uri
289
+ # The URI to extract from.
290
+ #
291
+ # @param [#restore, #match] processor
292
+ # A template processor object may optionally be supplied.
293
+ #
294
+ # The object should respond to either the <tt>restore</tt> or
295
+ # <tt>match</tt> messages or both. The <tt>restore</tt> method should
296
+ # take two parameters: `[String] name` and `[String] value`.
297
+ # The <tt>restore</tt> method should reverse any transformations that
298
+ # have been performed on the value to ensure a valid URI.
299
+ # The <tt>match</tt> method should take a single
300
+ # parameter: `[String] name`. The <tt>match</tt> method should return
301
+ # a <tt>String</tt> containing a regular expression capture group for
302
+ # matching on that particular variable. The default value is `".*?"`.
303
+ # The <tt>match</tt> method has no effect on multivariate operator
304
+ # expansions.
305
+ #
306
+ # @return [Hash, NilClass]
307
+ # The <tt>Hash</tt> mapping that was extracted from the URI, or
308
+ # <tt>nil</tt> if the URI didn't match the template.
309
+ #
310
+ # @example
311
+ # class ExampleProcessor
312
+ # def self.restore(name, value)
313
+ # return value.gsub(/\+/, " ") if name == "query"
314
+ # return value
315
+ # end
316
+ #
317
+ # def self.match(name)
318
+ # return ".*?" if name == "first"
319
+ # return ".*"
320
+ # end
321
+ # end
322
+ #
323
+ # uri = Addressable::URI.parse(
324
+ # "http://example.com/search/an+example+search+query/"
325
+ # )
326
+ # Addressable::Template.new(
327
+ # "http://example.com/search/{query}/"
328
+ # ).extract(uri, ExampleProcessor)
329
+ # #=> {"query" => "an example search query"}
330
+ #
331
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
332
+ # Addressable::Template.new(
333
+ # "http://example.com/{first}/{second}/"
334
+ # ).extract(uri, ExampleProcessor)
335
+ # #=> {"first" => "a", "second" => "b/c"}
336
+ #
337
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
338
+ # Addressable::Template.new(
339
+ # "http://example.com/{first}/{-list|/|second}/"
340
+ # ).extract(uri)
341
+ # #=> {"first" => "a", "second" => ["b", "c"]}
342
+ def extract(uri, processor=nil)
343
+ match_data = self.match(uri, processor)
344
+ return (match_data ? match_data.mapping : nil)
345
+ end
346
+
347
+ ##
348
+ # Extracts match data from the URI using a URI Template pattern.
349
+ #
350
+ # @param [Addressable::URI, #to_str] uri
351
+ # The URI to extract from.
352
+ #
353
+ # @param [#restore, #match] processor
354
+ # A template processor object may optionally be supplied.
355
+ #
356
+ # The object should respond to either the <tt>restore</tt> or
357
+ # <tt>match</tt> messages or both. The <tt>restore</tt> method should
358
+ # take two parameters: `[String] name` and `[String] value`.
359
+ # The <tt>restore</tt> method should reverse any transformations that
360
+ # have been performed on the value to ensure a valid URI.
361
+ # The <tt>match</tt> method should take a single
362
+ # parameter: `[String] name`. The <tt>match</tt> method should return
363
+ # a <tt>String</tt> containing a regular expression capture group for
364
+ # matching on that particular variable. The default value is `".*?"`.
365
+ # The <tt>match</tt> method has no effect on multivariate operator
366
+ # expansions.
367
+ #
368
+ # @return [Hash, NilClass]
369
+ # The <tt>Hash</tt> mapping that was extracted from the URI, or
370
+ # <tt>nil</tt> if the URI didn't match the template.
371
+ #
372
+ # @example
373
+ # class ExampleProcessor
374
+ # def self.restore(name, value)
375
+ # return value.gsub(/\+/, " ") if name == "query"
376
+ # return value
377
+ # end
378
+ #
379
+ # def self.match(name)
380
+ # return ".*?" if name == "first"
381
+ # return ".*"
382
+ # end
383
+ # end
384
+ #
385
+ # uri = Addressable::URI.parse(
386
+ # "http://example.com/search/an+example+search+query/"
387
+ # )
388
+ # match = Addressable::Template.new(
389
+ # "http://example.com/search/{query}/"
390
+ # ).match(uri, ExampleProcessor)
391
+ # match.variables
392
+ # #=> ["query"]
393
+ # match.captures
394
+ # #=> ["an example search query"]
395
+ #
396
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
397
+ # match = Addressable::Template.new(
398
+ # "http://example.com/{first}/{+second}/"
399
+ # ).match(uri, ExampleProcessor)
400
+ # match.variables
401
+ # #=> ["first", "second"]
402
+ # match.captures
403
+ # #=> ["a", "b/c"]
404
+ #
405
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
406
+ # match = Addressable::Template.new(
407
+ # "http://example.com/{first}{/second*}/"
408
+ # ).match(uri)
409
+ # match.variables
410
+ # #=> ["first", "second"]
411
+ # match.captures
412
+ # #=> ["a", ["b", "c"]]
413
+ def match(uri, processor=nil)
414
+ uri = Addressable::URI.parse(uri) unless uri.is_a?(Addressable::URI)
415
+ mapping = {}
416
+
417
+ # First, we need to process the pattern, and extract the values.
418
+ expansions, expansion_regexp =
419
+ parse_template_pattern(pattern, processor)
420
+
421
+ return nil unless uri.to_str.match(expansion_regexp)
422
+ unparsed_values = uri.to_str.scan(expansion_regexp).flatten
423
+
424
+ if uri.to_str == pattern
425
+ return Addressable::Template::MatchData.new(uri, self, mapping)
426
+ elsif expansions.size > 0
427
+ index = 0
428
+ expansions.each do |expansion|
429
+ _, operator, varlist = *expansion.match(EXPRESSION)
430
+ varlist.split(',').each do |varspec|
431
+ _, name, modifier = *varspec.match(VARSPEC)
432
+ mapping[name] ||= nil
433
+ case operator
434
+ when nil, '+', '#', '/', '.'
435
+ unparsed_value = unparsed_values[index]
436
+ name = varspec[VARSPEC, 1]
437
+ value = unparsed_value
438
+ value = value.split(JOINERS[operator]) if value && modifier == '*'
439
+ when ';', '?', '&'
440
+ if modifier == '*'
441
+ if unparsed_values[index]
442
+ value = unparsed_values[index].split(JOINERS[operator])
443
+ value = value.inject({}) do |acc, v|
444
+ key, val = v.split('=')
445
+ val = "" if val.nil?
446
+ acc[key] = val
447
+ acc
448
+ end
449
+ end
450
+ else
451
+ if (unparsed_values[index])
452
+ name, value = unparsed_values[index].split('=')
453
+ value = "" if value.nil?
454
+ end
455
+ end
456
+ end
457
+ if processor != nil && processor.respond_to?(:restore)
458
+ value = processor.restore(name, value)
459
+ end
460
+ if processor == nil
461
+ if value.is_a?(Hash)
462
+ value = value.inject({}){|acc, (k, v)|
463
+ acc[Addressable::URI.unencode_component(k)] =
464
+ Addressable::URI.unencode_component(v)
465
+ acc
466
+ }
467
+ elsif value.is_a?(Array)
468
+ value = value.map{|v| Addressable::URI.unencode_component(v) }
469
+ else
470
+ value = Addressable::URI.unencode_component(value)
471
+ end
472
+ end
473
+ if !mapping.has_key?(name) || mapping[name].nil?
474
+ # Doesn't exist, set to value (even if value is nil)
475
+ mapping[name] = value
476
+ end
477
+ index = index + 1
478
+ end
479
+ end
480
+ return Addressable::Template::MatchData.new(uri, self, mapping)
481
+ else
482
+ return nil
483
+ end
484
+ end
485
+
486
+ ##
487
+ # Expands a URI template into another URI template.
488
+ #
489
+ # @param [Hash] mapping The mapping that corresponds to the pattern.
490
+ # @param [#validate, #transform] processor
491
+ # An optional processor object may be supplied.
492
+ # @param [Boolean] normalize_values
493
+ # Optional flag to enable/disable unicode normalization. Default: true
494
+ #
495
+ # The object should respond to either the <tt>validate</tt> or
496
+ # <tt>transform</tt> messages or both. Both the <tt>validate</tt> and
497
+ # <tt>transform</tt> methods should take two parameters: <tt>name</tt> and
498
+ # <tt>value</tt>. The <tt>validate</tt> method should return <tt>true</tt>
499
+ # or <tt>false</tt>; <tt>true</tt> if the value of the variable is valid,
500
+ # <tt>false</tt> otherwise. An <tt>InvalidTemplateValueError</tt>
501
+ # exception will be raised if the value is invalid. The <tt>transform</tt>
502
+ # method should return the transformed variable value as a <tt>String</tt>.
503
+ # If a <tt>transform</tt> method is used, the value will not be percent
504
+ # encoded automatically. Unicode normalization will be performed both
505
+ # before and after sending the value to the transform method.
506
+ #
507
+ # @return [Addressable::Template] The partially expanded URI template.
508
+ #
509
+ # @example
510
+ # Addressable::Template.new(
511
+ # "http://example.com/{one}/{two}/"
512
+ # ).partial_expand({"one" => "1"}).pattern
513
+ # #=> "http://example.com/1/{two}/"
514
+ #
515
+ # Addressable::Template.new(
516
+ # "http://example.com/{?one,two}/"
517
+ # ).partial_expand({"one" => "1"}).pattern
518
+ # #=> "http://example.com/?one=1{&two}/"
519
+ #
520
+ # Addressable::Template.new(
521
+ # "http://example.com/{?one,two,three}/"
522
+ # ).partial_expand({"one" => "1", "three" => 3}).pattern
523
+ # #=> "http://example.com/?one=1{&two}&three=3"
524
+ def partial_expand(mapping, processor=nil, normalize_values=true)
525
+ result = self.pattern.dup
526
+ mapping = normalize_keys(mapping)
527
+ result.gsub!( EXPRESSION ) do |capture|
528
+ transform_partial_capture(mapping, capture, processor, normalize_values)
529
+ end
530
+ return Addressable::Template.new(result)
531
+ end
532
+
533
+ ##
534
+ # Expands a URI template into a full URI.
535
+ #
536
+ # @param [Hash] mapping The mapping that corresponds to the pattern.
537
+ # @param [#validate, #transform] processor
538
+ # An optional processor object may be supplied.
539
+ # @param [Boolean] normalize_values
540
+ # Optional flag to enable/disable unicode normalization. Default: true
541
+ #
542
+ # The object should respond to either the <tt>validate</tt> or
543
+ # <tt>transform</tt> messages or both. Both the <tt>validate</tt> and
544
+ # <tt>transform</tt> methods should take two parameters: <tt>name</tt> and
545
+ # <tt>value</tt>. The <tt>validate</tt> method should return <tt>true</tt>
546
+ # or <tt>false</tt>; <tt>true</tt> if the value of the variable is valid,
547
+ # <tt>false</tt> otherwise. An <tt>InvalidTemplateValueError</tt>
548
+ # exception will be raised if the value is invalid. The <tt>transform</tt>
549
+ # method should return the transformed variable value as a <tt>String</tt>.
550
+ # If a <tt>transform</tt> method is used, the value will not be percent
551
+ # encoded automatically. Unicode normalization will be performed both
552
+ # before and after sending the value to the transform method.
553
+ #
554
+ # @return [Addressable::URI] The expanded URI template.
555
+ #
556
+ # @example
557
+ # class ExampleProcessor
558
+ # def self.validate(name, value)
559
+ # return !!(value =~ /^[\w ]+$/) if name == "query"
560
+ # return true
561
+ # end
562
+ #
563
+ # def self.transform(name, value)
564
+ # return value.gsub(/ /, "+") if name == "query"
565
+ # return value
566
+ # end
567
+ # end
568
+ #
569
+ # Addressable::Template.new(
570
+ # "http://example.com/search/{query}/"
571
+ # ).expand(
572
+ # {"query" => "an example search query"},
573
+ # ExampleProcessor
574
+ # ).to_str
575
+ # #=> "http://example.com/search/an+example+search+query/"
576
+ #
577
+ # Addressable::Template.new(
578
+ # "http://example.com/search/{query}/"
579
+ # ).expand(
580
+ # {"query" => "an example search query"}
581
+ # ).to_str
582
+ # #=> "http://example.com/search/an%20example%20search%20query/"
583
+ #
584
+ # Addressable::Template.new(
585
+ # "http://example.com/search/{query}/"
586
+ # ).expand(
587
+ # {"query" => "bogus!"},
588
+ # ExampleProcessor
589
+ # ).to_str
590
+ # #=> Addressable::Template::InvalidTemplateValueError
591
+ def expand(mapping, processor=nil, normalize_values=true)
592
+ result = self.pattern.dup
593
+ mapping = normalize_keys(mapping)
594
+ result.gsub!( EXPRESSION ) do |capture|
595
+ transform_capture(mapping, capture, processor, normalize_values)
596
+ end
597
+ return Addressable::URI.parse(result)
598
+ end
599
+
600
+ ##
601
+ # Returns an Array of variables used within the template pattern.
602
+ # The variables are listed in the Array in the order they appear within
603
+ # the pattern. Multiple occurrences of a variable within a pattern are
604
+ # not represented in this Array.
605
+ #
606
+ # @return [Array] The variables present in the template's pattern.
607
+ def variables
608
+ @variables ||= ordered_variable_defaults.map { |var, val| var }.uniq
609
+ end
610
+ alias_method :keys, :variables
611
+ alias_method :names, :variables
612
+
613
+ ##
614
+ # Returns a mapping of variables to their default values specified
615
+ # in the template. Variables without defaults are not returned.
616
+ #
617
+ # @return [Hash] Mapping of template variables to their defaults
618
+ def variable_defaults
619
+ @variable_defaults ||=
620
+ Hash[*ordered_variable_defaults.reject { |k, v| v.nil? }.flatten]
621
+ end
622
+
623
+ ##
624
+ # Coerces a template into a `Regexp` object. This regular expression will
625
+ # behave very similarly to the actual template, and should match the same
626
+ # URI values, but it cannot fully handle, for example, values that would
627
+ # extract to an `Array`.
628
+ #
629
+ # @return [Regexp] A regular expression which should match the template.
630
+ def to_regexp
631
+ _, source = parse_template_pattern(pattern)
632
+ Regexp.new(source)
633
+ end
634
+
635
+ ##
636
+ # Returns the source of the coerced `Regexp`.
637
+ #
638
+ # @return [String] The source of the `Regexp` given by {#to_regexp}.
639
+ #
640
+ # @api private
641
+ def source
642
+ self.to_regexp.source
643
+ end
644
+
645
+ ##
646
+ # Returns the named captures of the coerced `Regexp`.
647
+ #
648
+ # @return [Hash] The named captures of the `Regexp` given by {#to_regexp}.
649
+ #
650
+ # @api private
651
+ def named_captures
652
+ self.to_regexp.named_captures
653
+ end
654
+
655
+ private
656
+ def ordered_variable_defaults
657
+ @ordered_variable_defaults ||= begin
658
+ expansions, _ = parse_template_pattern(pattern)
659
+ expansions.flat_map do |capture|
660
+ _, _, varlist = *capture.match(EXPRESSION)
661
+ varlist.split(',').map do |varspec|
662
+ varspec[VARSPEC, 1]
663
+ end
664
+ end
665
+ end
666
+ end
667
+
668
+
669
+ ##
670
+ # Loops through each capture and expands any values available in mapping
671
+ #
672
+ # @param [Hash] mapping
673
+ # Set of keys to expand
674
+ # @param [String] capture
675
+ # The expression to expand
676
+ # @param [#validate, #transform] processor
677
+ # An optional processor object may be supplied.
678
+ # @param [Boolean] normalize_values
679
+ # Optional flag to enable/disable unicode normalization. Default: true
680
+ #
681
+ # The object should respond to either the <tt>validate</tt> or
682
+ # <tt>transform</tt> messages or both. Both the <tt>validate</tt> and
683
+ # <tt>transform</tt> methods should take two parameters: <tt>name</tt> and
684
+ # <tt>value</tt>. The <tt>validate</tt> method should return <tt>true</tt>
685
+ # or <tt>false</tt>; <tt>true</tt> if the value of the variable is valid,
686
+ # <tt>false</tt> otherwise. An <tt>InvalidTemplateValueError</tt> exception
687
+ # will be raised if the value is invalid. The <tt>transform</tt> method
688
+ # should return the transformed variable value as a <tt>String</tt>. If a
689
+ # <tt>transform</tt> method is used, the value will not be percent encoded
690
+ # automatically. Unicode normalization will be performed both before and
691
+ # after sending the value to the transform method.
692
+ #
693
+ # @return [String] The expanded expression
694
+ def transform_partial_capture(mapping, capture, processor = nil,
695
+ normalize_values = true)
696
+ _, operator, varlist = *capture.match(EXPRESSION)
697
+
698
+ vars = varlist.split(",")
699
+
700
+ if operator == "?"
701
+ # partial expansion of form style query variables sometimes requires a
702
+ # slight reordering of the variables to produce a valid url.
703
+ first_to_expand = vars.find { |varspec|
704
+ _, name, _ = *varspec.match(VARSPEC)
705
+ mapping.key?(name) && !mapping[name].nil?
706
+ }
707
+
708
+ vars = [first_to_expand] + vars.reject {|varspec| varspec == first_to_expand} if first_to_expand
709
+ end
710
+
711
+ vars.
712
+ inject("".dup) do |acc, varspec|
713
+ _, name, _ = *varspec.match(VARSPEC)
714
+ next_val = if mapping.key? name
715
+ transform_capture(mapping, "{#{operator}#{varspec}}",
716
+ processor, normalize_values)
717
+ else
718
+ "{#{operator}#{varspec}}"
719
+ end
720
+ # If we've already expanded at least one '?' operator with non-empty
721
+ # value, change to '&'
722
+ operator = "&" if (operator == "?") && (next_val != "")
723
+ acc << next_val
724
+ end
725
+ end
726
+
727
+ ##
728
+ # Transforms a mapped value so that values can be substituted into the
729
+ # template.
730
+ #
731
+ # @param [Hash] mapping The mapping to replace captures
732
+ # @param [String] capture
733
+ # The expression to replace
734
+ # @param [#validate, #transform] processor
735
+ # An optional processor object may be supplied.
736
+ # @param [Boolean] normalize_values
737
+ # Optional flag to enable/disable unicode normalization. Default: true
738
+ #
739
+ #
740
+ # The object should respond to either the <tt>validate</tt> or
741
+ # <tt>transform</tt> messages or both. Both the <tt>validate</tt> and
742
+ # <tt>transform</tt> methods should take two parameters: <tt>name</tt> and
743
+ # <tt>value</tt>. The <tt>validate</tt> method should return <tt>true</tt>
744
+ # or <tt>false</tt>; <tt>true</tt> if the value of the variable is valid,
745
+ # <tt>false</tt> otherwise. An <tt>InvalidTemplateValueError</tt> exception
746
+ # will be raised if the value is invalid. The <tt>transform</tt> method
747
+ # should return the transformed variable value as a <tt>String</tt>. If a
748
+ # <tt>transform</tt> method is used, the value will not be percent encoded
749
+ # automatically. Unicode normalization will be performed both before and
750
+ # after sending the value to the transform method.
751
+ #
752
+ # @return [String] The expanded expression
753
+ def transform_capture(mapping, capture, processor=nil,
754
+ normalize_values=true)
755
+ _, operator, varlist = *capture.match(EXPRESSION)
756
+ return_value = varlist.split(',').inject([]) do |acc, varspec|
757
+ _, name, modifier = *varspec.match(VARSPEC)
758
+ value = mapping[name]
759
+ unless value == nil || value == {}
760
+ allow_reserved = %w(+ #).include?(operator)
761
+ # Common primitives where the .to_s output is well-defined
762
+ if Numeric === value || Symbol === value ||
763
+ value == true || value == false
764
+ value = value.to_s
765
+ end
766
+ length = modifier.gsub(':', '').to_i if modifier =~ /^:\d+/
767
+
768
+ unless (Hash === value) ||
769
+ value.respond_to?(:to_ary) || value.respond_to?(:to_str)
770
+ raise TypeError,
771
+ "Can't convert #{value.class} into String or Array."
772
+ end
773
+
774
+ value = normalize_value(value) if normalize_values
775
+
776
+ if processor == nil || !processor.respond_to?(:transform)
777
+ # Handle percent escaping
778
+ if allow_reserved
779
+ encode_map =
780
+ Addressable::URI::CharacterClasses::RESERVED +
781
+ Addressable::URI::CharacterClasses::UNRESERVED
782
+ else
783
+ encode_map = Addressable::URI::CharacterClasses::UNRESERVED
784
+ end
785
+ if value.kind_of?(Array)
786
+ transformed_value = value.map do |val|
787
+ if length
788
+ Addressable::URI.encode_component(val[0...length], encode_map)
789
+ else
790
+ Addressable::URI.encode_component(val, encode_map)
791
+ end
792
+ end
793
+ unless modifier == "*"
794
+ transformed_value = transformed_value.join(',')
795
+ end
796
+ elsif value.kind_of?(Hash)
797
+ transformed_value = value.map do |key, val|
798
+ if modifier == "*"
799
+ "#{
800
+ Addressable::URI.encode_component( key, encode_map)
801
+ }=#{
802
+ Addressable::URI.encode_component( val, encode_map)
803
+ }"
804
+ else
805
+ "#{
806
+ Addressable::URI.encode_component( key, encode_map)
807
+ },#{
808
+ Addressable::URI.encode_component( val, encode_map)
809
+ }"
810
+ end
811
+ end
812
+ unless modifier == "*"
813
+ transformed_value = transformed_value.join(',')
814
+ end
815
+ else
816
+ if length
817
+ transformed_value = Addressable::URI.encode_component(
818
+ value[0...length], encode_map)
819
+ else
820
+ transformed_value = Addressable::URI.encode_component(
821
+ value, encode_map)
822
+ end
823
+ end
824
+ end
825
+
826
+ # Process, if we've got a processor
827
+ if processor != nil
828
+ if processor.respond_to?(:validate)
829
+ if !processor.validate(name, value)
830
+ display_value = value.kind_of?(Array) ? value.inspect : value
831
+ raise InvalidTemplateValueError,
832
+ "#{name}=#{display_value} is an invalid template value."
833
+ end
834
+ end
835
+ if processor.respond_to?(:transform)
836
+ transformed_value = processor.transform(name, value)
837
+ if normalize_values
838
+ transformed_value = normalize_value(transformed_value)
839
+ end
840
+ end
841
+ end
842
+ acc << [name, transformed_value]
843
+ end
844
+ acc
845
+ end
846
+ return "" if return_value.empty?
847
+ join_values(operator, return_value)
848
+ end
849
+
850
+ ##
851
+ # Takes a set of values, and joins them together based on the
852
+ # operator.
853
+ #
854
+ # @param [String, Nil] operator One of the operators from the set
855
+ # (?,&,+,#,;,/,.), or nil if there wasn't one.
856
+ # @param [Array] return_value
857
+ # The set of return values (as [variable_name, value] tuples) that will
858
+ # be joined together.
859
+ #
860
+ # @return [String] The transformed mapped value
861
+ def join_values(operator, return_value)
862
+ leader = LEADERS.fetch(operator, '')
863
+ joiner = JOINERS.fetch(operator, ',')
864
+ case operator
865
+ when '&', '?'
866
+ leader + return_value.map{|k,v|
867
+ if v.is_a?(Array) && v.first =~ /=/
868
+ v.join(joiner)
869
+ elsif v.is_a?(Array)
870
+ v.map{|inner_value| "#{k}=#{inner_value}"}.join(joiner)
871
+ else
872
+ "#{k}=#{v}"
873
+ end
874
+ }.join(joiner)
875
+ when ';'
876
+ return_value.map{|k,v|
877
+ if v.is_a?(Array) && v.first =~ /=/
878
+ ';' + v.join(";")
879
+ elsif v.is_a?(Array)
880
+ ';' + v.map{|inner_value| "#{k}=#{inner_value}"}.join(";")
881
+ else
882
+ v && v != '' ? ";#{k}=#{v}" : ";#{k}"
883
+ end
884
+ }.join
885
+ else
886
+ leader + return_value.map{|k,v| v}.join(joiner)
887
+ end
888
+ end
889
+
890
+ ##
891
+ # Takes a set of values, and joins them together based on the
892
+ # operator.
893
+ #
894
+ # @param [Hash, Array, String] value
895
+ # Normalizes unicode keys and values with String#unicode_normalize (NFC)
896
+ #
897
+ # @return [Hash, Array, String] The normalized values
898
+ def normalize_value(value)
899
+ # Handle unicode normalization
900
+ if value.respond_to?(:to_ary)
901
+ value.to_ary.map! { |val| normalize_value(val) }
902
+ elsif value.kind_of?(Hash)
903
+ value = value.inject({}) { |acc, (k, v)|
904
+ acc[normalize_value(k)] = normalize_value(v)
905
+ acc
906
+ }
907
+ else
908
+ value = value.to_s if !value.kind_of?(String)
909
+ if value.encoding != Encoding::UTF_8
910
+ value = value.dup.force_encoding(Encoding::UTF_8)
911
+ end
912
+ value = value.unicode_normalize(:nfc)
913
+ end
914
+ value
915
+ end
916
+
917
+ ##
918
+ # Generates a hash with string keys
919
+ #
920
+ # @param [Hash] mapping A mapping hash to normalize
921
+ #
922
+ # @return [Hash]
923
+ # A hash with stringified keys
924
+ def normalize_keys(mapping)
925
+ return mapping.inject({}) do |accu, pair|
926
+ name, value = pair
927
+ if Symbol === name
928
+ name = name.to_s
929
+ elsif name.respond_to?(:to_str)
930
+ name = name.to_str
931
+ else
932
+ raise TypeError,
933
+ "Can't convert #{name.class} into String."
934
+ end
935
+ accu[name] = value
936
+ accu
937
+ end
938
+ end
939
+
940
+ ##
941
+ # Generates the <tt>Regexp</tt> that parses a template pattern. Memoizes the
942
+ # value if template processor not set (processors may not be deterministic)
943
+ #
944
+ # @param [String] pattern The URI template pattern.
945
+ # @param [#match] processor The template processor to use.
946
+ #
947
+ # @return [Array, Regexp]
948
+ # An array of expansion variables nad a regular expression which may be
949
+ # used to parse a template pattern
950
+ def parse_template_pattern(pattern, processor = nil)
951
+ if processor.nil? && pattern == @pattern
952
+ @cached_template_parse ||=
953
+ parse_new_template_pattern(pattern, processor)
954
+ else
955
+ parse_new_template_pattern(pattern, processor)
956
+ end
957
+ end
958
+
959
+ ##
960
+ # Generates the <tt>Regexp</tt> that parses a template pattern.
961
+ #
962
+ # @param [String] pattern The URI template pattern.
963
+ # @param [#match] processor The template processor to use.
964
+ #
965
+ # @return [Array, Regexp]
966
+ # An array of expansion variables nad a regular expression which may be
967
+ # used to parse a template pattern
968
+ def parse_new_template_pattern(pattern, processor = nil)
969
+ # Escape the pattern. The two gsubs restore the escaped curly braces
970
+ # back to their original form. Basically, escape everything that isn't
971
+ # within an expansion.
972
+ escaped_pattern = Regexp.escape(
973
+ pattern
974
+ ).gsub(/\\\{(.*?)\\\}/) do |escaped|
975
+ escaped.gsub(/\\(.)/, "\\1")
976
+ end
977
+
978
+ expansions = []
979
+
980
+ # Create a regular expression that captures the values of the
981
+ # variables in the URI.
982
+ regexp_string = escaped_pattern.gsub( EXPRESSION ) do |expansion|
983
+
984
+ expansions << expansion
985
+ _, operator, varlist = *expansion.match(EXPRESSION)
986
+ leader = Regexp.escape(LEADERS.fetch(operator, ''))
987
+ joiner = Regexp.escape(JOINERS.fetch(operator, ','))
988
+ combined = varlist.split(',').map do |varspec|
989
+ _, name, modifier = *varspec.match(VARSPEC)
990
+
991
+ result = processor && processor.respond_to?(:match) ? processor.match(name) : nil
992
+ if result
993
+ "(?<#{name}>#{ result })"
994
+ else
995
+ group = case operator
996
+ when '+'
997
+ "#{ RESERVED }*?"
998
+ when '#'
999
+ "#{ RESERVED }*?"
1000
+ when '/'
1001
+ "#{ UNRESERVED }*?"
1002
+ when '.'
1003
+ "#{ UNRESERVED.gsub('\.', '') }*?"
1004
+ when ';'
1005
+ "#{ UNRESERVED }*=?#{ UNRESERVED }*?"
1006
+ when '?'
1007
+ "#{ UNRESERVED }*=#{ UNRESERVED }*?"
1008
+ when '&'
1009
+ "#{ UNRESERVED }*=#{ UNRESERVED }*?"
1010
+ else
1011
+ "#{ UNRESERVED }*?"
1012
+ end
1013
+ if modifier == '*'
1014
+ "(?<#{name}>#{group}(?:#{joiner}?#{group})*)?"
1015
+ else
1016
+ "(?<#{name}>#{group})?"
1017
+ end
1018
+ end
1019
+ end.join("#{joiner}?")
1020
+ "(?:|#{leader}#{combined})"
1021
+ end
1022
+
1023
+ # Ensure that the regular expression matches the whole URI.
1024
+ regexp_string = "\\A#{regexp_string}\\z"
1025
+ return expansions, Regexp.new(regexp_string)
1026
+ end
1027
+
1028
+ end
1029
+ end