Class: Basecamp::Services::RecordingsService

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

Overview

Service for Recordings operations

Instance Method Summary collapse

Constructor Details

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

Instance Method Details

#archive(recording_id:) ⇒ void

This method returns an undefined value.

Archive a recording

Parameters:

  • recording_id (Integer)

    recording id ID



39
40
41
42
43
44
# File 'lib/basecamp/generated/services/recordings_service.rb', line 39

def archive(recording_id:)
  with_operation(service: "recordings", operation: "archive", is_mutation: true, resource_id: recording_id) do
    http_put("/recordings/#{recording_id}/status/archived.json")
    nil
  end
end

#list(type:, bucket: nil, status: nil, sort: nil, direction: nil, page: nil, max_items: nil) ⇒ ListEnumerator<Hash>

List recordings of a given type across projects

Parameters:

  • type (String)

    Comment|Document|Door|Kanban::Card|Kanban::Step|Message|Question::Answer|Schedule::Entry|Todo|Todolist|Upload|Vault

  • bucket (String, nil) (defaults to: nil)

    bucket

  • status (String, nil) (defaults to: nil)

    active|archived|trashed

  • sort (String, nil) (defaults to: nil)

    created_at|updated_at

  • direction (String, nil) (defaults to: nil)

    asc|desc

  • 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)



19
20
21
22
23
24
# File 'lib/basecamp/generated/services/recordings_service.rb', line 19

def list(type:, bucket: nil, status: nil, sort: nil, direction: nil, page: nil, max_items: nil)
  wrap_paginated(service: "recordings", operation: "list", is_mutation: false) do
    params = compact_query_params(type: type, bucket: bucket, status: status, sort: sort, direction: direction, page: page)
    paginate("/projects/recordings.json", params: params, operation: "ListRecordings", max_items: max_items)
  end
end

#trash(recording_id:) ⇒ void

This method returns an undefined value.

Trash a recording

Parameters:

  • recording_id (Integer)

    recording id ID



49
50
51
52
53
54
# File 'lib/basecamp/generated/services/recordings_service.rb', line 49

def trash(recording_id:)
  with_operation(service: "recordings", operation: "trash", is_mutation: true, resource_id: recording_id) do
    http_put("/recordings/#{recording_id}/status/trashed.json")
    nil
  end
end

#unarchive(recording_id:) ⇒ void

This method returns an undefined value.

Unarchive a recording (restore to active status)

Parameters:

  • recording_id (Integer)

    recording id ID



29
30
31
32
33
34
# File 'lib/basecamp/generated/services/recordings_service.rb', line 29

def unarchive(recording_id:)
  with_operation(service: "recordings", operation: "unarchive", is_mutation: true, resource_id: recording_id) do
    http_put("/recordings/#{recording_id}/status/active.json")
    nil
  end
end