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,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListWorkweekConfigsResponse]
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/labor/workweek-configs",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListWorkweekConfigsResponse.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::ListWorkweekConfigsResponse.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
  # Updates a `WorkweekConfig`.
@@ -38,17 +47,23 @@ module Square
38
47
  _path_param_names = ["id"]
39
48
 
40
49
  _request = Square::Internal::JSON::Request.new(
41
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
50
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
42
51
  method: "PUT",
43
52
  path: "v2/labor/workweek-configs/#{params[:id]}",
44
53
  body: params.except(*_path_param_names)
45
54
  )
46
- _response = @client.send(_request)
47
- if _response.code >= "200" && _response.code < "300"
48
- return Square::Types::UpdateWorkweekConfigResponse.load(_response.body)
55
+ begin
56
+ _response = @client.send(_request)
57
+ rescue Net::HTTPRequestTimeout
58
+ raise Square::Errors::TimeoutError
59
+ end
60
+ code = _response.code.to_i
61
+ if code.between?(200, 299)
62
+ Square::Types::UpdateWorkweekConfigResponse.load(_response.body)
63
+ else
64
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
65
+ raise error_class.new(_response.body, code: code)
49
66
  end
50
-
51
- raise _response.body
52
67
  end
53
68
  end
54
69
  end
@@ -14,16 +14,22 @@ module Square
14
14
  # @return [Square::Types::ListLocationsResponse]
15
15
  def list(request_options: {}, **_params)
16
16
  _request = Square::Internal::JSON::Request.new(
17
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
17
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
18
18
  method: "GET",
19
19
  path: "v2/locations"
20
20
  )
21
- _response = @client.send(_request)
22
- if _response.code >= "200" && _response.code < "300"
23
- return Square::Types::ListLocationsResponse.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::ListLocationsResponse.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
  # Creates a [location](https://developer.squareup.com/docs/locations-api).
@@ -37,17 +43,23 @@ module Square
37
43
  # @return [Square::Types::CreateLocationResponse]
38
44
  def create(request_options: {}, **params)
39
45
  _request = Square::Internal::JSON::Request.new(
40
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
46
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
41
47
  method: "POST",
42
48
  path: "v2/locations",
43
49
  body: params
44
50
  )
45
- _response = @client.send(_request)
46
- if _response.code >= "200" && _response.code < "300"
47
- return Square::Types::CreateLocationResponse.load(_response.body)
51
+ begin
52
+ _response = @client.send(_request)
53
+ rescue Net::HTTPRequestTimeout
54
+ raise Square::Errors::TimeoutError
55
+ end
56
+ code = _response.code.to_i
57
+ if code.between?(200, 299)
58
+ Square::Types::CreateLocationResponse.load(_response.body)
59
+ else
60
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
61
+ raise error_class.new(_response.body, code: code)
48
62
  end
49
-
50
- raise _response.body
51
63
  end
52
64
 
53
65
  # Retrieves details of a single location. Specify "main"
@@ -56,16 +68,22 @@ module Square
56
68
  # @return [Square::Types::GetLocationResponse]
57
69
  def get(request_options: {}, **params)
58
70
  _request = Square::Internal::JSON::Request.new(
59
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
71
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
60
72
  method: "GET",
61
73
  path: "v2/locations/#{params[:location_id]}"
62
74
  )
63
- _response = @client.send(_request)
64
- if _response.code >= "200" && _response.code < "300"
65
- return Square::Types::GetLocationResponse.load(_response.body)
75
+ begin
76
+ _response = @client.send(_request)
77
+ rescue Net::HTTPRequestTimeout
78
+ raise Square::Errors::TimeoutError
79
+ end
80
+ code = _response.code.to_i
81
+ if code.between?(200, 299)
82
+ Square::Types::GetLocationResponse.load(_response.body)
83
+ else
84
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
85
+ raise error_class.new(_response.body, code: code)
66
86
  end
67
-
68
- raise _response.body
69
87
  end
70
88
 
71
89
  # Updates a [location](https://developer.squareup.com/docs/locations-api).
@@ -75,17 +93,23 @@ module Square
75
93
  _path_param_names = ["location_id"]
76
94
 
77
95
  _request = Square::Internal::JSON::Request.new(
78
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
96
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
79
97
  method: "PUT",
80
98
  path: "v2/locations/#{params[:location_id]}",
81
99
  body: params.except(*_path_param_names)
82
100
  )
83
- _response = @client.send(_request)
84
- if _response.code >= "200" && _response.code < "300"
85
- return Square::Types::UpdateLocationResponse.load(_response.body)
101
+ begin
102
+ _response = @client.send(_request)
103
+ rescue Net::HTTPRequestTimeout
104
+ raise Square::Errors::TimeoutError
105
+ end
106
+ code = _response.code.to_i
107
+ if code.between?(200, 299)
108
+ Square::Types::UpdateLocationResponse.load(_response.body)
109
+ else
110
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
111
+ raise error_class.new(_response.body, code: code)
86
112
  end
87
-
88
- raise _response.body
89
113
  end
90
114
 
91
115
  # Links a `checkoutId` to a `checkout_page_url` that customers are
@@ -101,17 +125,23 @@ module Square
101
125
  _path_param_names = ["location_id"]
102
126
 
103
127
  _request = Square::Internal::JSON::Request.new(
104
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
128
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
105
129
  method: "POST",
106
130
  path: "v2/locations/#{params[:location_id]}/checkouts",
107
131
  body: params.except(*_path_param_names)
108
132
  )
109
- _response = @client.send(_request)
110
- if _response.code >= "200" && _response.code < "300"
111
- return Square::Types::CreateCheckoutResponse.load(_response.body)
133
+ begin
134
+ _response = @client.send(_request)
135
+ rescue Net::HTTPRequestTimeout
136
+ raise Square::Errors::TimeoutError
137
+ end
138
+ code = _response.code.to_i
139
+ if code.between?(200, 299)
140
+ Square::Types::CreateCheckoutResponse.load(_response.body)
141
+ else
142
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
143
+ raise error_class.new(_response.body, code: code)
112
144
  end
113
-
114
- raise _response.body
115
145
  end
116
146
 
117
147
  # @return [Square::CustomAttributeDefinitions::Client]
@@ -16,22 +16,31 @@ module Square
16
16
  #
17
17
  # @return [Square::Types::ListLocationCustomAttributeDefinitionsResponse]
18
18
  def list(request_options: {}, **params)
19
- _query_param_names = %w[visibility_filter limit cursor]
19
+ _query_param_names = [
20
+ %w[visibility_filter limit cursor],
21
+ %i[visibility_filter 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/locations/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::ListLocationCustomAttributeDefinitionsResponse.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::ListLocationCustomAttributeDefinitionsResponse.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 location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
@@ -45,17 +54,23 @@ module Square
45
54
  # @return [Square::Types::CreateLocationCustomAttributeDefinitionResponse]
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/locations/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::CreateLocationCustomAttributeDefinitionResponse.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::CreateLocationCustomAttributeDefinitionResponse.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 location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -64,22 +79,31 @@ module Square
64
79
  #
65
80
  # @return [Square::Types::RetrieveLocationCustomAttributeDefinitionResponse]
66
81
  def get(request_options: {}, **params)
67
- _query_param_names = ["version"]
82
+ _query_param_names = [
83
+ ["version"],
84
+ %i[version]
85
+ ].flatten
68
86
  _query = params.slice(*_query_param_names)
69
87
  params = params.except(*_query_param_names)
70
88
 
71
89
  _request = Square::Internal::JSON::Request.new(
72
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
90
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
73
91
  method: "GET",
74
92
  path: "v2/locations/custom-attribute-definitions/#{params[:key]}",
75
93
  query: _query
76
94
  )
77
- _response = @client.send(_request)
78
- if _response.code >= "200" && _response.code < "300"
79
- return Square::Types::RetrieveLocationCustomAttributeDefinitionResponse.load(_response.body)
95
+ begin
96
+ _response = @client.send(_request)
97
+ rescue Net::HTTPRequestTimeout
98
+ raise Square::Errors::TimeoutError
99
+ end
100
+ code = _response.code.to_i
101
+ if code.between?(200, 299)
102
+ Square::Types::RetrieveLocationCustomAttributeDefinitionResponse.load(_response.body)
103
+ else
104
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
105
+ raise error_class.new(_response.body, code: code)
80
106
  end
81
-
82
- raise _response.body
83
107
  end
84
108
 
85
109
  # Updates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
@@ -92,17 +116,23 @@ module Square
92
116
  _path_param_names = ["key"]
93
117
 
94
118
  _request = Square::Internal::JSON::Request.new(
95
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
119
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
96
120
  method: "PUT",
97
121
  path: "v2/locations/custom-attribute-definitions/#{params[:key]}",
98
122
  body: params.except(*_path_param_names)
99
123
  )
100
- _response = @client.send(_request)
101
- if _response.code >= "200" && _response.code < "300"
102
- return Square::Types::UpdateLocationCustomAttributeDefinitionResponse.load(_response.body)
124
+ begin
125
+ _response = @client.send(_request)
126
+ rescue Net::HTTPRequestTimeout
127
+ raise Square::Errors::TimeoutError
128
+ end
129
+ code = _response.code.to_i
130
+ if code.between?(200, 299)
131
+ Square::Types::UpdateLocationCustomAttributeDefinitionResponse.load(_response.body)
132
+ else
133
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
134
+ raise error_class.new(_response.body, code: code)
103
135
  end
104
-
105
- raise _response.body
106
136
  end
107
137
 
108
138
  # Deletes a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
@@ -113,16 +143,22 @@ module Square
113
143
  # @return [Square::Types::DeleteLocationCustomAttributeDefinitionResponse]
114
144
  def delete(request_options: {}, **params)
115
145
  _request = Square::Internal::JSON::Request.new(
116
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
146
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
117
147
  method: "DELETE",
118
148
  path: "v2/locations/custom-attribute-definitions/#{params[:key]}"
119
149
  )
120
- _response = @client.send(_request)
121
- if _response.code >= "200" && _response.code < "300"
122
- return Square::Types::DeleteLocationCustomAttributeDefinitionResponse.load(_response.body)
150
+ begin
151
+ _response = @client.send(_request)
152
+ rescue Net::HTTPRequestTimeout
153
+ raise Square::Errors::TimeoutError
154
+ end
155
+ code = _response.code.to_i
156
+ if code.between?(200, 299)
157
+ Square::Types::DeleteLocationCustomAttributeDefinitionResponse.load(_response.body)
158
+ else
159
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
160
+ raise error_class.new(_response.body, code: code)
123
161
  end
124
-
125
- raise _response.body
126
162
  end
127
163
  end
128
164
  end
@@ -16,17 +16,23 @@ module Square
16
16
  # @return [Square::Types::BulkDeleteLocationCustomAttributesResponse]
17
17
  def batch_delete(request_options: {}, **params)
18
18
  _request = Square::Internal::JSON::Request.new(
19
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
19
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
20
20
  method: "POST",
21
21
  path: "v2/locations/custom-attributes/bulk-delete",
22
22
  body: params
23
23
  )
24
- _response = @client.send(_request)
25
- if _response.code >= "200" && _response.code < "300"
26
- return Square::Types::BulkDeleteLocationCustomAttributesResponse.load(_response.body)
24
+ begin
25
+ _response = @client.send(_request)
26
+ rescue Net::HTTPRequestTimeout
27
+ raise Square::Errors::TimeoutError
28
+ end
29
+ code = _response.code.to_i
30
+ if code.between?(200, 299)
31
+ Square::Types::BulkDeleteLocationCustomAttributesResponse.load(_response.body)
32
+ else
33
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
34
+ raise error_class.new(_response.body, code: code)
27
35
  end
28
-
29
- raise _response.body
30
36
  end
31
37
 
32
38
  # Creates or updates [custom attributes](entity:CustomAttribute) for locations as a bulk operation.
@@ -43,17 +49,23 @@ module Square
43
49
  # @return [Square::Types::BulkUpsertLocationCustomAttributesResponse]
44
50
  def batch_upsert(request_options: {}, **params)
45
51
  _request = Square::Internal::JSON::Request.new(
46
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
52
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
47
53
  method: "POST",
48
54
  path: "v2/locations/custom-attributes/bulk-upsert",
49
55
  body: params
50
56
  )
51
- _response = @client.send(_request)
52
- if _response.code >= "200" && _response.code < "300"
53
- return Square::Types::BulkUpsertLocationCustomAttributesResponse.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::BulkUpsertLocationCustomAttributesResponse.load(_response.body)
65
+ else
66
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
+ raise error_class.new(_response.body, code: code)
54
68
  end
55
-
56
- raise _response.body
57
69
  end
58
70
 
59
71
  # Lists the [custom attributes](entity:CustomAttribute) associated with a location.
@@ -65,22 +77,31 @@ module Square
65
77
  #
66
78
  # @return [Square::Types::ListLocationCustomAttributesResponse]
67
79
  def list(request_options: {}, **params)
68
- _query_param_names = %w[visibility_filter limit cursor with_definitions]
80
+ _query_param_names = [
81
+ %w[visibility_filter limit cursor with_definitions],
82
+ %i[visibility_filter limit cursor with_definitions]
83
+ ].flatten
69
84
  _query = params.slice(*_query_param_names)
70
85
  params = params.except(*_query_param_names)
71
86
 
72
87
  _request = Square::Internal::JSON::Request.new(
73
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
88
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
74
89
  method: "GET",
75
90
  path: "v2/locations/#{params[:location_id]}/custom-attributes",
76
91
  query: _query
77
92
  )
78
- _response = @client.send(_request)
79
- if _response.code >= "200" && _response.code < "300"
80
- return Square::Types::ListLocationCustomAttributesResponse.load(_response.body)
93
+ begin
94
+ _response = @client.send(_request)
95
+ rescue Net::HTTPRequestTimeout
96
+ raise Square::Errors::TimeoutError
97
+ end
98
+ code = _response.code.to_i
99
+ if code.between?(200, 299)
100
+ Square::Types::ListLocationCustomAttributesResponse.load(_response.body)
101
+ else
102
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
103
+ raise error_class.new(_response.body, code: code)
81
104
  end
82
-
83
- raise _response.body
84
105
  end
85
106
 
86
107
  # Retrieves a [custom attribute](entity:CustomAttribute) associated with a location.
@@ -91,22 +112,31 @@ module Square
91
112
  #
92
113
  # @return [Square::Types::RetrieveLocationCustomAttributeResponse]
93
114
  def get(request_options: {}, **params)
94
- _query_param_names = %w[with_definition version]
115
+ _query_param_names = [
116
+ %w[with_definition version],
117
+ %i[with_definition version]
118
+ ].flatten
95
119
  _query = params.slice(*_query_param_names)
96
120
  params = params.except(*_query_param_names)
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: "GET",
101
125
  path: "v2/locations/#{params[:location_id]}/custom-attributes/#{params[:key]}",
102
126
  query: _query
103
127
  )
104
- _response = @client.send(_request)
105
- if _response.code >= "200" && _response.code < "300"
106
- return Square::Types::RetrieveLocationCustomAttributeResponse.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::RetrieveLocationCustomAttributeResponse.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
  # Creates or updates a [custom attribute](entity:CustomAttribute) for a location.
@@ -121,17 +151,23 @@ module Square
121
151
  _path_param_names = %w[location_id key]
122
152
 
123
153
  _request = Square::Internal::JSON::Request.new(
124
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
154
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
125
155
  method: "POST",
126
156
  path: "v2/locations/#{params[:location_id]}/custom-attributes/#{params[:key]}",
127
157
  body: params.except(*_path_param_names)
128
158
  )
129
- _response = @client.send(_request)
130
- if _response.code >= "200" && _response.code < "300"
131
- return Square::Types::UpsertLocationCustomAttributeResponse.load(_response.body)
159
+ begin
160
+ _response = @client.send(_request)
161
+ rescue Net::HTTPRequestTimeout
162
+ raise Square::Errors::TimeoutError
163
+ end
164
+ code = _response.code.to_i
165
+ if code.between?(200, 299)
166
+ Square::Types::UpsertLocationCustomAttributeResponse.load(_response.body)
167
+ else
168
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
169
+ raise error_class.new(_response.body, code: code)
132
170
  end
133
-
134
- raise _response.body
135
171
  end
136
172
 
137
173
  # Deletes a [custom attribute](entity:CustomAttribute) associated with a location.
@@ -141,16 +177,22 @@ module Square
141
177
  # @return [Square::Types::DeleteLocationCustomAttributeResponse]
142
178
  def delete(request_options: {}, **params)
143
179
  _request = Square::Internal::JSON::Request.new(
144
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
180
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
145
181
  method: "DELETE",
146
182
  path: "v2/locations/#{params[:location_id]}/custom-attributes/#{params[:key]}"
147
183
  )
148
- _response = @client.send(_request)
149
- if _response.code >= "200" && _response.code < "300"
150
- return Square::Types::DeleteLocationCustomAttributeResponse.load(_response.body)
184
+ begin
185
+ _response = @client.send(_request)
186
+ rescue Net::HTTPRequestTimeout
187
+ raise Square::Errors::TimeoutError
188
+ end
189
+ code = _response.code.to_i
190
+ if code.between?(200, 299)
191
+ Square::Types::DeleteLocationCustomAttributeResponse.load(_response.body)
192
+ else
193
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
194
+ raise error_class.new(_response.body, code: code)
151
195
  end
152
-
153
- raise _response.body
154
196
  end
155
197
  end
156
198
  end