Class: Basecamp::Services::ClientRepliesService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/basecamp/generated/services/client_replies_service.rb

Overview

Service for ClientReplies operations

Instance Method Summary collapse

Constructor Details

This class inherits a constructor from Basecamp::Services::BaseService

Instance Method Details

#get(bucket_id:, recording_id:, reply_id:) ⇒ Hash

Get a single client reply by id

Parameters:

  • bucket_id (Integer)

    bucket id ID

  • recording_id (Integer)

    recording id ID

  • reply_id (Integer)

    reply id ID

Returns:

  • (Hash)

    response data



28
29
30
31
32
# File 'lib/basecamp/generated/services/client_replies_service.rb', line 28

def get(bucket_id:, recording_id:, reply_id:)
  with_operation(service: "clientreplies", operation: "get", is_mutation: false, project_id: bucket_id, resource_id: reply_id) do
    http_get("/buckets/#{bucket_id}/client/recordings/#{recording_id}/replies/#{reply_id}", operation: "GetClientReply").json
  end
end

#list(bucket_id:, recording_id:, page: nil, max_items: nil) ⇒ ListEnumerator<Hash>

List all client replies for a recording (correspondence or approval)

Parameters:

  • bucket_id (Integer)

    bucket id ID

  • recording_id (Integer)

    recording id ID

  • page (Integer, nil) (defaults to: nil)

    Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8.

  • max_items (Integer, nil) (defaults to: nil)

    cap on items yielded across pages; nil or non-positive means no cap

Returns:

  • (ListEnumerator<Hash>)

    lazily paginated results (#meta carries pagination metadata)



16
17
18
19
20
21
# File 'lib/basecamp/generated/services/client_replies_service.rb', line 16

def list(bucket_id:, recording_id:, page: nil, max_items: nil)
  wrap_paginated(service: "clientreplies", operation: "list", is_mutation: false, project_id: bucket_id, resource_id: recording_id) do
    params = compact_query_params(page: page)
    paginate("/buckets/#{bucket_id}/client/recordings/#{recording_id}/replies.json", params: params, operation: "ListClientReplies", max_items: max_items)
  end
end