square.rb 44.0.0.20250820 → 44.0.1.20250820

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -9
  3. data/lib/square/apple_pay/client.rb +12 -6
  4. data/lib/square/bank_accounts/client.rb +40 -19
  5. data/lib/square/bookings/client.rb +124 -62
  6. data/lib/square/bookings/custom_attribute_definitions/client.rb +68 -32
  7. data/lib/square/bookings/custom_attributes/client.rb +80 -38
  8. data/lib/square/bookings/location_profiles/client.rb +16 -7
  9. data/lib/square/bookings/team_member_profiles/client.rb +28 -13
  10. data/lib/square/cards/client.rb +53 -24
  11. data/lib/square/cash_drawers/shifts/client.rb +48 -21
  12. data/lib/square/catalog/client.rb +112 -55
  13. data/lib/square/catalog/images/client.rb +22 -10
  14. data/lib/square/catalog/object/client.rb +40 -19
  15. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  16. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  17. data/lib/square/checkout/client.rb +48 -24
  18. data/lib/square/checkout/payment_links/client.rb +64 -31
  19. data/lib/square/client.rb +1 -1
  20. data/lib/square/customers/cards/client.rb +24 -12
  21. data/lib/square/customers/client.rb +128 -62
  22. data/lib/square/customers/custom_attribute_definitions/client.rb +80 -38
  23. data/lib/square/customers/custom_attributes/client.rb +56 -26
  24. data/lib/square/customers/groups/client.rb +88 -43
  25. data/lib/square/customers/segments/client.rb +28 -13
  26. data/lib/square/devices/client.rb +28 -13
  27. data/lib/square/devices/codes/client.rb +40 -19
  28. data/lib/square/disputes/client.rb +75 -36
  29. data/lib/square/disputes/evidence/client.rb +40 -19
  30. data/lib/square/employees/client.rb +28 -13
  31. data/lib/square/errors/api_error.rb +8 -0
  32. data/lib/square/errors/client_error.rb +17 -0
  33. data/lib/square/errors/redirect_error.rb +8 -0
  34. data/lib/square/errors/response_error.rb +42 -0
  35. data/lib/square/errors/server_error.rb +11 -0
  36. data/lib/square/errors/timeout_error.rb +8 -0
  37. data/lib/square/events/client.rb +52 -25
  38. data/lib/square/gift_cards/activities/client.rb +28 -14
  39. data/lib/square/gift_cards/client.rb +88 -43
  40. data/lib/square/inventory/client.rb +164 -80
  41. data/lib/square/invoices/client.rb +127 -61
  42. data/lib/square/labor/break_types/client.rb +64 -31
  43. data/lib/square/labor/client.rb +132 -66
  44. data/lib/square/labor/employee_wages/client.rb +28 -13
  45. data/lib/square/labor/shifts/client.rb +60 -30
  46. data/lib/square/labor/team_member_wages/client.rb +28 -13
  47. data/lib/square/labor/workweek_configs/client.rb +28 -13
  48. data/lib/square/locations/client.rb +60 -30
  49. data/lib/square/locations/custom_attribute_definitions/client.rb +68 -32
  50. data/lib/square/locations/custom_attributes/client.rb +80 -38
  51. data/lib/square/locations/transactions/client.rb +52 -25
  52. data/lib/square/loyalty/accounts/client.rb +60 -30
  53. data/lib/square/loyalty/client.rb +12 -6
  54. data/lib/square/loyalty/programs/client.rb +36 -18
  55. data/lib/square/loyalty/programs/promotions/client.rb +52 -25
  56. data/lib/square/loyalty/rewards/client.rb +60 -30
  57. data/lib/square/merchants/client.rb +28 -13
  58. data/lib/square/merchants/custom_attribute_definitions/client.rb +68 -32
  59. data/lib/square/merchants/custom_attributes/client.rb +80 -38
  60. data/lib/square/mobile/client.rb +12 -6
  61. data/lib/square/o_auth/client.rb +46 -22
  62. data/lib/square/orders/client.rb +98 -46
  63. data/lib/square/orders/custom_attribute_definitions/client.rb +68 -32
  64. data/lib/square/orders/custom_attributes/client.rb +80 -38
  65. data/lib/square/payments/client.rb +90 -44
  66. data/lib/square/payouts/client.rb +44 -20
  67. data/lib/square/refunds/client.rb +42 -20
  68. data/lib/square/sites/client.rb +12 -6
  69. data/lib/square/snippets/client.rb +36 -18
  70. data/lib/square/subscriptions/client.rb +153 -73
  71. data/lib/square/team/client.rb +53 -24
  72. data/lib/square/team_members/client.rb +72 -36
  73. data/lib/square/team_members/wage_setting/client.rb +24 -12
  74. data/lib/square/terminal/actions/client.rb +48 -24
  75. data/lib/square/terminal/checkouts/client.rb +48 -24
  76. data/lib/square/terminal/client.rb +36 -18
  77. data/lib/square/terminal/refunds/client.rb +48 -24
  78. data/lib/square/types/action_cancel_reason.rb +2 -1
  79. data/lib/square/types/activity_type.rb +2 -1
  80. data/lib/square/types/application_details_external_square_product.rb +2 -1
  81. data/lib/square/types/archived_state.rb +2 -1
  82. data/lib/square/types/bank_account_status.rb +2 -1
  83. data/lib/square/types/bank_account_type.rb +2 -1
  84. data/lib/square/types/booking_booking_source.rb +2 -1
  85. data/lib/square/types/booking_creator_details_creator_type.rb +2 -1
  86. data/lib/square/types/booking_status.rb +2 -1
  87. data/lib/square/types/business_appointment_settings_alignment_time.rb +2 -1
  88. data/lib/square/types/business_appointment_settings_booking_location_type.rb +2 -1
  89. data/lib/square/types/business_appointment_settings_cancellation_policy.rb +2 -1
  90. data/lib/square/types/business_appointment_settings_max_appointments_per_day_limit_type.rb +2 -1
  91. data/lib/square/types/business_booking_profile_booking_policy.rb +2 -1
  92. data/lib/square/types/business_booking_profile_customer_timezone_choice.rb +2 -1
  93. data/lib/square/types/card_brand.rb +2 -1
  94. data/lib/square/types/card_co_brand.rb +2 -1
  95. data/lib/square/types/card_prepaid_type.rb +2 -1
  96. data/lib/square/types/card_type.rb +2 -1
  97. data/lib/square/types/cash_drawer_event_type.rb +2 -1
  98. data/lib/square/types/cash_drawer_shift_state.rb +2 -1
  99. data/lib/square/types/catalog_category_type.rb +2 -1
  100. data/lib/square/types/catalog_custom_attribute_definition_app_visibility.rb +2 -1
  101. data/lib/square/types/catalog_custom_attribute_definition_seller_visibility.rb +2 -1
  102. data/lib/square/types/catalog_custom_attribute_definition_type.rb +2 -1
  103. data/lib/square/types/catalog_discount_modify_tax_basis.rb +2 -1
  104. data/lib/square/types/catalog_discount_type.rb +2 -1
  105. data/lib/square/types/catalog_id_mapping.rb +1 -1
  106. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_standard_dietary_preference.rb +2 -1
  107. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference_type.rb +2 -1
  108. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient_standard_ingredient.rb +2 -1
  109. data/lib/square/types/catalog_item_product_type.rb +2 -1
  110. data/lib/square/types/catalog_modifier_list_modifier_type.rb +2 -1
  111. data/lib/square/types/catalog_modifier_list_selection_type.rb +2 -1
  112. data/lib/square/types/catalog_object_reference.rb +1 -1
  113. data/lib/square/types/catalog_object_type.rb +2 -1
  114. data/lib/square/types/catalog_pricing_type.rb +2 -1
  115. data/lib/square/types/catalog_quick_amount_type.rb +2 -1
  116. data/lib/square/types/catalog_quick_amounts_settings_option.rb +2 -1
  117. data/lib/square/types/change_timing.rb +2 -1
  118. data/lib/square/types/checkout_location_settings_branding_button_shape.rb +2 -1
  119. data/lib/square/types/checkout_location_settings_branding_header_type.rb +2 -1
  120. data/lib/square/types/checkout_options_payment_type.rb +2 -1
  121. data/lib/square/types/component_component_type.rb +2 -1
  122. data/lib/square/types/country.rb +2 -1
  123. data/lib/square/types/create_catalog_image_request.rb +1 -1
  124. data/lib/square/types/currency.rb +2 -1
  125. data/lib/square/types/custom_attribute_definition_visibility.rb +2 -1
  126. data/lib/square/types/customer_creation_source.rb +2 -1
  127. data/lib/square/types/customer_inclusion_exclusion.rb +2 -1
  128. data/lib/square/types/customer_sort_field.rb +2 -1
  129. data/lib/square/types/data_collection_options_input_type.rb +2 -1
  130. data/lib/square/types/day_of_week.rb +2 -1
  131. data/lib/square/types/destination_type.rb +2 -1
  132. data/lib/square/types/device_code_status.rb +2 -1
  133. data/lib/square/types/device_component_details_external_power.rb +2 -1
  134. data/lib/square/types/device_status_category.rb +2 -1
  135. data/lib/square/types/dispute_evidence_type.rb +2 -1
  136. data/lib/square/types/dispute_reason.rb +2 -1
  137. data/lib/square/types/dispute_state.rb +2 -1
  138. data/lib/square/types/ecom_visibility.rb +2 -1
  139. data/lib/square/types/employee_status.rb +2 -1
  140. data/lib/square/types/error_category.rb +2 -1
  141. data/lib/square/types/error_code.rb +2 -1
  142. data/lib/square/types/exclude_strategy.rb +2 -1
  143. data/lib/square/types/fulfillment_delivery_details_order_fulfillment_delivery_details_schedule_type.rb +2 -1
  144. data/lib/square/types/fulfillment_fulfillment_line_item_application.rb +2 -1
  145. data/lib/square/types/fulfillment_pickup_details_schedule_type.rb +2 -1
  146. data/lib/square/types/fulfillment_state.rb +2 -1
  147. data/lib/square/types/fulfillment_type.rb +2 -1
  148. data/lib/square/types/gift_card_activity_adjust_decrement_reason.rb +2 -1
  149. data/lib/square/types/gift_card_activity_adjust_increment_reason.rb +2 -1
  150. data/lib/square/types/gift_card_activity_clear_balance_reason.rb +2 -1
  151. data/lib/square/types/gift_card_activity_deactivate_reason.rb +2 -1
  152. data/lib/square/types/gift_card_activity_redeem_status.rb +2 -1
  153. data/lib/square/types/gift_card_activity_type.rb +2 -1
  154. data/lib/square/types/gift_card_gan_source.rb +2 -1
  155. data/lib/square/types/gift_card_status.rb +2 -1
  156. data/lib/square/types/gift_card_type.rb +2 -1
  157. data/lib/square/types/inventory_alert_type.rb +2 -1
  158. data/lib/square/types/inventory_change_type.rb +2 -1
  159. data/lib/square/types/inventory_state.rb +2 -1
  160. data/lib/square/types/invoice_attachment.rb +1 -1
  161. data/lib/square/types/invoice_automatic_payment_source.rb +2 -1
  162. data/lib/square/types/invoice_custom_field_placement.rb +2 -1
  163. data/lib/square/types/invoice_delivery_method.rb +2 -1
  164. data/lib/square/types/invoice_payment_reminder_status.rb +2 -1
  165. data/lib/square/types/invoice_request_method.rb +2 -1
  166. data/lib/square/types/invoice_request_type.rb +2 -1
  167. data/lib/square/types/invoice_status.rb +2 -1
  168. data/lib/square/types/job_assignment_pay_type.rb +2 -1
  169. data/lib/square/types/list_payment_refunds_request_sort_field.rb +2 -1
  170. data/lib/square/types/list_payments_request_sort_field.rb +2 -1
  171. data/lib/square/types/location_capability.rb +2 -1
  172. data/lib/square/types/location_status.rb +2 -1
  173. data/lib/square/types/location_type.rb +2 -1
  174. data/lib/square/types/loyalty_event_source.rb +2 -1
  175. data/lib/square/types/loyalty_event_type.rb +2 -1
  176. data/lib/square/types/loyalty_program_accrual_rule_tax_mode.rb +2 -1
  177. data/lib/square/types/loyalty_program_accrual_rule_type.rb +2 -1
  178. data/lib/square/types/loyalty_program_status.rb +2 -1
  179. data/lib/square/types/loyalty_promotion_incentive_type.rb +2 -1
  180. data/lib/square/types/loyalty_promotion_status.rb +2 -1
  181. data/lib/square/types/loyalty_promotion_trigger_limit_interval.rb +2 -1
  182. data/lib/square/types/loyalty_reward_status.rb +2 -1
  183. data/lib/square/types/measurement_unit_area.rb +2 -1
  184. data/lib/square/types/measurement_unit_length.rb +2 -1
  185. data/lib/square/types/measurement_unit_time.rb +2 -1
  186. data/lib/square/types/measurement_unit_unit_type.rb +2 -1
  187. data/lib/square/types/measurement_unit_volume.rb +2 -1
  188. data/lib/square/types/measurement_unit_weight.rb +2 -1
  189. data/lib/square/types/merchant_status.rb +2 -1
  190. data/lib/square/types/oauth_authorization_revoked_event_revoker_type.rb +2 -1
  191. data/lib/square/types/order_fulfillment_delivery_details_schedule_type.rb +2 -1
  192. data/lib/square/types/order_fulfillment_fulfillment_line_item_application.rb +2 -1
  193. data/lib/square/types/order_fulfillment_pickup_details_schedule_type.rb +2 -1
  194. data/lib/square/types/order_fulfillment_state.rb +2 -1
  195. data/lib/square/types/order_fulfillment_type.rb +2 -1
  196. data/lib/square/types/order_line_item_discount_scope.rb +2 -1
  197. data/lib/square/types/order_line_item_discount_type.rb +2 -1
  198. data/lib/square/types/order_line_item_item_type.rb +2 -1
  199. data/lib/square/types/order_line_item_tax_scope.rb +2 -1
  200. data/lib/square/types/order_line_item_tax_type.rb +2 -1
  201. data/lib/square/types/order_service_charge_calculation_phase.rb +2 -1
  202. data/lib/square/types/order_service_charge_scope.rb +2 -1
  203. data/lib/square/types/order_service_charge_treatment_type.rb +2 -1
  204. data/lib/square/types/order_service_charge_type.rb +2 -1
  205. data/lib/square/types/order_state.rb +2 -1
  206. data/lib/square/types/payment_options_delay_action.rb +2 -1
  207. data/lib/square/types/payout_fee_type.rb +2 -1
  208. data/lib/square/types/payout_status.rb +2 -1
  209. data/lib/square/types/payout_type.rb +2 -1
  210. data/lib/square/types/product.rb +2 -1
  211. data/lib/square/types/refund_status.rb +2 -1
  212. data/lib/square/types/register_domain_response_status.rb +2 -1
  213. data/lib/square/types/risk_evaluation_risk_level.rb +2 -1
  214. data/lib/square/types/scheduled_shift_filter_assignment_status.rb +2 -1
  215. data/lib/square/types/scheduled_shift_filter_scheduled_shift_status.rb +2 -1
  216. data/lib/square/types/scheduled_shift_notification_audience.rb +2 -1
  217. data/lib/square/types/scheduled_shift_sort_field.rb +2 -1
  218. data/lib/square/types/scheduled_shift_workday_matcher.rb +2 -1
  219. data/lib/square/types/search_catalog_items_request_stock_level.rb +2 -1
  220. data/lib/square/types/search_orders_sort_field.rb +2 -1
  221. data/lib/square/types/search_vendors_request_sort_field.rb +2 -1
  222. data/lib/square/types/shift_filter_status.rb +2 -1
  223. data/lib/square/types/shift_sort_field.rb +2 -1
  224. data/lib/square/types/shift_status.rb +2 -1
  225. data/lib/square/types/shift_workday_matcher.rb +2 -1
  226. data/lib/square/types/sort_order.rb +2 -1
  227. data/lib/square/types/subscription_action_type.rb +2 -1
  228. data/lib/square/types/subscription_cadence.rb +2 -1
  229. data/lib/square/types/subscription_event_info_code.rb +2 -1
  230. data/lib/square/types/subscription_event_subscription_event_type.rb +2 -1
  231. data/lib/square/types/subscription_pricing_type.rb +2 -1
  232. data/lib/square/types/subscription_status.rb +2 -1
  233. data/lib/square/types/tax_calculation_phase.rb +2 -1
  234. data/lib/square/types/tax_inclusion_type.rb +2 -1
  235. data/lib/square/types/team_member_assigned_locations_assignment_type.rb +2 -1
  236. data/lib/square/types/team_member_invitation_status.rb +2 -1
  237. data/lib/square/types/team_member_status.rb +2 -1
  238. data/lib/square/types/tender_bank_account_details_status.rb +2 -1
  239. data/lib/square/types/tender_buy_now_pay_later_details_brand.rb +2 -1
  240. data/lib/square/types/tender_buy_now_pay_later_details_status.rb +2 -1
  241. data/lib/square/types/tender_card_details_entry_method.rb +2 -1
  242. data/lib/square/types/tender_card_details_status.rb +2 -1
  243. data/lib/square/types/tender_square_account_details_status.rb +2 -1
  244. data/lib/square/types/tender_type.rb +2 -1
  245. data/lib/square/types/terminal_action_action_type.rb +2 -1
  246. data/lib/square/types/timecard_filter_status.rb +2 -1
  247. data/lib/square/types/timecard_sort_field.rb +2 -1
  248. data/lib/square/types/timecard_status.rb +2 -1
  249. data/lib/square/types/timecard_workday_matcher.rb +2 -1
  250. data/lib/square/types/transaction_product.rb +2 -1
  251. data/lib/square/types/transaction_type.rb +2 -1
  252. data/lib/square/types/v_1_order_history_entry_action.rb +2 -1
  253. data/lib/square/types/v_1_order_state.rb +2 -1
  254. data/lib/square/types/v_1_tender_card_brand.rb +2 -1
  255. data/lib/square/types/v_1_tender_entry_method.rb +2 -1
  256. data/lib/square/types/v_1_tender_type.rb +2 -1
  257. data/lib/square/types/v_1_update_order_request_action.rb +2 -1
  258. data/lib/square/types/vendor_status.rb +2 -1
  259. data/lib/square/types/visibility_filter.rb +2 -1
  260. data/lib/square/types/weekday.rb +2 -1
  261. data/lib/square/v_1_transactions/client.rb +40 -15
  262. data/lib/square/vendors/client.rb +84 -42
  263. data/lib/square/version.rb +5 -0
  264. data/lib/square/webhooks/event_types/client.rb +16 -7
  265. data/lib/square/webhooks/subscriptions/client.rb +88 -43
  266. data/lib/square.rb +7 -6
  267. data/test/square/integration/client_tests/test_catalog.rb +3 -0
  268. metadata +9 -2
@@ -13,17 +13,23 @@ module Square
13
13
  # @return [Square::Types::SearchEventsResponse]
14
14
  def search_events(request_options: {}, **params)
15
15
  _request = Square::Internal::JSON::Request.new(
16
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
16
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
17
17
  method: "POST",
18
18
  path: "v2/events",
19
19
  body: params
20
20
  )
21
- _response = @client.send(_request)
22
- if _response.code >= "200" && _response.code < "300"
23
- return Square::Types::SearchEventsResponse.load(_response.body)
21
+ begin
22
+ _response = @client.send(_request)
23
+ rescue Net::HTTPRequestTimeout
24
+ raise Square::Errors::TimeoutError
25
+ end
26
+ code = _response.code.to_i
27
+ if code.between?(200, 299)
28
+ Square::Types::SearchEventsResponse.load(_response.body)
29
+ else
30
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
31
+ raise error_class.new(_response.body, code: code)
24
32
  end
25
-
26
- raise _response.body
27
33
  end
28
34
 
29
35
  # Disables events to prevent them from being searchable.
@@ -33,16 +39,22 @@ module Square
33
39
  # @return [Square::Types::DisableEventsResponse]
34
40
  def disable_events(request_options: {}, **_params)
35
41
  _request = Square::Internal::JSON::Request.new(
36
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
42
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
37
43
  method: "PUT",
38
44
  path: "v2/events/disable"
39
45
  )
40
- _response = @client.send(_request)
41
- if _response.code >= "200" && _response.code < "300"
42
- return Square::Types::DisableEventsResponse.load(_response.body)
46
+ begin
47
+ _response = @client.send(_request)
48
+ rescue Net::HTTPRequestTimeout
49
+ raise Square::Errors::TimeoutError
50
+ end
51
+ code = _response.code.to_i
52
+ if code.between?(200, 299)
53
+ Square::Types::DisableEventsResponse.load(_response.body)
54
+ else
55
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
56
+ raise error_class.new(_response.body, code: code)
43
57
  end
44
-
45
- raise _response.body
46
58
  end
47
59
 
48
60
  # Enables events to make them searchable. Only events that occur while in the enabled state are searchable.
@@ -50,38 +62,53 @@ module Square
50
62
  # @return [Square::Types::EnableEventsResponse]
51
63
  def enable_events(request_options: {}, **_params)
52
64
  _request = Square::Internal::JSON::Request.new(
53
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
65
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
54
66
  method: "PUT",
55
67
  path: "v2/events/enable"
56
68
  )
57
- _response = @client.send(_request)
58
- if _response.code >= "200" && _response.code < "300"
59
- return Square::Types::EnableEventsResponse.load(_response.body)
69
+ begin
70
+ _response = @client.send(_request)
71
+ rescue Net::HTTPRequestTimeout
72
+ raise Square::Errors::TimeoutError
73
+ end
74
+ code = _response.code.to_i
75
+ if code.between?(200, 299)
76
+ Square::Types::EnableEventsResponse.load(_response.body)
77
+ else
78
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
79
+ raise error_class.new(_response.body, code: code)
60
80
  end
61
-
62
- raise _response.body
63
81
  end
64
82
 
65
83
  # Lists all event types that you can subscribe to as webhooks or query using the Events API.
66
84
  #
67
85
  # @return [Square::Types::ListEventTypesResponse]
68
86
  def list_event_types(request_options: {}, **params)
69
- _query_param_names = ["api_version"]
87
+ _query_param_names = [
88
+ ["api_version"],
89
+ %i[api_version]
90
+ ].flatten
70
91
  _query = params.slice(*_query_param_names)
71
92
  params.except(*_query_param_names)
72
93
 
73
94
  _request = Square::Internal::JSON::Request.new(
74
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
95
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
75
96
  method: "GET",
76
97
  path: "v2/events/types",
77
98
  query: _query
78
99
  )
79
- _response = @client.send(_request)
80
- if _response.code >= "200" && _response.code < "300"
81
- return Square::Types::ListEventTypesResponse.load(_response.body)
100
+ begin
101
+ _response = @client.send(_request)
102
+ rescue Net::HTTPRequestTimeout
103
+ raise Square::Errors::TimeoutError
104
+ end
105
+ code = _response.code.to_i
106
+ if code.between?(200, 299)
107
+ Square::Types::ListEventTypesResponse.load(_response.body)
108
+ else
109
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
110
+ raise error_class.new(_response.body, code: code)
82
111
  end
83
-
84
- raise _response.body
85
112
  end
86
113
  end
87
114
  end
@@ -16,23 +16,31 @@ module Square
16
16
  #
17
17
  # @return [Square::Types::ListGiftCardActivitiesResponse]
18
18
  def list(request_options: {}, **params)
19
- _query_param_names = %w[gift_card_id type location_id begin_time end_time limit cursor
20
- sort_order]
19
+ _query_param_names = [
20
+ %w[gift_card_id type location_id begin_time end_time limit cursor sort_order],
21
+ %i[gift_card_id type location_id begin_time end_time limit cursor sort_order]
22
+ ].flatten
21
23
  _query = params.slice(*_query_param_names)
22
24
  params.except(*_query_param_names)
23
25
 
24
26
  _request = Square::Internal::JSON::Request.new(
25
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
27
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
26
28
  method: "GET",
27
29
  path: "v2/gift-cards/activities",
28
30
  query: _query
29
31
  )
30
- _response = @client.send(_request)
31
- if _response.code >= "200" && _response.code < "300"
32
- return Square::Types::ListGiftCardActivitiesResponse.load(_response.body)
32
+ begin
33
+ _response = @client.send(_request)
34
+ rescue Net::HTTPRequestTimeout
35
+ raise Square::Errors::TimeoutError
36
+ end
37
+ code = _response.code.to_i
38
+ if code.between?(200, 299)
39
+ Square::Types::ListGiftCardActivitiesResponse.load(_response.body)
40
+ else
41
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
42
+ raise error_class.new(_response.body, code: code)
33
43
  end
34
-
35
- raise _response.body
36
44
  end
37
45
 
38
46
  # Creates a gift card activity to manage the balance or state of a [gift card](entity:GiftCard).
@@ -41,17 +49,23 @@ module Square
41
49
  # @return [Square::Types::CreateGiftCardActivityResponse]
42
50
  def create(request_options: {}, **params)
43
51
  _request = Square::Internal::JSON::Request.new(
44
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
52
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
45
53
  method: "POST",
46
54
  path: "v2/gift-cards/activities",
47
55
  body: params
48
56
  )
49
- _response = @client.send(_request)
50
- if _response.code >= "200" && _response.code < "300"
51
- return Square::Types::CreateGiftCardActivityResponse.load(_response.body)
57
+ begin
58
+ _response = @client.send(_request)
59
+ rescue Net::HTTPRequestTimeout
60
+ raise Square::Errors::TimeoutError
61
+ end
62
+ code = _response.code.to_i
63
+ if code.between?(200, 299)
64
+ Square::Types::CreateGiftCardActivityResponse.load(_response.body)
65
+ else
66
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
+ raise error_class.new(_response.body, code: code)
52
68
  end
53
-
54
- raise _response.body
55
69
  end
56
70
  end
57
71
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListGiftCardsResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[type state limit cursor customer_id]
16
+ _query_param_names = [
17
+ %w[type state limit cursor customer_id],
18
+ %i[type state limit cursor customer_id]
19
+ ].flatten
17
20
  _query = params.slice(*_query_param_names)
18
21
  params.except(*_query_param_names)
19
22
 
20
23
  _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
24
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
25
  method: "GET",
23
26
  path: "v2/gift-cards",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListGiftCardsResponse.load(_response.body)
29
+ begin
30
+ _response = @client.send(_request)
31
+ rescue Net::HTTPRequestTimeout
32
+ raise Square::Errors::TimeoutError
33
+ end
34
+ code = _response.code.to_i
35
+ if code.between?(200, 299)
36
+ Square::Types::ListGiftCardsResponse.load(_response.body)
37
+ else
38
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
+ raise error_class.new(_response.body, code: code)
29
40
  end
30
-
31
- raise _response.body
32
41
  end
33
42
 
34
43
  # Creates a digital gift card or registers a physical (plastic) gift card. The resulting gift card
@@ -40,17 +49,23 @@ module Square
40
49
  # @return [Square::Types::CreateGiftCardResponse]
41
50
  def create(request_options: {}, **params)
42
51
  _request = Square::Internal::JSON::Request.new(
43
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
52
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
44
53
  method: "POST",
45
54
  path: "v2/gift-cards",
46
55
  body: params
47
56
  )
48
- _response = @client.send(_request)
49
- if _response.code >= "200" && _response.code < "300"
50
- return Square::Types::CreateGiftCardResponse.load(_response.body)
57
+ begin
58
+ _response = @client.send(_request)
59
+ rescue Net::HTTPRequestTimeout
60
+ raise Square::Errors::TimeoutError
61
+ end
62
+ code = _response.code.to_i
63
+ if code.between?(200, 299)
64
+ Square::Types::CreateGiftCardResponse.load(_response.body)
65
+ else
66
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
+ raise error_class.new(_response.body, code: code)
51
68
  end
52
-
53
- raise _response.body
54
69
  end
55
70
 
56
71
  # Retrieves a gift card using the gift card account number (GAN).
@@ -58,17 +73,23 @@ module Square
58
73
  # @return [Square::Types::GetGiftCardFromGanResponse]
59
74
  def get_from_gan(request_options: {}, **params)
60
75
  _request = Square::Internal::JSON::Request.new(
61
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
76
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
62
77
  method: "POST",
63
78
  path: "v2/gift-cards/from-gan",
64
79
  body: params
65
80
  )
66
- _response = @client.send(_request)
67
- if _response.code >= "200" && _response.code < "300"
68
- return Square::Types::GetGiftCardFromGanResponse.load(_response.body)
81
+ begin
82
+ _response = @client.send(_request)
83
+ rescue Net::HTTPRequestTimeout
84
+ raise Square::Errors::TimeoutError
85
+ end
86
+ code = _response.code.to_i
87
+ if code.between?(200, 299)
88
+ Square::Types::GetGiftCardFromGanResponse.load(_response.body)
89
+ else
90
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
91
+ raise error_class.new(_response.body, code: code)
69
92
  end
70
-
71
- raise _response.body
72
93
  end
73
94
 
74
95
  # Retrieves a gift card using a secure payment token that represents the gift card.
@@ -76,17 +97,23 @@ module Square
76
97
  # @return [Square::Types::GetGiftCardFromNonceResponse]
77
98
  def get_from_nonce(request_options: {}, **params)
78
99
  _request = Square::Internal::JSON::Request.new(
79
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
100
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
80
101
  method: "POST",
81
102
  path: "v2/gift-cards/from-nonce",
82
103
  body: params
83
104
  )
84
- _response = @client.send(_request)
85
- if _response.code >= "200" && _response.code < "300"
86
- return Square::Types::GetGiftCardFromNonceResponse.load(_response.body)
105
+ begin
106
+ _response = @client.send(_request)
107
+ rescue Net::HTTPRequestTimeout
108
+ raise Square::Errors::TimeoutError
109
+ end
110
+ code = _response.code.to_i
111
+ if code.between?(200, 299)
112
+ Square::Types::GetGiftCardFromNonceResponse.load(_response.body)
113
+ else
114
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
115
+ raise error_class.new(_response.body, code: code)
87
116
  end
88
-
89
- raise _response.body
90
117
  end
91
118
 
92
119
  # Links a customer to a gift card, which is also referred to as adding a card on file.
@@ -96,17 +123,23 @@ module Square
96
123
  _path_param_names = ["gift_card_id"]
97
124
 
98
125
  _request = Square::Internal::JSON::Request.new(
99
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
126
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
100
127
  method: "POST",
101
128
  path: "v2/gift-cards/#{params[:gift_card_id]}/link-customer",
102
129
  body: params.except(*_path_param_names)
103
130
  )
104
- _response = @client.send(_request)
105
- if _response.code >= "200" && _response.code < "300"
106
- return Square::Types::LinkCustomerToGiftCardResponse.load(_response.body)
131
+ begin
132
+ _response = @client.send(_request)
133
+ rescue Net::HTTPRequestTimeout
134
+ raise Square::Errors::TimeoutError
135
+ end
136
+ code = _response.code.to_i
137
+ if code.between?(200, 299)
138
+ Square::Types::LinkCustomerToGiftCardResponse.load(_response.body)
139
+ else
140
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
141
+ raise error_class.new(_response.body, code: code)
107
142
  end
108
-
109
- raise _response.body
110
143
  end
111
144
 
112
145
  # Unlinks a customer from a gift card, which is also referred to as removing a card on file.
@@ -116,17 +149,23 @@ module Square
116
149
  _path_param_names = ["gift_card_id"]
117
150
 
118
151
  _request = Square::Internal::JSON::Request.new(
119
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
152
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
120
153
  method: "POST",
121
154
  path: "v2/gift-cards/#{params[:gift_card_id]}/unlink-customer",
122
155
  body: params.except(*_path_param_names)
123
156
  )
124
- _response = @client.send(_request)
125
- if _response.code >= "200" && _response.code < "300"
126
- return Square::Types::UnlinkCustomerFromGiftCardResponse.load(_response.body)
157
+ begin
158
+ _response = @client.send(_request)
159
+ rescue Net::HTTPRequestTimeout
160
+ raise Square::Errors::TimeoutError
161
+ end
162
+ code = _response.code.to_i
163
+ if code.between?(200, 299)
164
+ Square::Types::UnlinkCustomerFromGiftCardResponse.load(_response.body)
165
+ else
166
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
167
+ raise error_class.new(_response.body, code: code)
127
168
  end
128
-
129
- raise _response.body
130
169
  end
131
170
 
132
171
  # Retrieves a gift card using the gift card ID.
@@ -134,16 +173,22 @@ module Square
134
173
  # @return [Square::Types::GetGiftCardResponse]
135
174
  def get(request_options: {}, **params)
136
175
  _request = Square::Internal::JSON::Request.new(
137
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
176
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
138
177
  method: "GET",
139
178
  path: "v2/gift-cards/#{params[:id]}"
140
179
  )
141
- _response = @client.send(_request)
142
- if _response.code >= "200" && _response.code < "300"
143
- return Square::Types::GetGiftCardResponse.load(_response.body)
180
+ begin
181
+ _response = @client.send(_request)
182
+ rescue Net::HTTPRequestTimeout
183
+ raise Square::Errors::TimeoutError
184
+ end
185
+ code = _response.code.to_i
186
+ if code.between?(200, 299)
187
+ Square::Types::GetGiftCardResponse.load(_response.body)
188
+ else
189
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
190
+ raise error_class.new(_response.body, code: code)
144
191
  end
145
-
146
- raise _response.body
147
192
  end
148
193
 
149
194
  # @return [Square::Activities::Client]