Class: Basecamp::Services::ForwardsService

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

Overview

Service for Forwards operations

Instance Method Summary collapse

Constructor Details

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

Instance Method Details

#get(forward_id:) ⇒ Hash

Get a forward by ID

Parameters:

  • forward_id (Integer)

    forward id ID

Returns:

  • (Hash)

    response data



13
14
15
16
17
# File 'lib/basecamp/generated/services/forwards_service.rb', line 13

def get(forward_id:)
  with_operation(service: "forwards", operation: "get", is_mutation: false, resource_id: forward_id) do
    http_get("/inbox_forwards/#{forward_id}", operation: "GetForward").json
  end
end

#get_inbox(inbox_id:) ⇒ Hash

Get an inbox by ID

Parameters:

  • inbox_id (Integer)

    inbox id ID

Returns:

  • (Hash)

    response data



44
45
46
47
48
# File 'lib/basecamp/generated/services/forwards_service.rb', line 44

def get_inbox(inbox_id:)
  with_operation(service: "forwards", operation: "get_inbox", is_mutation: false, resource_id: inbox_id) do
    http_get("/inboxes/#{inbox_id}", operation: "GetInbox").json
  end
end

#get_reply(forward_id:, reply_id:) ⇒ Hash

Get a forward reply by ID

Parameters:

  • forward_id (Integer)

    forward id ID

  • reply_id (Integer)

    reply id ID

Returns:

  • (Hash)

    response data



35
36
37
38
39
# File 'lib/basecamp/generated/services/forwards_service.rb', line 35

def get_reply(forward_id:, reply_id:)
  with_operation(service: "forwards", operation: "get_reply", is_mutation: false, resource_id: reply_id) do
    http_get("/inbox_forwards/#{forward_id}/replies/#{reply_id}", operation: "GetForwardReply").json
  end
end

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

List all forwards in an inbox

Parameters:

  • inbox_id (Integer)

    inbox id ID

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



57
58
59
60
61
62
# File 'lib/basecamp/generated/services/forwards_service.rb', line 57

def list(inbox_id:, sort: nil, direction: nil, page: nil, max_items: nil)
  wrap_paginated(service: "forwards", operation: "list", is_mutation: false, resource_id: inbox_id) do
    params = compact_query_params(sort: sort, direction: direction, page: page)
    paginate("/inboxes/#{inbox_id}/inbox_forwards.json", params: params, operation: "ListForwards", max_items: max_items)
  end
end

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

List all replies to a forward

Parameters:

  • forward_id (Integer)

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



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

def list_replies(forward_id:, page: nil, max_items: nil)
  wrap_paginated(service: "forwards", operation: "list_replies", is_mutation: false, resource_id: forward_id) do
    params = compact_query_params(page: page)
    paginate("/inbox_forwards/#{forward_id}/replies.json", params: params, operation: "ListForwardReplies", max_items: max_items)
  end
end