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
@@ -16,22 +16,31 @@ module Square
16
16
  #
17
17
  # @return [Square::Types::ListBookingCustomAttributeDefinitionsResponse]
18
18
  def list(request_options: {}, **params)
19
- _query_param_names = %w[limit cursor]
19
+ _query_param_names = [
20
+ %w[limit cursor],
21
+ %i[limit cursor]
22
+ ].flatten
20
23
  _query = params.slice(*_query_param_names)
21
24
  params.except(*_query_param_names)
22
25
 
23
26
  _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
27
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
28
  method: "GET",
26
29
  path: "v2/bookings/custom-attribute-definitions",
27
30
  query: _query
28
31
  )
29
- _response = @client.send(_request)
30
- if _response.code >= "200" && _response.code < "300"
31
- return Square::Types::ListBookingCustomAttributeDefinitionsResponse.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::ListBookingCustomAttributeDefinitionsResponse.load(_response.body)
40
+ else
41
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
42
+ raise error_class.new(_response.body, code: code)
32
43
  end
33
-
34
- raise _response.body
35
44
  end
36
45
 
37
46
  # Creates a bookings custom attribute definition.
@@ -45,17 +54,23 @@ module Square
45
54
  # @return [Square::Types::CreateBookingCustomAttributeDefinitionResponse]
46
55
  def create(request_options: {}, **params)
47
56
  _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
57
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
49
58
  method: "POST",
50
59
  path: "v2/bookings/custom-attribute-definitions",
51
60
  body: params
52
61
  )
53
- _response = @client.send(_request)
54
- if _response.code >= "200" && _response.code < "300"
55
- return Square::Types::CreateBookingCustomAttributeDefinitionResponse.load(_response.body)
62
+ begin
63
+ _response = @client.send(_request)
64
+ rescue Net::HTTPRequestTimeout
65
+ raise Square::Errors::TimeoutError
66
+ end
67
+ code = _response.code.to_i
68
+ if code.between?(200, 299)
69
+ Square::Types::CreateBookingCustomAttributeDefinitionResponse.load(_response.body)
70
+ else
71
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
72
+ raise error_class.new(_response.body, code: code)
56
73
  end
57
-
58
- raise _response.body
59
74
  end
60
75
 
61
76
  # Retrieves a bookings custom attribute definition.
@@ -65,22 +80,31 @@ module Square
65
80
  #
66
81
  # @return [Square::Types::RetrieveBookingCustomAttributeDefinitionResponse]
67
82
  def get(request_options: {}, **params)
68
- _query_param_names = ["version"]
83
+ _query_param_names = [
84
+ ["version"],
85
+ %i[version]
86
+ ].flatten
69
87
  _query = params.slice(*_query_param_names)
70
88
  params = params.except(*_query_param_names)
71
89
 
72
90
  _request = Square::Internal::JSON::Request.new(
73
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
91
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
74
92
  method: "GET",
75
93
  path: "v2/bookings/custom-attribute-definitions/#{params[:key]}",
76
94
  query: _query
77
95
  )
78
- _response = @client.send(_request)
79
- if _response.code >= "200" && _response.code < "300"
80
- return Square::Types::RetrieveBookingCustomAttributeDefinitionResponse.load(_response.body)
96
+ begin
97
+ _response = @client.send(_request)
98
+ rescue Net::HTTPRequestTimeout
99
+ raise Square::Errors::TimeoutError
100
+ end
101
+ code = _response.code.to_i
102
+ if code.between?(200, 299)
103
+ Square::Types::RetrieveBookingCustomAttributeDefinitionResponse.load(_response.body)
104
+ else
105
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
106
+ raise error_class.new(_response.body, code: code)
81
107
  end
82
-
83
- raise _response.body
84
108
  end
85
109
 
86
110
  # Updates a bookings custom attribute definition.
@@ -96,17 +120,23 @@ module Square
96
120
  _path_param_names = ["key"]
97
121
 
98
122
  _request = Square::Internal::JSON::Request.new(
99
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
123
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
100
124
  method: "PUT",
101
125
  path: "v2/bookings/custom-attribute-definitions/#{params[:key]}",
102
126
  body: params.except(*_path_param_names)
103
127
  )
104
- _response = @client.send(_request)
105
- if _response.code >= "200" && _response.code < "300"
106
- return Square::Types::UpdateBookingCustomAttributeDefinitionResponse.load(_response.body)
128
+ begin
129
+ _response = @client.send(_request)
130
+ rescue Net::HTTPRequestTimeout
131
+ raise Square::Errors::TimeoutError
132
+ end
133
+ code = _response.code.to_i
134
+ if code.between?(200, 299)
135
+ Square::Types::UpdateBookingCustomAttributeDefinitionResponse.load(_response.body)
136
+ else
137
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
138
+ raise error_class.new(_response.body, code: code)
107
139
  end
108
-
109
- raise _response.body
110
140
  end
111
141
 
112
142
  # Deletes a bookings custom attribute definition.
@@ -120,16 +150,22 @@ module Square
120
150
  # @return [Square::Types::DeleteBookingCustomAttributeDefinitionResponse]
121
151
  def delete(request_options: {}, **params)
122
152
  _request = Square::Internal::JSON::Request.new(
123
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
153
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
124
154
  method: "DELETE",
125
155
  path: "v2/bookings/custom-attribute-definitions/#{params[:key]}"
126
156
  )
127
- _response = @client.send(_request)
128
- if _response.code >= "200" && _response.code < "300"
129
- return Square::Types::DeleteBookingCustomAttributeDefinitionResponse.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::DeleteBookingCustomAttributeDefinitionResponse.load(_response.body)
165
+ else
166
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
167
+ raise error_class.new(_response.body, code: code)
130
168
  end
131
-
132
- raise _response.body
133
169
  end
134
170
  end
135
171
  end
@@ -20,17 +20,23 @@ module Square
20
20
  # @return [Square::Types::BulkDeleteBookingCustomAttributesResponse]
21
21
  def batch_delete(request_options: {}, **params)
22
22
  _request = Square::Internal::JSON::Request.new(
23
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
23
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
24
24
  method: "POST",
25
25
  path: "v2/bookings/custom-attributes/bulk-delete",
26
26
  body: params
27
27
  )
28
- _response = @client.send(_request)
29
- if _response.code >= "200" && _response.code < "300"
30
- return Square::Types::BulkDeleteBookingCustomAttributesResponse.load(_response.body)
28
+ begin
29
+ _response = @client.send(_request)
30
+ rescue Net::HTTPRequestTimeout
31
+ raise Square::Errors::TimeoutError
32
+ end
33
+ code = _response.code.to_i
34
+ if code.between?(200, 299)
35
+ Square::Types::BulkDeleteBookingCustomAttributesResponse.load(_response.body)
36
+ else
37
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
+ raise error_class.new(_response.body, code: code)
31
39
  end
32
-
33
- raise _response.body
34
40
  end
35
41
 
36
42
  # Bulk upserts bookings custom attributes.
@@ -44,17 +50,23 @@ module Square
44
50
  # @return [Square::Types::BulkUpsertBookingCustomAttributesResponse]
45
51
  def batch_upsert(request_options: {}, **params)
46
52
  _request = Square::Internal::JSON::Request.new(
47
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
53
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
48
54
  method: "POST",
49
55
  path: "v2/bookings/custom-attributes/bulk-upsert",
50
56
  body: params
51
57
  )
52
- _response = @client.send(_request)
53
- if _response.code >= "200" && _response.code < "300"
54
- return Square::Types::BulkUpsertBookingCustomAttributesResponse.load(_response.body)
58
+ begin
59
+ _response = @client.send(_request)
60
+ rescue Net::HTTPRequestTimeout
61
+ raise Square::Errors::TimeoutError
62
+ end
63
+ code = _response.code.to_i
64
+ if code.between?(200, 299)
65
+ Square::Types::BulkUpsertBookingCustomAttributesResponse.load(_response.body)
66
+ else
67
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
68
+ raise error_class.new(_response.body, code: code)
55
69
  end
56
-
57
- raise _response.body
58
70
  end
59
71
 
60
72
  # Lists a booking's custom attributes.
@@ -64,22 +76,31 @@ module Square
64
76
  #
65
77
  # @return [Square::Types::ListBookingCustomAttributesResponse]
66
78
  def list(request_options: {}, **params)
67
- _query_param_names = %w[limit cursor with_definitions]
79
+ _query_param_names = [
80
+ %w[limit cursor with_definitions],
81
+ %i[limit cursor with_definitions]
82
+ ].flatten
68
83
  _query = params.slice(*_query_param_names)
69
84
  params = params.except(*_query_param_names)
70
85
 
71
86
  _request = Square::Internal::JSON::Request.new(
72
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
87
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
73
88
  method: "GET",
74
89
  path: "v2/bookings/#{params[:booking_id]}/custom-attributes",
75
90
  query: _query
76
91
  )
77
- _response = @client.send(_request)
78
- if _response.code >= "200" && _response.code < "300"
79
- return Square::Types::ListBookingCustomAttributesResponse.load(_response.body)
92
+ begin
93
+ _response = @client.send(_request)
94
+ rescue Net::HTTPRequestTimeout
95
+ raise Square::Errors::TimeoutError
96
+ end
97
+ code = _response.code.to_i
98
+ if code.between?(200, 299)
99
+ Square::Types::ListBookingCustomAttributesResponse.load(_response.body)
100
+ else
101
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
102
+ raise error_class.new(_response.body, code: code)
80
103
  end
81
-
82
- raise _response.body
83
104
  end
84
105
 
85
106
  # Retrieves a bookings custom attribute.
@@ -89,22 +110,31 @@ module Square
89
110
  #
90
111
  # @return [Square::Types::RetrieveBookingCustomAttributeResponse]
91
112
  def get(request_options: {}, **params)
92
- _query_param_names = %w[with_definition version]
113
+ _query_param_names = [
114
+ %w[with_definition version],
115
+ %i[with_definition version]
116
+ ].flatten
93
117
  _query = params.slice(*_query_param_names)
94
118
  params = params.except(*_query_param_names)
95
119
 
96
120
  _request = Square::Internal::JSON::Request.new(
97
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
121
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
98
122
  method: "GET",
99
123
  path: "v2/bookings/#{params[:booking_id]}/custom-attributes/#{params[:key]}",
100
124
  query: _query
101
125
  )
102
- _response = @client.send(_request)
103
- if _response.code >= "200" && _response.code < "300"
104
- return Square::Types::RetrieveBookingCustomAttributeResponse.load(_response.body)
126
+ begin
127
+ _response = @client.send(_request)
128
+ rescue Net::HTTPRequestTimeout
129
+ raise Square::Errors::TimeoutError
130
+ end
131
+ code = _response.code.to_i
132
+ if code.between?(200, 299)
133
+ Square::Types::RetrieveBookingCustomAttributeResponse.load(_response.body)
134
+ else
135
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
136
+ raise error_class.new(_response.body, code: code)
105
137
  end
106
-
107
- raise _response.body
108
138
  end
109
139
 
110
140
  # Upserts a bookings custom attribute.
@@ -120,17 +150,23 @@ module Square
120
150
  _path_param_names = %w[booking_id key]
121
151
 
122
152
  _request = Square::Internal::JSON::Request.new(
123
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
153
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
124
154
  method: "PUT",
125
155
  path: "v2/bookings/#{params[:booking_id]}/custom-attributes/#{params[:key]}",
126
156
  body: params.except(*_path_param_names)
127
157
  )
128
- _response = @client.send(_request)
129
- if _response.code >= "200" && _response.code < "300"
130
- return Square::Types::UpsertBookingCustomAttributeResponse.load(_response.body)
158
+ begin
159
+ _response = @client.send(_request)
160
+ rescue Net::HTTPRequestTimeout
161
+ raise Square::Errors::TimeoutError
162
+ end
163
+ code = _response.code.to_i
164
+ if code.between?(200, 299)
165
+ Square::Types::UpsertBookingCustomAttributeResponse.load(_response.body)
166
+ else
167
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
168
+ raise error_class.new(_response.body, code: code)
131
169
  end
132
-
133
- raise _response.body
134
170
  end
135
171
 
136
172
  # Deletes a bookings custom attribute.
@@ -144,16 +180,22 @@ module Square
144
180
  # @return [Square::Types::DeleteBookingCustomAttributeResponse]
145
181
  def delete(request_options: {}, **params)
146
182
  _request = Square::Internal::JSON::Request.new(
147
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
183
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
148
184
  method: "DELETE",
149
185
  path: "v2/bookings/#{params[:booking_id]}/custom-attributes/#{params[:key]}"
150
186
  )
151
- _response = @client.send(_request)
152
- if _response.code >= "200" && _response.code < "300"
153
- return Square::Types::DeleteBookingCustomAttributeResponse.load(_response.body)
187
+ begin
188
+ _response = @client.send(_request)
189
+ rescue Net::HTTPRequestTimeout
190
+ raise Square::Errors::TimeoutError
191
+ end
192
+ code = _response.code.to_i
193
+ if code.between?(200, 299)
194
+ Square::Types::DeleteBookingCustomAttributeResponse.load(_response.body)
195
+ else
196
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
197
+ raise error_class.new(_response.body, code: code)
154
198
  end
155
-
156
- raise _response.body
157
199
  end
158
200
  end
159
201
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListLocationBookingProfilesResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[limit cursor]
16
+ _query_param_names = [
17
+ %w[limit cursor],
18
+ %i[limit cursor]
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/bookings/location-booking-profiles",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListLocationBookingProfilesResponse.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::ListLocationBookingProfilesResponse.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
  end
34
43
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListTeamMemberBookingProfilesResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[bookable_only limit cursor location_id]
16
+ _query_param_names = [
17
+ %w[bookable_only limit cursor location_id],
18
+ %i[bookable_only limit cursor location_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/bookings/team-member-booking-profiles",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListTeamMemberBookingProfilesResponse.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::ListTeamMemberBookingProfilesResponse.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
  # Retrieves a team member's booking profile.
@@ -36,16 +45,22 @@ module Square
36
45
  # @return [Square::Types::GetTeamMemberBookingProfileResponse]
37
46
  def get(request_options: {}, **params)
38
47
  _request = Square::Internal::JSON::Request.new(
39
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
48
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
40
49
  method: "GET",
41
50
  path: "v2/bookings/team-member-booking-profiles/#{params[:team_member_id]}"
42
51
  )
43
- _response = @client.send(_request)
44
- if _response.code >= "200" && _response.code < "300"
45
- return Square::Types::GetTeamMemberBookingProfileResponse.load(_response.body)
52
+ begin
53
+ _response = @client.send(_request)
54
+ rescue Net::HTTPRequestTimeout
55
+ raise Square::Errors::TimeoutError
56
+ end
57
+ code = _response.code.to_i
58
+ if code.between?(200, 299)
59
+ Square::Types::GetTeamMemberBookingProfileResponse.load(_response.body)
60
+ else
61
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
+ raise error_class.new(_response.body, code: code)
46
63
  end
47
-
48
- raise _response.body
49
64
  end
50
65
  end
51
66
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListCardsResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[cursor customer_id include_disabled reference_id sort_order]
16
+ _query_param_names = [
17
+ %w[cursor customer_id include_disabled reference_id sort_order],
18
+ %i[cursor customer_id include_disabled reference_id sort_order]
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/cards",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListCardsResponse.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::ListCardsResponse.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
  # Adds a card on file to an existing merchant.
@@ -36,17 +45,23 @@ module Square
36
45
  # @return [Square::Types::CreateCardResponse]
37
46
  def create(request_options: {}, **params)
38
47
  _request = Square::Internal::JSON::Request.new(
39
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
48
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
40
49
  method: "POST",
41
50
  path: "v2/cards",
42
51
  body: params
43
52
  )
44
- _response = @client.send(_request)
45
- if _response.code >= "200" && _response.code < "300"
46
- return Square::Types::CreateCardResponse.load(_response.body)
53
+ begin
54
+ _response = @client.send(_request)
55
+ rescue Net::HTTPRequestTimeout
56
+ raise Square::Errors::TimeoutError
57
+ end
58
+ code = _response.code.to_i
59
+ if code.between?(200, 299)
60
+ Square::Types::CreateCardResponse.load(_response.body)
61
+ else
62
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
63
+ raise error_class.new(_response.body, code: code)
47
64
  end
48
-
49
- raise _response.body
50
65
  end
51
66
 
52
67
  # Retrieves details for a specific Card.
@@ -54,14 +69,22 @@ module Square
54
69
  # @return [Square::Types::GetCardResponse]
55
70
  def get(request_options: {}, **params)
56
71
  _request = Square::Internal::JSON::Request.new(
57
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
72
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
58
73
  method: "GET",
59
74
  path: "v2/cards/#{params[:card_id]}"
60
75
  )
61
- _response = @client.send(_request)
62
- return Square::Types::GetCardResponse.load(_response.body) if _response.code >= "200" && _response.code < "300"
63
-
64
- raise _response.body
76
+ begin
77
+ _response = @client.send(_request)
78
+ rescue Net::HTTPRequestTimeout
79
+ raise Square::Errors::TimeoutError
80
+ end
81
+ code = _response.code.to_i
82
+ if code.between?(200, 299)
83
+ Square::Types::GetCardResponse.load(_response.body)
84
+ else
85
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(_response.body, code: code)
87
+ end
65
88
  end
66
89
 
67
90
  # Disables the card, preventing any further updates or charges.
@@ -70,16 +93,22 @@ module Square
70
93
  # @return [Square::Types::DisableCardResponse]
71
94
  def disable(request_options: {}, **params)
72
95
  _request = Square::Internal::JSON::Request.new(
73
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
96
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
74
97
  method: "POST",
75
98
  path: "v2/cards/#{params[:card_id]}/disable"
76
99
  )
77
- _response = @client.send(_request)
78
- if _response.code >= "200" && _response.code < "300"
79
- return Square::Types::DisableCardResponse.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::DisableCardResponse.load(_response.body)
108
+ else
109
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
110
+ raise error_class.new(_response.body, code: code)
80
111
  end
81
-
82
- raise _response.body
83
112
  end
84
113
  end
85
114
  end