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
@@ -14,22 +14,31 @@ module Square
14
14
  #
15
15
  # @return [Square::Types::ListInvoicesResponse]
16
16
  def list(request_options: {}, **params)
17
- _query_param_names = %w[location_id cursor limit]
17
+ _query_param_names = [
18
+ %w[location_id cursor limit],
19
+ %i[location_id cursor limit]
20
+ ].flatten
18
21
  _query = params.slice(*_query_param_names)
19
22
  params.except(*_query_param_names)
20
23
 
21
24
  _request = Square::Internal::JSON::Request.new(
22
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
25
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
23
26
  method: "GET",
24
27
  path: "v2/invoices",
25
28
  query: _query
26
29
  )
27
- _response = @client.send(_request)
28
- if _response.code >= "200" && _response.code < "300"
29
- return Square::Types::ListInvoicesResponse.load(_response.body)
30
+ begin
31
+ _response = @client.send(_request)
32
+ rescue Net::HTTPRequestTimeout
33
+ raise Square::Errors::TimeoutError
34
+ end
35
+ code = _response.code.to_i
36
+ if code.between?(200, 299)
37
+ Square::Types::ListInvoicesResponse.load(_response.body)
38
+ else
39
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
40
+ raise error_class.new(_response.body, code: code)
30
41
  end
31
-
32
- raise _response.body
33
42
  end
34
43
 
35
44
  # Creates a draft [invoice](entity:Invoice)
@@ -41,17 +50,23 @@ module Square
41
50
  # @return [Square::Types::CreateInvoiceResponse]
42
51
  def create(request_options: {}, **params)
43
52
  _request = Square::Internal::JSON::Request.new(
44
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
53
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
45
54
  method: "POST",
46
55
  path: "v2/invoices",
47
56
  body: params
48
57
  )
49
- _response = @client.send(_request)
50
- if _response.code >= "200" && _response.code < "300"
51
- return Square::Types::CreateInvoiceResponse.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::CreateInvoiceResponse.load(_response.body)
66
+ else
67
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
68
+ raise error_class.new(_response.body, code: code)
52
69
  end
53
-
54
- raise _response.body
55
70
  end
56
71
 
57
72
  # Searches for invoices from a location specified in
@@ -65,17 +80,23 @@ module Square
65
80
  # @return [Square::Types::SearchInvoicesResponse]
66
81
  def search(request_options: {}, **params)
67
82
  _request = Square::Internal::JSON::Request.new(
68
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
83
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
69
84
  method: "POST",
70
85
  path: "v2/invoices/search",
71
86
  body: params
72
87
  )
73
- _response = @client.send(_request)
74
- if _response.code >= "200" && _response.code < "300"
75
- return Square::Types::SearchInvoicesResponse.load(_response.body)
88
+ begin
89
+ _response = @client.send(_request)
90
+ rescue Net::HTTPRequestTimeout
91
+ raise Square::Errors::TimeoutError
92
+ end
93
+ code = _response.code.to_i
94
+ if code.between?(200, 299)
95
+ Square::Types::SearchInvoicesResponse.load(_response.body)
96
+ else
97
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
98
+ raise error_class.new(_response.body, code: code)
76
99
  end
77
-
78
- raise _response.body
79
100
  end
80
101
 
81
102
  # Retrieves an invoice by invoice ID.
@@ -83,16 +104,22 @@ module Square
83
104
  # @return [Square::Types::GetInvoiceResponse]
84
105
  def get(request_options: {}, **params)
85
106
  _request = Square::Internal::JSON::Request.new(
86
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
107
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
87
108
  method: "GET",
88
109
  path: "v2/invoices/#{params[:invoice_id]}"
89
110
  )
90
- _response = @client.send(_request)
91
- if _response.code >= "200" && _response.code < "300"
92
- return Square::Types::GetInvoiceResponse.load(_response.body)
111
+ begin
112
+ _response = @client.send(_request)
113
+ rescue Net::HTTPRequestTimeout
114
+ raise Square::Errors::TimeoutError
115
+ end
116
+ code = _response.code.to_i
117
+ if code.between?(200, 299)
118
+ Square::Types::GetInvoiceResponse.load(_response.body)
119
+ else
120
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
121
+ raise error_class.new(_response.body, code: code)
93
122
  end
94
-
95
- raise _response.body
96
123
  end
97
124
 
98
125
  # Updates an invoice. This endpoint supports sparse updates, so you only need
@@ -105,17 +132,23 @@ module Square
105
132
  _path_param_names = ["invoice_id"]
106
133
 
107
134
  _request = Square::Internal::JSON::Request.new(
108
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
135
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
109
136
  method: "PUT",
110
137
  path: "v2/invoices/#{params[:invoice_id]}",
111
138
  body: params.except(*_path_param_names)
112
139
  )
113
- _response = @client.send(_request)
114
- if _response.code >= "200" && _response.code < "300"
115
- return Square::Types::UpdateInvoiceResponse.load(_response.body)
140
+ begin
141
+ _response = @client.send(_request)
142
+ rescue Net::HTTPRequestTimeout
143
+ raise Square::Errors::TimeoutError
144
+ end
145
+ code = _response.code.to_i
146
+ if code.between?(200, 299)
147
+ Square::Types::UpdateInvoiceResponse.load(_response.body)
148
+ else
149
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
150
+ raise error_class.new(_response.body, code: code)
116
151
  end
117
-
118
- raise _response.body
119
152
  end
120
153
 
121
154
  # Deletes the specified invoice. When an invoice is deleted, the
@@ -124,22 +157,31 @@ module Square
124
157
  #
125
158
  # @return [Square::Types::DeleteInvoiceResponse]
126
159
  def delete(request_options: {}, **params)
127
- _query_param_names = ["version"]
160
+ _query_param_names = [
161
+ ["version"],
162
+ %i[version]
163
+ ].flatten
128
164
  _query = params.slice(*_query_param_names)
129
165
  params = params.except(*_query_param_names)
130
166
 
131
167
  _request = Square::Internal::JSON::Request.new(
132
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
168
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
133
169
  method: "DELETE",
134
170
  path: "v2/invoices/#{params[:invoice_id]}",
135
171
  query: _query
136
172
  )
137
- _response = @client.send(_request)
138
- if _response.code >= "200" && _response.code < "300"
139
- return Square::Types::DeleteInvoiceResponse.load(_response.body)
173
+ begin
174
+ _response = @client.send(_request)
175
+ rescue Net::HTTPRequestTimeout
176
+ raise Square::Errors::TimeoutError
177
+ end
178
+ code = _response.code.to_i
179
+ if code.between?(200, 299)
180
+ Square::Types::DeleteInvoiceResponse.load(_response.body)
181
+ else
182
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
183
+ raise error_class.new(_response.body, code: code)
140
184
  end
141
-
142
- raise _response.body
143
185
  end
144
186
 
145
187
  # Uploads a file and attaches it to an invoice. This endpoint accepts HTTP multipart/form-data file uploads
@@ -169,12 +211,18 @@ module Square
169
211
  path: "v2/invoices/#{params[:invoice_id]}/attachments",
170
212
  body: body
171
213
  )
172
- _response = @client.send(_request)
173
- if _response.code >= "200" && _response.code < "300"
174
- return Square::Types::CreateInvoiceAttachmentResponse.load(_response.body)
214
+ begin
215
+ _response = @client.send(_request)
216
+ rescue Net::HTTPRequestTimeout
217
+ raise Square::Errors::TimeoutError
218
+ end
219
+ code = _response.code.to_i
220
+ if code.between?(200, 299)
221
+ Square::Types::CreateInvoiceAttachmentResponse.load(_response.body)
222
+ else
223
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
224
+ raise error_class.new(_response.body, code: code)
175
225
  end
176
-
177
- raise _response.body
178
226
  end
179
227
 
180
228
  # Removes an attachment from an invoice and permanently deletes the file. Attachments can be removed only
@@ -183,16 +231,22 @@ module Square
183
231
  # @return [Square::Types::DeleteInvoiceAttachmentResponse]
184
232
  def delete_invoice_attachment(request_options: {}, **params)
185
233
  _request = Square::Internal::JSON::Request.new(
186
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
234
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
187
235
  method: "DELETE",
188
236
  path: "v2/invoices/#{params[:invoice_id]}/attachments/#{params[:attachment_id]}"
189
237
  )
190
- _response = @client.send(_request)
191
- if _response.code >= "200" && _response.code < "300"
192
- return Square::Types::DeleteInvoiceAttachmentResponse.load(_response.body)
238
+ begin
239
+ _response = @client.send(_request)
240
+ rescue Net::HTTPRequestTimeout
241
+ raise Square::Errors::TimeoutError
242
+ end
243
+ code = _response.code.to_i
244
+ if code.between?(200, 299)
245
+ Square::Types::DeleteInvoiceAttachmentResponse.load(_response.body)
246
+ else
247
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
248
+ raise error_class.new(_response.body, code: code)
193
249
  end
194
-
195
- raise _response.body
196
250
  end
197
251
 
198
252
  # Cancels an invoice. The seller cannot collect payments for
@@ -205,17 +259,23 @@ module Square
205
259
  _path_param_names = ["invoice_id"]
206
260
 
207
261
  _request = Square::Internal::JSON::Request.new(
208
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
262
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
209
263
  method: "POST",
210
264
  path: "v2/invoices/#{params[:invoice_id]}/cancel",
211
265
  body: params.except(*_path_param_names)
212
266
  )
213
- _response = @client.send(_request)
214
- if _response.code >= "200" && _response.code < "300"
215
- return Square::Types::CancelInvoiceResponse.load(_response.body)
267
+ begin
268
+ _response = @client.send(_request)
269
+ rescue Net::HTTPRequestTimeout
270
+ raise Square::Errors::TimeoutError
271
+ end
272
+ code = _response.code.to_i
273
+ if code.between?(200, 299)
274
+ Square::Types::CancelInvoiceResponse.load(_response.body)
275
+ else
276
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
277
+ raise error_class.new(_response.body, code: code)
216
278
  end
217
-
218
- raise _response.body
219
279
  end
220
280
 
221
281
  # Publishes the specified draft invoice.
@@ -238,17 +298,23 @@ module Square
238
298
  _path_param_names = ["invoice_id"]
239
299
 
240
300
  _request = Square::Internal::JSON::Request.new(
241
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
301
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
242
302
  method: "POST",
243
303
  path: "v2/invoices/#{params[:invoice_id]}/publish",
244
304
  body: params.except(*_path_param_names)
245
305
  )
246
- _response = @client.send(_request)
247
- if _response.code >= "200" && _response.code < "300"
248
- return Square::Types::PublishInvoiceResponse.load(_response.body)
306
+ begin
307
+ _response = @client.send(_request)
308
+ rescue Net::HTTPRequestTimeout
309
+ raise Square::Errors::TimeoutError
310
+ end
311
+ code = _response.code.to_i
312
+ if code.between?(200, 299)
313
+ Square::Types::PublishInvoiceResponse.load(_response.body)
314
+ else
315
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
316
+ raise error_class.new(_response.body, code: code)
249
317
  end
250
-
251
- raise _response.body
252
318
  end
253
319
  end
254
320
  end
@@ -13,22 +13,31 @@ module Square
13
13
  #
14
14
  # @return [Square::Types::ListBreakTypesResponse]
15
15
  def list(request_options: {}, **params)
16
- _query_param_names = %w[location_id limit cursor]
16
+ _query_param_names = [
17
+ %w[location_id limit cursor],
18
+ %i[location_id 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/break-types",
24
27
  query: _query
25
28
  )
26
- _response = @client.send(_request)
27
- if _response.code >= "200" && _response.code < "300"
28
- return Square::Types::ListBreakTypesResponse.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::ListBreakTypesResponse.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 new `BreakType`.
@@ -49,17 +58,23 @@ module Square
49
58
  # @return [Square::Types::CreateBreakTypeResponse]
50
59
  def create(request_options: {}, **params)
51
60
  _request = Square::Internal::JSON::Request.new(
52
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
61
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
53
62
  method: "POST",
54
63
  path: "v2/labor/break-types",
55
64
  body: params
56
65
  )
57
- _response = @client.send(_request)
58
- if _response.code >= "200" && _response.code < "300"
59
- return Square::Types::CreateBreakTypeResponse.load(_response.body)
66
+ begin
67
+ _response = @client.send(_request)
68
+ rescue Net::HTTPRequestTimeout
69
+ raise Square::Errors::TimeoutError
70
+ end
71
+ code = _response.code.to_i
72
+ if code.between?(200, 299)
73
+ Square::Types::CreateBreakTypeResponse.load(_response.body)
74
+ else
75
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
76
+ raise error_class.new(_response.body, code: code)
60
77
  end
61
-
62
- raise _response.body
63
78
  end
64
79
 
65
80
  # Returns a single `BreakType` specified by `id`.
@@ -67,16 +82,22 @@ module Square
67
82
  # @return [Square::Types::GetBreakTypeResponse]
68
83
  def get(request_options: {}, **params)
69
84
  _request = Square::Internal::JSON::Request.new(
70
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
85
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
71
86
  method: "GET",
72
87
  path: "v2/labor/break-types/#{params[:id]}"
73
88
  )
74
- _response = @client.send(_request)
75
- if _response.code >= "200" && _response.code < "300"
76
- return Square::Types::GetBreakTypeResponse.load(_response.body)
89
+ begin
90
+ _response = @client.send(_request)
91
+ rescue Net::HTTPRequestTimeout
92
+ raise Square::Errors::TimeoutError
93
+ end
94
+ code = _response.code.to_i
95
+ if code.between?(200, 299)
96
+ Square::Types::GetBreakTypeResponse.load(_response.body)
97
+ else
98
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
99
+ raise error_class.new(_response.body, code: code)
77
100
  end
78
-
79
- raise _response.body
80
101
  end
81
102
 
82
103
  # Updates an existing `BreakType`.
@@ -86,17 +107,23 @@ module Square
86
107
  _path_param_names = ["id"]
87
108
 
88
109
  _request = Square::Internal::JSON::Request.new(
89
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
110
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
90
111
  method: "PUT",
91
112
  path: "v2/labor/break-types/#{params[:id]}",
92
113
  body: params.except(*_path_param_names)
93
114
  )
94
- _response = @client.send(_request)
95
- if _response.code >= "200" && _response.code < "300"
96
- return Square::Types::UpdateBreakTypeResponse.load(_response.body)
115
+ begin
116
+ _response = @client.send(_request)
117
+ rescue Net::HTTPRequestTimeout
118
+ raise Square::Errors::TimeoutError
119
+ end
120
+ code = _response.code.to_i
121
+ if code.between?(200, 299)
122
+ Square::Types::UpdateBreakTypeResponse.load(_response.body)
123
+ else
124
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
125
+ raise error_class.new(_response.body, code: code)
97
126
  end
98
-
99
- raise _response.body
100
127
  end
101
128
 
102
129
  # Deletes an existing `BreakType`.
@@ -106,16 +133,22 @@ module Square
106
133
  # @return [Square::Types::DeleteBreakTypeResponse]
107
134
  def delete(request_options: {}, **params)
108
135
  _request = Square::Internal::JSON::Request.new(
109
- base_url: request_options[:base_url] || Square::Environment::SANDBOX,
136
+ base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
110
137
  method: "DELETE",
111
138
  path: "v2/labor/break-types/#{params[:id]}"
112
139
  )
113
- _response = @client.send(_request)
114
- if _response.code >= "200" && _response.code < "300"
115
- return Square::Types::DeleteBreakTypeResponse.load(_response.body)
140
+ begin
141
+ _response = @client.send(_request)
142
+ rescue Net::HTTPRequestTimeout
143
+ raise Square::Errors::TimeoutError
144
+ end
145
+ code = _response.code.to_i
146
+ if code.between?(200, 299)
147
+ Square::Types::DeleteBreakTypeResponse.load(_response.body)
148
+ else
149
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
150
+ raise error_class.new(_response.body, code: code)
116
151
  end
117
-
118
- raise _response.body
119
152
  end
120
153
  end
121
154
  end