Class: Square::Devices::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/square/devices/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Square::Devices::Client



7
8
9
# File 'lib/square/devices/client.rb', line 7

def initialize(client:)
  @client = client
end

Instance Method Details

#codesSquare::Codes::Client

Returns:

  • (Square::Codes::Client)


52
53
54
# File 'lib/square/devices/client.rb', line 52

def codes
  @codes ||= Square::Devices::Codes::Client.new(client: @client)
end

#get(request_options: {}, **params) ⇒ Square::Types::GetDeviceResponse

Retrieves Device with the associated ‘device_id`.



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/square/devices/client.rb', line 37

def get(request_options: {}, **params)
  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "GET",
    path: "v2/devices/#{params[:device_id]}"
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::GetDeviceResponse.load(_response.body)
  end

  raise _response.body
end

#list(request_options: {}, **params) ⇒ Square::Types::ListDevicesResponse

List devices associated with the merchant. Currently, only Terminal API devices are supported.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/square/devices/client.rb', line 15

def list(request_options: {}, **params)
  _query_param_names = %w[cursor sort_order limit location_id]
  _query = params.slice(*_query_param_names)
  params.except(*_query_param_names)

  _request = Square::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Square::Environment::SANDBOX,
    method: "GET",
    path: "v2/devices",
    query: _query
  )
  _response = @client.send(_request)
  if _response.code >= "200" && _response.code < "300"
    return Square::Types::ListDevicesResponse.load(_response.body)
  end

  raise _response.body
end