Class: Square::CashDrawers::Shifts::Client
- Inherits:
-
Object
- Object
- Square::CashDrawers::Shifts::Client
- Defined in:
- lib/square/cash_drawers/shifts/client.rb
Instance Method Summary collapse
-
#get(request_options: {}, **params) ⇒ Square::Types::GetCashDrawerShiftResponse
Provides the summary details for a single cash drawer shift.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Square::Types::ListCashDrawerShiftsResponse
Provides the details for all of the cash drawer shifts for a location in a date range.
-
#list_events(request_options: {}, **params) ⇒ Square::Types::ListCashDrawerShiftEventsResponse
Provides a paginated list of events for a single cash drawer shift.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/square/cash_drawers/shifts/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#get(request_options: {}, **params) ⇒ Square::Types::GetCashDrawerShiftResponse
Provides the summary details for a single cash drawer shift. See [ListCashDrawerShiftEvents](api-endpoint:CashDrawers-ListCashDrawerShiftEvents) for a list of cash drawer shift events.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/square/cash_drawers/shifts/client.rb', line 87 def get(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[location_id] query_params = {} query_params["location_id"] = params[:location_id] if params.key?(:location_id) params = params.except(*query_param_names) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/cash-drawers/shifts/#{params[:shift_id]}", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::GetCashDrawerShiftResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Square::Types::ListCashDrawerShiftsResponse
Provides the details for all of the cash drawer shifts for a location in a date range.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/square/cash_drawers/shifts/client.rb', line 32 def list(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[location_id sort_order begin_time end_time limit cursor] query_params = {} query_params["location_id"] = params[:location_id] if params.key?(:location_id) query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order) query_params["begin_time"] = params[:begin_time] if params.key?(:begin_time) query_params["end_time"] = params[:end_time] if params.key?(:end_time) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["cursor"] = params[:cursor] if params.key?(:cursor) params.except(*query_param_names) Square::Internal::CursorItemIterator.new( cursor_field: :cursor, item_field: :cash_drawer_shifts, initial_cursor: query_params[:cursor] ) do |next_cursor| query_params[:cursor] = next_cursor request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/cash-drawers/shifts", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::ListCashDrawerShiftsResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |
#list_events(request_options: {}, **params) ⇒ Square::Types::ListCashDrawerShiftEventsResponse
Provides a paginated list of events for a single cash drawer shift.
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/square/cash_drawers/shifts/client.rb', line 130 def list_events(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[location_id limit cursor] query_params = {} query_params["location_id"] = params[:location_id] if params.key?(:location_id) query_params["limit"] = params[:limit] if params.key?(:limit) query_params["cursor"] = params[:cursor] if params.key?(:cursor) params = params.except(*query_param_names) Square::Internal::CursorItemIterator.new( cursor_field: :cursor, item_field: :cash_drawer_shift_events, initial_cursor: query_params[:cursor] ) do |next_cursor| query_params[:cursor] = next_cursor request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/cash-drawers/shifts/#{params[:shift_id]}/events", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::ListCashDrawerShiftEventsResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |