Class: Basecamp::Services::BookmarksService

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

Overview

Service for Bookmarks operations

Instance Method Summary collapse

Constructor Details

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

Instance Method Details

#create_bookmark(recording_id:) ⇒ Hash

Bookmark a recording for the current user.

Parameters:

  • recording_id (Integer)

    recording id ID

Returns:

  • (Hash)

    response data



33
34
35
36
37
# File 'lib/basecamp/generated/services/bookmarks_service.rb', line 33

def create_bookmark(recording_id:)
  with_operation(service: "bookmarks", operation: "create_bookmark", is_mutation: true, resource_id: recording_id) do
    http_post("/recordings/#{recording_id}/bookmark.json").json
  end
end

#delete_bookmark(recording_id:) ⇒ void

This method returns an undefined value.

Remove the current user's bookmark from a recording (returns 204 No Content).

Parameters:

  • recording_id (Integer)

    recording id ID



42
43
44
45
46
47
# File 'lib/basecamp/generated/services/bookmarks_service.rb', line 42

def delete_bookmark(recording_id:)
  with_operation(service: "bookmarks", operation: "delete_bookmark", is_mutation: true, resource_id: recording_id) do
    http_delete("/recordings/#{recording_id}/bookmark.json")
    nil
  end
end

#get_bookmark(recording_id:) ⇒ Hash

Report whether the current user has bookmarked the recording.

Parameters:

  • recording_id (Integer)

    recording id ID

Returns:

  • (Hash)

    response data



24
25
26
27
28
# File 'lib/basecamp/generated/services/bookmarks_service.rb', line 24

def get_bookmark(recording_id:)
  with_operation(service: "bookmarks", operation: "get_bookmark", is_mutation: false, resource_id: recording_id) do
    http_get("/recordings/#{recording_id}/bookmark.json", operation: "GetBookmark").json
  end
end

#list_my_bookmarks(page: nil, max_items: nil) ⇒ ListEnumerator<Hash>

List the current user's bookmarks, most recently bookmarked first (paginated).

Parameters:

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



14
15
16
17
18
19
# File 'lib/basecamp/generated/services/bookmarks_service.rb', line 14

def list_my_bookmarks(page: nil, max_items: nil)
  wrap_paginated(service: "bookmarks", operation: "list_my_bookmarks", is_mutation: false) do
    params = compact_query_params(page: page)
    paginate("/my/bookmarks.json", params: params, operation: "ListMyBookmarks", max_items: max_items)
  end
end