cybrid_api_bank_ruby 0.118.21 → 0.118.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +5 -5
  4. data/cybrid_api_bank_ruby.gemspec +1 -1
  5. data/lib/cybrid_api_bank_ruby/api/accounts_bank_api.rb +1 -1
  6. data/lib/cybrid_api_bank_ruby/api/assets_bank_api.rb +1 -1
  7. data/lib/cybrid_api_bank_ruby/api/banks_bank_api.rb +1 -1
  8. data/lib/cybrid_api_bank_ruby/api/counterparties_bank_api.rb +1 -1
  9. data/lib/cybrid_api_bank_ruby/api/customers_bank_api.rb +1 -1
  10. data/lib/cybrid_api_bank_ruby/api/deposit_addresses_bank_api.rb +1 -1
  11. data/lib/cybrid_api_bank_ruby/api/deposit_bank_accounts_bank_api.rb +1 -1
  12. data/lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb +1 -1
  13. data/lib/cybrid_api_bank_ruby/api/external_wallets_bank_api.rb +1 -1
  14. data/lib/cybrid_api_bank_ruby/api/identity_verifications_bank_api.rb +1 -1
  15. data/lib/cybrid_api_bank_ruby/api/invoices_bank_api.rb +1 -1
  16. data/lib/cybrid_api_bank_ruby/api/payment_instructions_bank_api.rb +1 -1
  17. data/lib/cybrid_api_bank_ruby/api/prices_bank_api.rb +1 -1
  18. data/lib/cybrid_api_bank_ruby/api/quotes_bank_api.rb +1 -1
  19. data/lib/cybrid_api_bank_ruby/api/symbols_bank_api.rb +1 -1
  20. data/lib/cybrid_api_bank_ruby/api/trades_bank_api.rb +1 -1
  21. data/lib/cybrid_api_bank_ruby/api/transfers_bank_api.rb +1 -1
  22. data/lib/cybrid_api_bank_ruby/api/workflows_bank_api.rb +1 -1
  23. data/lib/cybrid_api_bank_ruby/api_client.rb +1 -1
  24. data/lib/cybrid_api_bank_ruby/api_error.rb +1 -1
  25. data/lib/cybrid_api_bank_ruby/configuration.rb +1 -1
  26. data/lib/cybrid_api_bank_ruby/models/account_bank_model.rb +1 -1
  27. data/lib/cybrid_api_bank_ruby/models/account_list_bank_model.rb +1 -1
  28. data/lib/cybrid_api_bank_ruby/models/account_state_bank_model.rb +1 -1
  29. data/lib/cybrid_api_bank_ruby/models/account_type_bank_model.rb +1 -1
  30. data/lib/cybrid_api_bank_ruby/models/asset_bank_model.rb +1 -1
  31. data/lib/cybrid_api_bank_ruby/models/asset_list_bank_model.rb +1 -1
  32. data/lib/cybrid_api_bank_ruby/models/asset_types_bank_model.rb +1 -1
  33. data/lib/cybrid_api_bank_ruby/models/bank_bank_model.rb +1 -1
  34. data/lib/cybrid_api_bank_ruby/models/bank_feature_bank_model.rb +1 -1
  35. data/lib/cybrid_api_bank_ruby/models/bank_list_bank_model.rb +1 -1
  36. data/lib/cybrid_api_bank_ruby/models/bank_type_bank_model.rb +1 -1
  37. data/lib/cybrid_api_bank_ruby/models/compliance_check_bank_model.rb +1 -1
  38. data/lib/cybrid_api_bank_ruby/models/compliance_check_outcome_bank_model.rb +1 -1
  39. data/lib/cybrid_api_bank_ruby/models/compliance_check_type_bank_model.rb +1 -1
  40. data/lib/cybrid_api_bank_ruby/models/compliance_decision_bank_model.rb +1 -1
  41. data/lib/cybrid_api_bank_ruby/models/compliance_decision_state_bank_model.rb +1 -1
  42. data/lib/cybrid_api_bank_ruby/models/compliance_decision_type_bank_model.rb +1 -1
  43. data/lib/cybrid_api_bank_ruby/models/counterparty_address_bank_model.rb +1 -1
  44. data/lib/cybrid_api_bank_ruby/models/counterparty_aliases_inner_bank_model.rb +1 -1
  45. data/lib/cybrid_api_bank_ruby/models/counterparty_bank_model.rb +1 -1
  46. data/lib/cybrid_api_bank_ruby/models/counterparty_list_bank_model.rb +1 -1
  47. data/lib/cybrid_api_bank_ruby/models/counterparty_name_bank_model.rb +1 -1
  48. data/lib/cybrid_api_bank_ruby/models/counterparty_state_bank_model.rb +1 -1
  49. data/lib/cybrid_api_bank_ruby/models/counterparty_type_bank_model.rb +1 -1
  50. data/lib/cybrid_api_bank_ruby/models/customer_address_bank_model.rb +1 -1
  51. data/lib/cybrid_api_bank_ruby/models/customer_aliases_inner_bank_model.rb +1 -1
  52. data/lib/cybrid_api_bank_ruby/models/customer_bank_model.rb +1 -1
  53. data/lib/cybrid_api_bank_ruby/models/customer_list_bank_model.rb +1 -1
  54. data/lib/cybrid_api_bank_ruby/models/customer_name_bank_model.rb +1 -1
  55. data/lib/cybrid_api_bank_ruby/models/customer_state_bank_model.rb +1 -1
  56. data/lib/cybrid_api_bank_ruby/models/customer_type_bank_model.rb +1 -1
  57. data/lib/cybrid_api_bank_ruby/models/deposit_address_bank_model.rb +1 -1
  58. data/lib/cybrid_api_bank_ruby/models/deposit_address_format_bank_model.rb +1 -1
  59. data/lib/cybrid_api_bank_ruby/models/deposit_address_list_bank_model.rb +1 -1
  60. data/lib/cybrid_api_bank_ruby/models/deposit_address_state_bank_model.rb +1 -1
  61. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_account_details_inner_bank_model.rb +1 -1
  62. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_bank_model.rb +1 -1
  63. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_counterparty_address_bank_model.rb +1 -1
  64. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_list_bank_model.rb +1 -1
  65. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_routing_details_inner_bank_model.rb +1 -1
  66. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_routing_number_type_bank_model.rb +1 -1
  67. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_state_bank_model.rb +1 -1
  68. data/lib/cybrid_api_bank_ruby/models/error_response_bank_model.rb +1 -1
  69. data/lib/cybrid_api_bank_ruby/models/external_bank_account_balances_bank_model.rb +1 -1
  70. data/lib/cybrid_api_bank_ruby/models/external_bank_account_bank_model.rb +1 -1
  71. data/lib/cybrid_api_bank_ruby/models/external_bank_account_kind_bank_model.rb +1 -1
  72. data/lib/cybrid_api_bank_ruby/models/external_bank_account_list_bank_model.rb +1 -1
  73. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_addresses_inner_bank_model.rb +1 -1
  74. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_bank_model.rb +1 -1
  75. data/lib/cybrid_api_bank_ruby/models/external_bank_account_state_bank_model.rb +1 -1
  76. data/lib/cybrid_api_bank_ruby/models/external_wallet_bank_model.rb +1 -1
  77. data/lib/cybrid_api_bank_ruby/models/external_wallet_environment_bank_model.rb +1 -1
  78. data/lib/cybrid_api_bank_ruby/models/external_wallet_list_bank_model.rb +1 -1
  79. data/lib/cybrid_api_bank_ruby/models/external_wallet_state_bank_model.rb +1 -1
  80. data/lib/cybrid_api_bank_ruby/models/identity_verification_bank_model.rb +1 -1
  81. data/lib/cybrid_api_bank_ruby/models/identity_verification_list_bank_model.rb +1 -1
  82. data/lib/cybrid_api_bank_ruby/models/identity_verification_method_bank_model.rb +1 -1
  83. data/lib/cybrid_api_bank_ruby/models/identity_verification_outcome_bank_model.rb +1 -1
  84. data/lib/cybrid_api_bank_ruby/models/identity_verification_persona_state_bank_model.rb +1 -1
  85. data/lib/cybrid_api_bank_ruby/models/identity_verification_state_bank_model.rb +1 -1
  86. data/lib/cybrid_api_bank_ruby/models/identity_verification_type_bank_model.rb +1 -1
  87. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_bank_model.rb +1 -1
  88. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_address_bank_model.rb +1 -1
  89. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_bank_model.rb +1 -1
  90. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_name_bank_model.rb +1 -1
  91. data/lib/cybrid_api_bank_ruby/models/invoice_bank_model.rb +1 -1
  92. data/lib/cybrid_api_bank_ruby/models/invoice_list_bank_model.rb +1 -1
  93. data/lib/cybrid_api_bank_ruby/models/patch_bank_bank_model.rb +1 -1
  94. data/lib/cybrid_api_bank_ruby/models/patch_customer_bank_model.rb +1 -1
  95. data/lib/cybrid_api_bank_ruby/models/patch_external_bank_account_bank_model.rb +1 -1
  96. data/lib/cybrid_api_bank_ruby/models/payment_instruction_bank_model.rb +1 -1
  97. data/lib/cybrid_api_bank_ruby/models/payment_instruction_list_bank_model.rb +1 -1
  98. data/lib/cybrid_api_bank_ruby/models/post_account_bank_model.rb +1 -1
  99. data/lib/cybrid_api_bank_ruby/models/post_bank_bank_model.rb +1 -1
  100. data/lib/cybrid_api_bank_ruby/models/post_counterparty_bank_model.rb +1 -1
  101. data/lib/cybrid_api_bank_ruby/models/post_counterparty_name_bank_model.rb +1 -1
  102. data/lib/cybrid_api_bank_ruby/models/post_customer_address_bank_model.rb +1 -1
  103. data/lib/cybrid_api_bank_ruby/models/post_customer_bank_model.rb +1 -1
  104. data/lib/cybrid_api_bank_ruby/models/post_customer_name_bank_model.rb +1 -1
  105. data/lib/cybrid_api_bank_ruby/models/post_deposit_address_bank_model.rb +1 -1
  106. data/lib/cybrid_api_bank_ruby/models/post_deposit_bank_account_bank_model.rb +1 -1
  107. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_bank_model.rb +1 -1
  108. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_address_bank_model.rb +1 -1
  109. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_bank_account_bank_model.rb +1 -1
  110. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_name_bank_model.rb +1 -1
  111. data/lib/cybrid_api_bank_ruby/models/post_external_wallet_bank_model.rb +1 -1
  112. data/lib/cybrid_api_bank_ruby/models/post_fee_bank_model.rb +1 -1
  113. data/lib/cybrid_api_bank_ruby/models/post_identification_number_bank_model.rb +1 -1
  114. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_address_bank_model.rb +1 -1
  115. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_bank_model.rb +1 -1
  116. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_name_bank_model.rb +1 -1
  117. data/lib/cybrid_api_bank_ruby/models/post_invoice_bank_model.rb +1 -1
  118. data/lib/cybrid_api_bank_ruby/models/post_payment_instruction_bank_model.rb +1 -1
  119. data/lib/cybrid_api_bank_ruby/models/post_quote_bank_model.rb +1 -1
  120. data/lib/cybrid_api_bank_ruby/models/post_trade_bank_model.rb +1 -1
  121. data/lib/cybrid_api_bank_ruby/models/post_transfer_bank_model.rb +1 -1
  122. data/lib/cybrid_api_bank_ruby/models/post_workflow_bank_model.rb +1 -1
  123. data/lib/cybrid_api_bank_ruby/models/quote_bank_model.rb +1 -1
  124. data/lib/cybrid_api_bank_ruby/models/quote_list_bank_model.rb +1 -1
  125. data/lib/cybrid_api_bank_ruby/models/quote_side_bank_model.rb +1 -1
  126. data/lib/cybrid_api_bank_ruby/models/quote_type_bank_model.rb +1 -1
  127. data/lib/cybrid_api_bank_ruby/models/symbol_price_bank_model.rb +1 -1
  128. data/lib/cybrid_api_bank_ruby/models/trade_bank_model.rb +1 -1
  129. data/lib/cybrid_api_bank_ruby/models/trade_failure_code_bank_model.rb +1 -1
  130. data/lib/cybrid_api_bank_ruby/models/trade_list_bank_model.rb +1 -1
  131. data/lib/cybrid_api_bank_ruby/models/trade_side_bank_model.rb +1 -1
  132. data/lib/cybrid_api_bank_ruby/models/trade_state_bank_model.rb +1 -1
  133. data/lib/cybrid_api_bank_ruby/models/trade_type_bank_model.rb +1 -1
  134. data/lib/cybrid_api_bank_ruby/models/transfer_account_type_bank_model.rb +1 -1
  135. data/lib/cybrid_api_bank_ruby/models/transfer_bank_model.rb +1 -1
  136. data/lib/cybrid_api_bank_ruby/models/transfer_destination_account_bank_model.rb +1 -1
  137. data/lib/cybrid_api_bank_ruby/models/transfer_failure_code_bank_model.rb +1 -1
  138. data/lib/cybrid_api_bank_ruby/models/transfer_list_bank_model.rb +1 -1
  139. data/lib/cybrid_api_bank_ruby/models/transfer_side_bank_model.rb +1 -1
  140. data/lib/cybrid_api_bank_ruby/models/transfer_source_account_bank_model.rb +1 -1
  141. data/lib/cybrid_api_bank_ruby/models/transfer_state_bank_model.rb +1 -1
  142. data/lib/cybrid_api_bank_ruby/models/transfer_type_bank_model.rb +1 -1
  143. data/lib/cybrid_api_bank_ruby/models/workflow_bank_model.rb +1 -1
  144. data/lib/cybrid_api_bank_ruby/models/workflow_state_bank_model.rb +1 -1
  145. data/lib/cybrid_api_bank_ruby/models/workflow_type_bank_model.rb +1 -1
  146. data/lib/cybrid_api_bank_ruby/models/workflow_with_details_all_of_bank_model.rb +1 -1
  147. data/lib/cybrid_api_bank_ruby/models/workflow_with_details_bank_model.rb +1 -1
  148. data/lib/cybrid_api_bank_ruby/models/workflows_list_bank_model.rb +1 -1
  149. data/lib/cybrid_api_bank_ruby/version.rb +2 -2
  150. data/lib/cybrid_api_bank_ruby.rb +1 -1
  151. data/spec/api/accounts_bank_api_spec.rb +1 -1
  152. data/spec/api/assets_bank_api_spec.rb +1 -1
  153. data/spec/api/banks_bank_api_spec.rb +1 -1
  154. data/spec/api/counterparties_bank_api_spec.rb +1 -1
  155. data/spec/api/customers_bank_api_spec.rb +1 -1
  156. data/spec/api/deposit_addresses_bank_api_spec.rb +1 -1
  157. data/spec/api/deposit_bank_accounts_bank_api_spec.rb +1 -1
  158. data/spec/api/external_bank_accounts_bank_api_spec.rb +1 -1
  159. data/spec/api/external_wallets_bank_api_spec.rb +1 -1
  160. data/spec/api/identity_verifications_bank_api_spec.rb +1 -1
  161. data/spec/api/invoices_bank_api_spec.rb +1 -1
  162. data/spec/api/payment_instructions_bank_api_spec.rb +1 -1
  163. data/spec/api/prices_bank_api_spec.rb +1 -1
  164. data/spec/api/quotes_bank_api_spec.rb +1 -1
  165. data/spec/api/symbols_bank_api_spec.rb +1 -1
  166. data/spec/api/trades_bank_api_spec.rb +1 -1
  167. data/spec/api/transfers_bank_api_spec.rb +1 -1
  168. data/spec/api/workflows_bank_api_spec.rb +1 -1
  169. data/spec/api_client_spec.rb +1 -1
  170. data/spec/configuration_spec.rb +1 -1
  171. data/spec/models/account_bank_model_spec.rb +1 -1
  172. data/spec/models/account_list_bank_model_spec.rb +1 -1
  173. data/spec/models/account_state_bank_model_spec.rb +1 -1
  174. data/spec/models/account_type_bank_model_spec.rb +1 -1
  175. data/spec/models/asset_bank_model_spec.rb +1 -1
  176. data/spec/models/asset_list_bank_model_spec.rb +1 -1
  177. data/spec/models/asset_types_bank_model_spec.rb +1 -1
  178. data/spec/models/bank_bank_model_spec.rb +1 -1
  179. data/spec/models/bank_feature_bank_model_spec.rb +1 -1
  180. data/spec/models/bank_list_bank_model_spec.rb +1 -1
  181. data/spec/models/bank_type_bank_model_spec.rb +1 -1
  182. data/spec/models/compliance_check_bank_model_spec.rb +1 -1
  183. data/spec/models/compliance_check_outcome_bank_model_spec.rb +1 -1
  184. data/spec/models/compliance_check_type_bank_model_spec.rb +1 -1
  185. data/spec/models/compliance_decision_bank_model_spec.rb +1 -1
  186. data/spec/models/compliance_decision_state_bank_model_spec.rb +1 -1
  187. data/spec/models/compliance_decision_type_bank_model_spec.rb +1 -1
  188. data/spec/models/counterparty_address_bank_model_spec.rb +1 -1
  189. data/spec/models/counterparty_aliases_inner_bank_model_spec.rb +1 -1
  190. data/spec/models/counterparty_bank_model_spec.rb +1 -1
  191. data/spec/models/counterparty_list_bank_model_spec.rb +1 -1
  192. data/spec/models/counterparty_name_bank_model_spec.rb +1 -1
  193. data/spec/models/counterparty_state_bank_model_spec.rb +1 -1
  194. data/spec/models/counterparty_type_bank_model_spec.rb +1 -1
  195. data/spec/models/customer_address_bank_model_spec.rb +1 -1
  196. data/spec/models/customer_aliases_inner_bank_model_spec.rb +1 -1
  197. data/spec/models/customer_bank_model_spec.rb +1 -1
  198. data/spec/models/customer_list_bank_model_spec.rb +1 -1
  199. data/spec/models/customer_name_bank_model_spec.rb +1 -1
  200. data/spec/models/customer_state_bank_model_spec.rb +1 -1
  201. data/spec/models/customer_type_bank_model_spec.rb +1 -1
  202. data/spec/models/deposit_address_bank_model_spec.rb +1 -1
  203. data/spec/models/deposit_address_format_bank_model_spec.rb +1 -1
  204. data/spec/models/deposit_address_list_bank_model_spec.rb +1 -1
  205. data/spec/models/deposit_address_state_bank_model_spec.rb +1 -1
  206. data/spec/models/deposit_bank_account_account_details_inner_bank_model_spec.rb +1 -1
  207. data/spec/models/deposit_bank_account_bank_model_spec.rb +1 -1
  208. data/spec/models/deposit_bank_account_counterparty_address_bank_model_spec.rb +1 -1
  209. data/spec/models/deposit_bank_account_list_bank_model_spec.rb +1 -1
  210. data/spec/models/deposit_bank_account_routing_details_inner_bank_model_spec.rb +1 -1
  211. data/spec/models/deposit_bank_account_routing_number_type_bank_model_spec.rb +1 -1
  212. data/spec/models/deposit_bank_account_state_bank_model_spec.rb +1 -1
  213. data/spec/models/error_response_bank_model_spec.rb +1 -1
  214. data/spec/models/external_bank_account_balances_bank_model_spec.rb +1 -1
  215. data/spec/models/external_bank_account_bank_model_spec.rb +1 -1
  216. data/spec/models/external_bank_account_kind_bank_model_spec.rb +1 -1
  217. data/spec/models/external_bank_account_list_bank_model_spec.rb +1 -1
  218. data/spec/models/external_bank_account_pii_inner_addresses_inner_bank_model_spec.rb +1 -1
  219. data/spec/models/external_bank_account_pii_inner_bank_model_spec.rb +1 -1
  220. data/spec/models/external_bank_account_state_bank_model_spec.rb +1 -1
  221. data/spec/models/external_wallet_bank_model_spec.rb +1 -1
  222. data/spec/models/external_wallet_environment_bank_model_spec.rb +1 -1
  223. data/spec/models/external_wallet_list_bank_model_spec.rb +1 -1
  224. data/spec/models/external_wallet_state_bank_model_spec.rb +1 -1
  225. data/spec/models/identity_verification_bank_model_spec.rb +1 -1
  226. data/spec/models/identity_verification_list_bank_model_spec.rb +1 -1
  227. data/spec/models/identity_verification_method_bank_model_spec.rb +1 -1
  228. data/spec/models/identity_verification_outcome_bank_model_spec.rb +1 -1
  229. data/spec/models/identity_verification_persona_state_bank_model_spec.rb +1 -1
  230. data/spec/models/identity_verification_state_bank_model_spec.rb +1 -1
  231. data/spec/models/identity_verification_type_bank_model_spec.rb +1 -1
  232. data/spec/models/identity_verification_with_details_bank_model_spec.rb +1 -1
  233. data/spec/models/identity_verification_with_details_pii_address_bank_model_spec.rb +1 -1
  234. data/spec/models/identity_verification_with_details_pii_bank_model_spec.rb +1 -1
  235. data/spec/models/identity_verification_with_details_pii_name_bank_model_spec.rb +1 -1
  236. data/spec/models/invoice_bank_model_spec.rb +1 -1
  237. data/spec/models/invoice_list_bank_model_spec.rb +1 -1
  238. data/spec/models/patch_bank_bank_model_spec.rb +1 -1
  239. data/spec/models/patch_customer_bank_model_spec.rb +1 -1
  240. data/spec/models/patch_external_bank_account_bank_model_spec.rb +1 -1
  241. data/spec/models/payment_instruction_bank_model_spec.rb +1 -1
  242. data/spec/models/payment_instruction_list_bank_model_spec.rb +1 -1
  243. data/spec/models/post_account_bank_model_spec.rb +1 -1
  244. data/spec/models/post_bank_bank_model_spec.rb +1 -1
  245. data/spec/models/post_counterparty_bank_model_spec.rb +1 -1
  246. data/spec/models/post_counterparty_name_bank_model_spec.rb +1 -1
  247. data/spec/models/post_customer_address_bank_model_spec.rb +1 -1
  248. data/spec/models/post_customer_bank_model_spec.rb +1 -1
  249. data/spec/models/post_customer_name_bank_model_spec.rb +1 -1
  250. data/spec/models/post_deposit_address_bank_model_spec.rb +1 -1
  251. data/spec/models/post_deposit_bank_account_bank_model_spec.rb +1 -1
  252. data/spec/models/post_external_bank_account_bank_model_spec.rb +1 -1
  253. data/spec/models/post_external_bank_account_counterparty_address_bank_model_spec.rb +1 -1
  254. data/spec/models/post_external_bank_account_counterparty_bank_account_bank_model_spec.rb +1 -1
  255. data/spec/models/post_external_bank_account_counterparty_name_bank_model_spec.rb +1 -1
  256. data/spec/models/post_external_wallet_bank_model_spec.rb +1 -1
  257. data/spec/models/post_fee_bank_model_spec.rb +1 -1
  258. data/spec/models/post_identification_number_bank_model_spec.rb +1 -1
  259. data/spec/models/post_identity_verification_address_bank_model_spec.rb +1 -1
  260. data/spec/models/post_identity_verification_bank_model_spec.rb +1 -1
  261. data/spec/models/post_identity_verification_name_bank_model_spec.rb +1 -1
  262. data/spec/models/post_invoice_bank_model_spec.rb +1 -1
  263. data/spec/models/post_payment_instruction_bank_model_spec.rb +1 -1
  264. data/spec/models/post_quote_bank_model_spec.rb +1 -1
  265. data/spec/models/post_trade_bank_model_spec.rb +1 -1
  266. data/spec/models/post_transfer_bank_model_spec.rb +1 -1
  267. data/spec/models/post_workflow_bank_model_spec.rb +1 -1
  268. data/spec/models/quote_bank_model_spec.rb +1 -1
  269. data/spec/models/quote_list_bank_model_spec.rb +1 -1
  270. data/spec/models/quote_side_bank_model_spec.rb +1 -1
  271. data/spec/models/quote_type_bank_model_spec.rb +1 -1
  272. data/spec/models/symbol_price_bank_model_spec.rb +1 -1
  273. data/spec/models/trade_bank_model_spec.rb +1 -1
  274. data/spec/models/trade_failure_code_bank_model_spec.rb +1 -1
  275. data/spec/models/trade_list_bank_model_spec.rb +1 -1
  276. data/spec/models/trade_side_bank_model_spec.rb +1 -1
  277. data/spec/models/trade_state_bank_model_spec.rb +1 -1
  278. data/spec/models/trade_type_bank_model_spec.rb +1 -1
  279. data/spec/models/transfer_account_type_bank_model_spec.rb +1 -1
  280. data/spec/models/transfer_bank_model_spec.rb +1 -1
  281. data/spec/models/transfer_destination_account_bank_model_spec.rb +1 -1
  282. data/spec/models/transfer_failure_code_bank_model_spec.rb +1 -1
  283. data/spec/models/transfer_list_bank_model_spec.rb +1 -1
  284. data/spec/models/transfer_side_bank_model_spec.rb +1 -1
  285. data/spec/models/transfer_source_account_bank_model_spec.rb +1 -1
  286. data/spec/models/transfer_state_bank_model_spec.rb +1 -1
  287. data/spec/models/transfer_type_bank_model_spec.rb +1 -1
  288. data/spec/models/workflow_bank_model_spec.rb +1 -1
  289. data/spec/models/workflow_state_bank_model_spec.rb +1 -1
  290. data/spec/models/workflow_type_bank_model_spec.rb +1 -1
  291. data/spec/models/workflow_with_details_all_of_bank_model_spec.rb +1 -1
  292. data/spec/models/workflow_with_details_bank_model_spec.rb +1 -1
  293. data/spec/models/workflows_list_bank_model_spec.rb +1 -1
  294. data/spec/spec_helper.rb +1 -1
  295. data/vendor/bundle/ruby/3.2.0/cache/rspec-expectations-3.13.1.gem +0 -0
  296. data/vendor/bundle/ruby/3.2.0/cache/stringio-3.1.1.gem +0 -0
  297. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/gem_make.out +5 -5
  298. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  299. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.1.2/gem_make.out +5 -5
  300. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.0/gem_make.out +5 -5
  301. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{stringio-3.1.0 → stringio-3.1.1}/gem_make.out +18 -18
  302. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.1.1/stringio.so +0 -0
  303. data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/Changelog.md +9 -1
  304. data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/README.md +10 -4
  305. data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/version.rb +1 -1
  306. data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/raise_error.rb +5 -1
  307. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/.document +5 -0
  308. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/.rdoc_options +2 -0
  309. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/COPYING +56 -0
  310. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/LICENSE.txt +22 -0
  311. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/NEWS.md +166 -0
  312. data/vendor/bundle/ruby/3.2.0/gems/{stringio-3.1.0 → stringio-3.1.1}/README.md +1 -1
  313. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/docs/io.rb +8 -0
  314. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/ext/stringio/.document +1 -0
  315. data/vendor/bundle/ruby/3.2.0/gems/{stringio-3.1.0 → stringio-3.1.1}/ext/stringio/stringio.c +114 -74
  316. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.1/lib/stringio.so +0 -0
  317. data/vendor/bundle/ruby/3.2.0/specifications/{rspec-expectations-3.13.0.gemspec → rspec-expectations-3.13.1.gemspec} +5 -5
  318. data/vendor/bundle/ruby/3.2.0/specifications/{stringio-3.1.0.gemspec → stringio-3.1.1.gemspec} +5 -4
  319. metadata +75 -68
  320. data/vendor/bundle/ruby/3.2.0/cache/rspec-expectations-3.13.0.gem +0 -0
  321. data/vendor/bundle/ruby/3.2.0/cache/stringio-3.1.0.gem +0 -0
  322. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.1.0/stringio.so +0 -0
  323. data/vendor/bundle/ruby/3.2.0/gems/stringio-3.1.0/lib/stringio.so +0 -0
  324. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{stringio-3.1.0 → stringio-3.1.1}/gem.build_complete +0 -0
  325. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/.document +0 -0
  326. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/.yardopts +0 -0
  327. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/LICENSE.md +0 -0
  328. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/block_snippet_extractor.rb +0 -0
  329. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/configuration.rb +0 -0
  330. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/expectation_target.rb +0 -0
  331. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/fail_with.rb +0 -0
  332. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/failure_aggregator.rb +0 -0
  333. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/handler.rb +0 -0
  334. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/minitest_integration.rb +0 -0
  335. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations/syntax.rb +0 -0
  336. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/expectations.rb +0 -0
  337. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/aliased_matcher.rb +0 -0
  338. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/all.rb +0 -0
  339. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/base_matcher.rb +0 -0
  340. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/be.rb +0 -0
  341. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/be_between.rb +0 -0
  342. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/be_instance_of.rb +0 -0
  343. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/be_kind_of.rb +0 -0
  344. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/be_within.rb +0 -0
  345. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/change.rb +0 -0
  346. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/compound.rb +0 -0
  347. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/contain_exactly.rb +0 -0
  348. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/count_expectation.rb +0 -0
  349. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/cover.rb +0 -0
  350. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/eq.rb +0 -0
  351. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/eql.rb +0 -0
  352. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/equal.rb +0 -0
  353. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/exist.rb +0 -0
  354. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/has.rb +0 -0
  355. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/have_attributes.rb +0 -0
  356. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/include.rb +0 -0
  357. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/match.rb +0 -0
  358. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/operators.rb +0 -0
  359. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/output.rb +0 -0
  360. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/respond_to.rb +0 -0
  361. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/satisfy.rb +0 -0
  362. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -0
  363. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/throw_symbol.rb +0 -0
  364. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in/yield.rb +0 -0
  365. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/built_in.rb +0 -0
  366. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/composable.rb +0 -0
  367. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/dsl.rb +0 -0
  368. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/english_phrasing.rb +0 -0
  369. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/fail_matchers.rb +0 -0
  370. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/generated_descriptions.rb +0 -0
  371. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/matcher_delegator.rb +0 -0
  372. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/matcher_protocol.rb +0 -0
  373. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers/multi_matcher_diff.rb +0 -0
  374. /data/vendor/bundle/ruby/3.2.0/gems/{rspec-expectations-3.13.0 → rspec-expectations-3.13.1}/lib/rspec/matchers.rb +0 -0
  375. /data/vendor/bundle/ruby/3.2.0/gems/{stringio-3.1.0 → stringio-3.1.1}/ext/stringio/Makefile +0 -0
  376. /data/vendor/bundle/ruby/3.2.0/gems/{stringio-3.1.0 → stringio-3.1.1}/ext/stringio/extconf.rb +0 -0
@@ -13,7 +13,9 @@
13
13
  **********************************************************************/
14
14
 
15
15
  static const char *const
16
- STRINGIO_VERSION = "3.1.0";
16
+ STRINGIO_VERSION = "3.1.1";
17
+
18
+ #include <stdbool.h>
17
19
 
18
20
  #include "ruby.h"
19
21
  #include "ruby/io.h"
@@ -48,7 +50,13 @@ static long strio_write(VALUE self, VALUE str);
48
50
 
49
51
  #define IS_STRIO(obj) (rb_typeddata_is_kind_of((obj), &strio_data_type))
50
52
  #define error_inval(msg) (rb_syserr_fail(EINVAL, msg))
51
- #define get_enc(ptr) ((ptr)->enc ? (ptr)->enc : rb_enc_get((ptr)->string))
53
+ #define get_enc(ptr) ((ptr)->enc ? (ptr)->enc : !NIL_P((ptr)->string) ? rb_enc_get((ptr)->string) : NULL)
54
+
55
+ static bool
56
+ readonly_string_p(VALUE string)
57
+ {
58
+ return OBJ_FROZEN_RAW(string);
59
+ }
52
60
 
53
61
  static struct StringIO *
54
62
  strio_alloc(void)
@@ -166,7 +174,10 @@ writable(VALUE strio)
166
174
  static void
167
175
  check_modifiable(struct StringIO *ptr)
168
176
  {
169
- if (OBJ_FROZEN(ptr->string)) {
177
+ if (NIL_P(ptr->string)) {
178
+ /* Null device StringIO */
179
+ }
180
+ else if (OBJ_FROZEN_RAW(ptr->string)) {
170
181
  rb_raise(rb_eIOError, "not modifiable string");
171
182
  }
172
183
  }
@@ -281,13 +292,14 @@ strio_init(int argc, VALUE *argv, struct StringIO *ptr, VALUE self)
281
292
 
282
293
  argc = rb_scan_args(argc, argv, "02:", &string, &vmode, &opt);
283
294
  rb_io_extract_modeenc(&vmode, 0, opt, &oflags, &ptr->flags, &convconfig);
284
- if (argc) {
295
+ if (!NIL_P(string)) {
285
296
  StringValue(string);
286
297
  }
287
- else {
298
+ else if (!argc) {
288
299
  string = rb_enc_str_new("", 0, rb_default_external_encoding());
289
300
  }
290
- if (OBJ_FROZEN_RAW(string)) {
301
+
302
+ if (!NIL_P(string) && readonly_string_p(string)) {
291
303
  if (ptr->flags & FMODE_WRITABLE) {
292
304
  rb_syserr_fail(EACCES, 0);
293
305
  }
@@ -297,11 +309,11 @@ strio_init(int argc, VALUE *argv, struct StringIO *ptr, VALUE self)
297
309
  ptr->flags |= FMODE_WRITABLE;
298
310
  }
299
311
  }
300
- if (ptr->flags & FMODE_TRUNC) {
312
+ if (!NIL_P(string) && (ptr->flags & FMODE_TRUNC)) {
301
313
  rb_str_resize(string, 0);
302
314
  }
303
315
  RB_OBJ_WRITE(self, &ptr->string, string);
304
- if (argc == 1) {
316
+ if (argc == 1 && !NIL_P(string)) {
305
317
  ptr->enc = rb_enc_get(string);
306
318
  }
307
319
  else {
@@ -481,7 +493,7 @@ strio_set_string(VALUE self, VALUE string)
481
493
  rb_io_taint_check(self);
482
494
  ptr->flags &= ~FMODE_READWRITE;
483
495
  StringValue(string);
484
- ptr->flags = OBJ_FROZEN(string) ? FMODE_READABLE : FMODE_READWRITE;
496
+ ptr->flags = readonly_string_p(string) ? FMODE_READABLE : FMODE_READWRITE;
485
497
  ptr->pos = 0;
486
498
  ptr->lineno = 0;
487
499
  RB_OBJ_WRITE(self, &ptr->string, string);
@@ -595,6 +607,7 @@ static struct StringIO *
595
607
  strio_to_read(VALUE self)
596
608
  {
597
609
  struct StringIO *ptr = readable(self);
610
+ if (NIL_P(ptr->string)) return NULL;
598
611
  if (ptr->pos < RSTRING_LEN(ptr->string)) return ptr;
599
612
  return NULL;
600
613
  }
@@ -872,7 +885,7 @@ strio_getc(VALUE self)
872
885
  int len;
873
886
  char *p;
874
887
 
875
- if (pos >= RSTRING_LEN(str)) {
888
+ if (NIL_P(str) || pos >= RSTRING_LEN(str)) {
876
889
  return Qnil;
877
890
  }
878
891
  p = RSTRING_PTR(str)+pos;
@@ -893,7 +906,7 @@ strio_getbyte(VALUE self)
893
906
  {
894
907
  struct StringIO *ptr = readable(self);
895
908
  int c;
896
- if (ptr->pos >= RSTRING_LEN(ptr->string)) {
909
+ if (NIL_P(ptr->string) || ptr->pos >= RSTRING_LEN(ptr->string)) {
897
910
  return Qnil;
898
911
  }
899
912
  c = RSTRING_PTR(ptr->string)[ptr->pos++];
@@ -915,9 +928,6 @@ strio_extend(struct StringIO *ptr, long pos, long len)
915
928
  if (pos > olen)
916
929
  MEMZERO(RSTRING_PTR(ptr->string) + olen, char, pos - olen);
917
930
  }
918
- else {
919
- rb_str_modify(ptr->string);
920
- }
921
931
  }
922
932
 
923
933
  /*
@@ -934,6 +944,7 @@ strio_ungetc(VALUE self, VALUE c)
934
944
  rb_encoding *enc, *enc2;
935
945
 
936
946
  check_modifiable(ptr);
947
+ if (NIL_P(ptr->string)) return Qnil;
937
948
  if (NIL_P(c)) return Qnil;
938
949
  if (RB_INTEGER_TYPE_P(c)) {
939
950
  int len, cc = NUM2INT(c);
@@ -971,12 +982,13 @@ strio_ungetbyte(VALUE self, VALUE c)
971
982
  struct StringIO *ptr = readable(self);
972
983
 
973
984
  check_modifiable(ptr);
985
+ if (NIL_P(ptr->string)) return Qnil;
974
986
  if (NIL_P(c)) return Qnil;
975
987
  if (RB_INTEGER_TYPE_P(c)) {
976
- /* rb_int_and() not visible from exts */
977
- VALUE v = rb_funcall(c, '&', 1, INT2FIX(0xff));
978
- const char cc = NUM2INT(v) & 0xFF;
979
- strio_unget_bytes(ptr, &cc, 1);
988
+ /* rb_int_and() not visible from exts */
989
+ VALUE v = rb_funcall(c, '&', 1, INT2FIX(0xff));
990
+ const char cc = NUM2INT(v) & 0xFF;
991
+ strio_unget_bytes(ptr, &cc, 1);
980
992
  }
981
993
  else {
982
994
  long cl;
@@ -1157,41 +1169,41 @@ prepare_getline_args(struct StringIO *ptr, struct getline_arg *arg, int argc, VA
1157
1169
  break;
1158
1170
 
1159
1171
  case 1:
1160
- if (!NIL_P(rs) && !RB_TYPE_P(rs, T_STRING)) {
1161
- VALUE tmp = rb_check_string_type(rs);
1172
+ if (!NIL_P(rs) && !RB_TYPE_P(rs, T_STRING)) {
1173
+ VALUE tmp = rb_check_string_type(rs);
1162
1174
  if (NIL_P(tmp)) {
1163
- limit = NUM2LONG(rs);
1164
- rs = rb_rs;
1175
+ limit = NUM2LONG(rs);
1176
+ rs = rb_rs;
1165
1177
  }
1166
1178
  else {
1167
- rs = tmp;
1179
+ rs = tmp;
1168
1180
  }
1169
1181
  }
1170
1182
  break;
1171
1183
 
1172
1184
  case 2:
1173
- if (!NIL_P(rs)) StringValue(rs);
1185
+ if (!NIL_P(rs)) StringValue(rs);
1174
1186
  if (!NIL_P(lim)) limit = NUM2LONG(lim);
1175
1187
  break;
1176
1188
  }
1177
- if (!NIL_P(rs)) {
1178
- rb_encoding *enc_rs, *enc_io;
1179
- enc_rs = rb_enc_get(rs);
1180
- enc_io = get_enc(ptr);
1181
- if (enc_rs != enc_io &&
1182
- (rb_enc_str_coderange(rs) != ENC_CODERANGE_7BIT ||
1183
- (RSTRING_LEN(rs) > 0 && !rb_enc_asciicompat(enc_io)))) {
1184
- if (rs == rb_rs) {
1185
- rs = rb_enc_str_new(0, 0, enc_io);
1186
- rb_str_buf_cat_ascii(rs, "\n");
1187
- rs = rs;
1188
- }
1189
- else {
1190
- rb_raise(rb_eArgError, "encoding mismatch: %s IO with %s RS",
1191
- rb_enc_name(enc_io),
1192
- rb_enc_name(enc_rs));
1193
- }
1194
- }
1189
+ if (!NIL_P(ptr->string) && !NIL_P(rs)) {
1190
+ rb_encoding *enc_rs, *enc_io;
1191
+ enc_rs = rb_enc_get(rs);
1192
+ enc_io = get_enc(ptr);
1193
+ if (enc_rs != enc_io &&
1194
+ (rb_enc_str_coderange(rs) != ENC_CODERANGE_7BIT ||
1195
+ (RSTRING_LEN(rs) > 0 && !rb_enc_asciicompat(enc_io)))) {
1196
+ if (rs == rb_rs) {
1197
+ rs = rb_enc_str_new(0, 0, enc_io);
1198
+ rb_str_buf_cat_ascii(rs, "\n");
1199
+ rs = rs;
1200
+ }
1201
+ else {
1202
+ rb_raise(rb_eArgError, "encoding mismatch: %s IO with %s RS",
1203
+ rb_enc_name(enc_io),
1204
+ rb_enc_name(enc_rs));
1205
+ }
1206
+ }
1195
1207
  }
1196
1208
  arg->rs = rs;
1197
1209
  arg->limit = limit;
@@ -1203,9 +1215,9 @@ prepare_getline_args(struct StringIO *ptr, struct getline_arg *arg, int argc, VA
1203
1215
  keywords[0] = rb_intern_const("chomp");
1204
1216
  }
1205
1217
  rb_get_kwargs(opts, keywords, 0, 1, &vchomp);
1206
- if (respect_chomp) {
1218
+ if (respect_chomp) {
1207
1219
  arg->chomp = (vchomp != Qundef) && RTEST(vchomp);
1208
- }
1220
+ }
1209
1221
  }
1210
1222
  return arg;
1211
1223
  }
@@ -1229,7 +1241,7 @@ strio_getline(struct getline_arg *arg, struct StringIO *ptr)
1229
1241
  long w = 0;
1230
1242
  rb_encoding *enc = get_enc(ptr);
1231
1243
 
1232
- if (ptr->pos >= (n = RSTRING_LEN(ptr->string))) {
1244
+ if (NIL_P(ptr->string) || ptr->pos >= (n = RSTRING_LEN(ptr->string))) {
1233
1245
  return Qnil;
1234
1246
  }
1235
1247
  s = RSTRING_PTR(ptr->string);
@@ -1245,7 +1257,7 @@ strio_getline(struct getline_arg *arg, struct StringIO *ptr)
1245
1257
  str = strio_substr(ptr, ptr->pos, e - s - w, enc);
1246
1258
  }
1247
1259
  else if ((n = RSTRING_LEN(str)) == 0) {
1248
- const char *paragraph_end = NULL;
1260
+ const char *paragraph_end = NULL;
1249
1261
  p = s;
1250
1262
  while (p[(p + 1 < e) && (*p == '\r') && 0] == '\n') {
1251
1263
  p += *p == '\r';
@@ -1255,18 +1267,18 @@ strio_getline(struct getline_arg *arg, struct StringIO *ptr)
1255
1267
  }
1256
1268
  s = p;
1257
1269
  while ((p = memchr(p, '\n', e - p)) && (p != e)) {
1258
- p++;
1259
- if (!((p < e && *p == '\n') ||
1260
- (p + 1 < e && *p == '\r' && *(p+1) == '\n'))) {
1261
- continue;
1262
- }
1263
- paragraph_end = p - ((*(p-2) == '\r') ? 2 : 1);
1264
- while ((p < e && *p == '\n') ||
1265
- (p + 1 < e && *p == '\r' && *(p+1) == '\n')) {
1266
- p += (*p == '\r') ? 2 : 1;
1267
- }
1268
- e = p;
1269
- break;
1270
+ p++;
1271
+ if (!((p < e && *p == '\n') ||
1272
+ (p + 1 < e && *p == '\r' && *(p+1) == '\n'))) {
1273
+ continue;
1274
+ }
1275
+ paragraph_end = p - ((*(p-2) == '\r') ? 2 : 1);
1276
+ while ((p < e && *p == '\n') ||
1277
+ (p + 1 < e && *p == '\r' && *(p+1) == '\n')) {
1278
+ p += (*p == '\r') ? 2 : 1;
1279
+ }
1280
+ e = p;
1281
+ break;
1270
1282
  }
1271
1283
  if (arg->chomp && paragraph_end) {
1272
1284
  w = e - paragraph_end;
@@ -1326,6 +1338,7 @@ strio_gets(int argc, VALUE *argv, VALUE self)
1326
1338
  VALUE str;
1327
1339
 
1328
1340
  if (prepare_getline_args(ptr, &arg, argc, argv)->limit == 0) {
1341
+ if (NIL_P(ptr->string)) return Qnil;
1329
1342
  return rb_enc_str_new(0, 0, get_enc(ptr));
1330
1343
  }
1331
1344
 
@@ -1440,6 +1453,7 @@ strio_write(VALUE self, VALUE str)
1440
1453
  if (!RB_TYPE_P(str, T_STRING))
1441
1454
  str = rb_obj_as_string(str);
1442
1455
  enc = get_enc(ptr);
1456
+ if (!enc) return 0;
1443
1457
  enc2 = rb_enc_get(str);
1444
1458
  if (enc != enc2 && enc != ascii8bit && enc != (usascii = rb_usascii_encoding())) {
1445
1459
  VALUE converted = rb_str_conv_enc(str, enc2, enc);
@@ -1465,6 +1479,7 @@ strio_write(VALUE self, VALUE str)
1465
1479
  }
1466
1480
  else {
1467
1481
  strio_extend(ptr, ptr->pos, len);
1482
+ rb_str_modify(ptr->string);
1468
1483
  memmove(RSTRING_PTR(ptr->string)+ptr->pos, RSTRING_PTR(str), len);
1469
1484
  }
1470
1485
  RB_GC_GUARD(str);
@@ -1511,10 +1526,12 @@ strio_putc(VALUE self, VALUE ch)
1511
1526
 
1512
1527
  check_modifiable(ptr);
1513
1528
  if (RB_TYPE_P(ch, T_STRING)) {
1529
+ if (NIL_P(ptr->string)) return ch;
1514
1530
  str = rb_str_substr(ch, 0, 1);
1515
1531
  }
1516
1532
  else {
1517
1533
  char c = NUM2CHR(ch);
1534
+ if (NIL_P(ptr->string)) return ch;
1518
1535
  str = rb_str_new(&c, 1);
1519
1536
  }
1520
1537
  strio_write(self, str);
@@ -1557,7 +1574,8 @@ strio_read(int argc, VALUE *argv, VALUE self)
1557
1574
  if (len < 0) {
1558
1575
  rb_raise(rb_eArgError, "negative length %ld given", len);
1559
1576
  }
1560
- if (len > 0 && ptr->pos >= RSTRING_LEN(ptr->string)) {
1577
+ if (len > 0 &&
1578
+ (NIL_P(ptr->string) || ptr->pos >= RSTRING_LEN(ptr->string))) {
1561
1579
  if (!NIL_P(str)) rb_str_resize(str, 0);
1562
1580
  return Qnil;
1563
1581
  }
@@ -1566,6 +1584,7 @@ strio_read(int argc, VALUE *argv, VALUE self)
1566
1584
  }
1567
1585
  /* fall through */
1568
1586
  case 0:
1587
+ if (NIL_P(ptr->string)) return Qnil;
1569
1588
  len = RSTRING_LEN(ptr->string);
1570
1589
  if (len <= ptr->pos) {
1571
1590
  rb_encoding *enc = get_enc(ptr);
@@ -1583,7 +1602,7 @@ strio_read(int argc, VALUE *argv, VALUE self)
1583
1602
  }
1584
1603
  break;
1585
1604
  default:
1586
- rb_error_arity(argc, 0, 2);
1605
+ rb_error_arity(argc, 0, 2);
1587
1606
  }
1588
1607
  if (NIL_P(str)) {
1589
1608
  rb_encoding *enc = binary ? rb_ascii8bit_encoding() : get_enc(ptr);
@@ -1594,10 +1613,9 @@ strio_read(int argc, VALUE *argv, VALUE self)
1594
1613
  if (len > rest) len = rest;
1595
1614
  rb_str_resize(str, len);
1596
1615
  MEMCPY(RSTRING_PTR(str), RSTRING_PTR(ptr->string) + ptr->pos, char, len);
1597
- if (binary)
1598
- rb_enc_associate(str, rb_ascii8bit_encoding());
1599
- else
1616
+ if (!binary) {
1600
1617
  rb_enc_copy(str, ptr->string);
1618
+ }
1601
1619
  }
1602
1620
  ptr->pos += RSTRING_LEN(str);
1603
1621
  return str;
@@ -1619,28 +1637,28 @@ strio_pread(int argc, VALUE *argv, VALUE self)
1619
1637
  long offset = NUM2LONG(rb_offset);
1620
1638
 
1621
1639
  if (len < 0) {
1622
- rb_raise(rb_eArgError, "negative string size (or size too big): %" PRIsVALUE, rb_len);
1640
+ rb_raise(rb_eArgError, "negative string size (or size too big): %" PRIsVALUE, rb_len);
1623
1641
  }
1624
1642
 
1625
1643
  if (len == 0) {
1626
- if (NIL_P(rb_buf)) {
1627
- return rb_str_new("", 0);
1628
- }
1629
- return rb_buf;
1644
+ if (NIL_P(rb_buf)) {
1645
+ return rb_str_new("", 0);
1646
+ }
1647
+ return rb_buf;
1630
1648
  }
1631
1649
 
1632
1650
  if (offset < 0) {
1633
- rb_syserr_fail_str(EINVAL, rb_sprintf("pread: Invalid offset argument: %" PRIsVALUE, rb_offset));
1651
+ rb_syserr_fail_str(EINVAL, rb_sprintf("pread: Invalid offset argument: %" PRIsVALUE, rb_offset));
1634
1652
  }
1635
1653
 
1636
1654
  struct StringIO *ptr = readable(self);
1637
1655
 
1638
1656
  if (offset >= RSTRING_LEN(ptr->string)) {
1639
- rb_eof_error();
1657
+ rb_eof_error();
1640
1658
  }
1641
1659
 
1642
1660
  if (NIL_P(rb_buf)) {
1643
- return strio_substr(ptr, offset, len, rb_ascii8bit_encoding());
1661
+ return strio_substr(ptr, offset, len, rb_ascii8bit_encoding());
1644
1662
  }
1645
1663
 
1646
1664
  long rest = RSTRING_LEN(ptr->string) - offset;
@@ -1700,8 +1718,14 @@ strio_read_nonblock(int argc, VALUE *argv, VALUE self)
1700
1718
  return val;
1701
1719
  }
1702
1720
 
1721
+ /*
1722
+ * See IO#write
1723
+ */
1703
1724
  #define strio_syswrite rb_io_write
1704
1725
 
1726
+ /*
1727
+ * See IO#write_nonblock
1728
+ */
1705
1729
  static VALUE
1706
1730
  strio_syswrite_nonblock(int argc, VALUE *argv, VALUE self)
1707
1731
  {
@@ -1729,7 +1753,7 @@ strio_size(VALUE self)
1729
1753
  {
1730
1754
  VALUE string = StringIO(self)->string;
1731
1755
  if (NIL_P(string)) {
1732
- rb_raise(rb_eIOError, "not opened");
1756
+ return INT2FIX(0);
1733
1757
  }
1734
1758
  return ULONG2NUM(RSTRING_LEN(string));
1735
1759
  }
@@ -1746,10 +1770,12 @@ strio_truncate(VALUE self, VALUE len)
1746
1770
  {
1747
1771
  VALUE string = writable(self)->string;
1748
1772
  long l = NUM2LONG(len);
1749
- long plen = RSTRING_LEN(string);
1773
+ long plen;
1750
1774
  if (l < 0) {
1751
1775
  error_inval("negative length");
1752
1776
  }
1777
+ if (NIL_P(string)) return 0;
1778
+ plen = RSTRING_LEN(string);
1753
1779
  rb_str_resize(string, l);
1754
1780
  if (plen < l) {
1755
1781
  MEMZERO(RSTRING_PTR(string) + plen, char, l - plen);
@@ -1820,13 +1846,22 @@ strio_set_encoding(int argc, VALUE *argv, VALUE self)
1820
1846
  }
1821
1847
  }
1822
1848
  ptr->enc = enc;
1823
- if (WRITABLE(self)) {
1849
+ if (!NIL_P(ptr->string) && WRITABLE(self)) {
1824
1850
  rb_enc_associate(ptr->string, enc);
1825
1851
  }
1826
1852
 
1827
1853
  return self;
1828
1854
  }
1829
1855
 
1856
+ /*
1857
+ * call-seq:
1858
+ * strio.set_encoding_by_bom => strio or nil
1859
+ *
1860
+ * Sets the encoding according to the BOM (Byte Order Mark) in the
1861
+ * string.
1862
+ *
1863
+ * Returns +self+ if the BOM is found, otherwise +nil.
1864
+ */
1830
1865
  static VALUE
1831
1866
  strio_set_encoding_by_bom(VALUE self)
1832
1867
  {
@@ -1859,10 +1894,15 @@ Init_stringio(void)
1859
1894
 
1860
1895
  VALUE StringIO = rb_define_class("StringIO", rb_cObject);
1861
1896
 
1897
+ /* The version string */
1862
1898
  rb_define_const(StringIO, "VERSION", rb_str_new_cstr(STRINGIO_VERSION));
1863
1899
 
1864
1900
  rb_include_module(StringIO, rb_mEnumerable);
1865
1901
  rb_define_alloc_func(StringIO, strio_s_allocate);
1902
+
1903
+ /* Maximum length that a StringIO instance can hold */
1904
+ rb_define_const(StringIO, "MAX_LENGTH", LONG2NUM(LONG_MAX));
1905
+
1866
1906
  rb_define_singleton_method(StringIO, "new", strio_s_new, -1);
1867
1907
  rb_define_singleton_method(StringIO, "open", strio_s_open, -1);
1868
1908
  rb_define_method(StringIO, "initialize", strio_initialize, -1);
@@ -1,16 +1,16 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rspec-expectations 3.13.0 ruby lib
2
+ # stub: rspec-expectations 3.13.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rspec-expectations".freeze
6
- s.version = "3.13.0".freeze
6
+ s.version = "3.13.1".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
- s.metadata = { "bug_tracker_uri" => "https://github.com/rspec/rspec-expectations/issues", "changelog_uri" => "https://github.com/rspec/rspec-expectations/blob/v3.13.0/Changelog.md", "documentation_uri" => "https://rspec.info/documentation/", "mailing_list_uri" => "https://groups.google.com/forum/#!forum/rspec", "source_code_uri" => "https://github.com/rspec/rspec-expectations" } if s.respond_to? :metadata=
9
+ s.metadata = { "bug_tracker_uri" => "https://github.com/rspec/rspec-expectations/issues", "changelog_uri" => "https://github.com/rspec/rspec-expectations/blob/v3.13.1/Changelog.md", "documentation_uri" => "https://rspec.info/documentation/", "mailing_list_uri" => "https://groups.google.com/forum/#!forum/rspec", "source_code_uri" => "https://github.com/rspec/rspec-expectations" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["Steven Baker".freeze, "David Chelimsky".freeze, "Myron Marston".freeze]
12
12
  s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIF1TCCA72gAwIBAgIJAPXjfUbCjdXUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD\nVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO\nMAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B\nCQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMTQxMjIzMDkzNTIyWhcNMjQx\nMjIyMDkzNTIyWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x\nEDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl\nYy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC\nIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI\nKMOHnJoExxRNHHxH+3w9kkl95YldvDRVX495b13ZCzwRe0AyqX24wq04tp0G5Z5C\ne/w2pnNK4ol1eECPwQu+YGpepeODlZICL5gwQspe0cDifbBnHx5QySMiPpvx6bC0\ntQTox0ppDIaMhch8IPCwyoE4DQK5bpsdwnLSHTsQjUIb7IM8tUMpd/iKrJgNffwc\n6gC1TmhIlzQoB26nCNh9uK7xZjUM+sGECzvcYuImchUaIgJA/ybrlZS+m/hxzvBo\nmLnn/xNEC6Vz5HG+3TR0Gb0cSUf6XUu2s51Jk/SJi3MhCZp2gs9OUg4EVZNzQVkZ\nefLBjAZG2Mxk14JyB4/Omc+Jk0ajprINCBbUNnxzCJrYDM3J9TVWIwyUGNX/U3MO\ns3tMAT+EVgx/mZMPnBO8EULlyF51MRUp3Wy9Mnw8AYLk30UnMG5AjqgO5JNyFlA7\nXeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK\nblXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC\ngpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u\n2FUsqZbbJcCmkBrGposCAwEAAaNQME4wHQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrW\nVv35J+TeMB8GA1UdIwQYMBaAFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQEFBQADggIBAIqbQSWH2aAF537DKwAMB8nMFsoe24MD\ngtuQAyjTtbH+QBE4N2RdQF/sU7Y3PYR7nqdrCsYc3RxyqM5XXi7I3IYdpfe1RuxY\n+pyPzVQsPPDhMlJlCrwJsADnxlpxZlAgxYSLKOan55ihscaAWA90wqRUrf/ZJM36\n8LWCPVn5teIt5aaxZWX68RMxa+AXvpbtJOBwXLkIFk3apD8CX4DhelIdw67DbkUe\nghUd/u62qrnqBTVgditt7OoWIZjzh24/Fda5d0MxZyvLILGOrf5bN4cTbe/q9Cid\nXrik7Upm+mu3y3yQIfrw85xybHq6iNXyYHvCdSrFfCIKrGpd/0CAdmYnJlx59Fk/\nUbD3Eyx4psBSkU+WKO0Uf+3zNI7N/nVeNIwU/Ft+l8l7/K+427656c+ZGWDO0Gt/\nBeEOSTDKP7qQ1T+JvMrBcBQo+i0cnRT10J1aoV90BhxsvWTRizIbugbaqR6Tq3bj\nAkt00cIlNSplL6DenIAKSh5kF7s0tRD0tC3bNkZmNjNGkdoGEcUODEpTB3RHKKiu\ne6k2Jg6m00z5vGFQhOnROG/QaUzMA3A3mFBe1RHFo07xd0pFeoeWL3vF69Gx9Jwp\nZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ\nF3MdtaDehhjC\n-----END CERTIFICATE-----\n".freeze]
13
- s.date = "2024-02-04"
13
+ s.date = "2024-06-13"
14
14
  s.description = "rspec-expectations provides a simple, readable API to express expected outcomes of a code example.".freeze
15
15
  s.email = "rspec@googlegroups.com".freeze
16
16
  s.homepage = "https://github.com/rspec/rspec-expectations".freeze
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.rdoc_options = ["--charset=UTF-8".freeze]
19
19
  s.required_ruby_version = Gem::Requirement.new(">= 1.8.7".freeze)
20
20
  s.rubygems_version = "3.4.21".freeze
21
- s.summary = "rspec-expectations-3.13.0".freeze
21
+ s.summary = "rspec-expectations-3.13.1".freeze
22
22
 
23
23
  s.installed_by_version = "3.4.21".freeze if s.respond_to? :installed_by_version
24
24
 
@@ -1,19 +1,20 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: stringio 3.1.0 ruby lib
2
+ # stub: stringio 3.1.1 ruby lib
3
3
  # stub: ext/stringio/extconf.rb
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "stringio".freeze
7
- s.version = "3.1.0".freeze
7
+ s.version = "3.1.1".freeze
8
8
 
9
9
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["Nobu Nakada".freeze, "Charles Oliver Nutter".freeze]
12
- s.date = "2023-11-28"
12
+ s.date = "2024-06-13"
13
13
  s.description = "Pseudo `IO` class from/to `String`.".freeze
14
14
  s.email = ["nobu@ruby-lang.org".freeze, "headius@headius.com".freeze]
15
15
  s.extensions = ["ext/stringio/extconf.rb".freeze]
16
- s.files = ["ext/stringio/extconf.rb".freeze]
16
+ s.extra_rdoc_files = [".document".freeze, ".rdoc_options".freeze, "COPYING".freeze, "LICENSE.txt".freeze, "NEWS.md".freeze, "README.md".freeze, "docs/io.rb".freeze, "ext/stringio/.document".freeze]
17
+ s.files = [".document".freeze, ".rdoc_options".freeze, "COPYING".freeze, "LICENSE.txt".freeze, "NEWS.md".freeze, "README.md".freeze, "docs/io.rb".freeze, "ext/stringio/.document".freeze, "ext/stringio/extconf.rb".freeze]
17
18
  s.homepage = "https://github.com/ruby/stringio".freeze
18
19
  s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze]
19
20
  s.required_ruby_version = Gem::Requirement.new(">= 2.7".freeze)