Class: Basecamp::Services::SubscriptionsService

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

Overview

Service for Subscriptions operations

Instance Method Summary collapse

Constructor Details

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

Instance Method Details

#get(recording_id:) ⇒ Hash

Get subscription information for a recording

Parameters:

  • recording_id (Integer)

    recording id ID

Returns:

  • (Hash)

    response data



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

def get(recording_id:)
  with_operation(service: "subscriptions", operation: "get", is_mutation: false, resource_id: recording_id) do
    http_get("/recordings/#{recording_id}/subscription.json").json
  end
end

#subscribe(recording_id:) ⇒ Hash

Subscribe the current user to a recording

Parameters:

  • recording_id (Integer)

    recording id ID

Returns:

  • (Hash)

    response data



22
23
24
25
26
# File 'lib/basecamp/generated/services/subscriptions_service.rb', line 22

def subscribe(recording_id:)
  with_operation(service: "subscriptions", operation: "subscribe", is_mutation: true, resource_id: recording_id) do
    http_post("/recordings/#{recording_id}/subscription.json").json
  end
end

#unsubscribe(recording_id:) ⇒ void

This method returns an undefined value.

Unsubscribe the current user from a recording

Parameters:

  • recording_id (Integer)

    recording id ID



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

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

#update(recording_id:, subscriptions: nil, unsubscriptions: nil) ⇒ Hash

Update subscriptions by adding or removing specific users

Parameters:

  • recording_id (Integer)

    recording id ID

  • subscriptions (Array, nil) (defaults to: nil)

    subscriptions

  • unsubscriptions (Array, nil) (defaults to: nil)

    unsubscriptions

Returns:

  • (Hash)

    response data



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

def update(recording_id:, subscriptions: nil, unsubscriptions: nil)
  with_operation(service: "subscriptions", operation: "update", is_mutation: true, resource_id: recording_id) do
    http_put("/recordings/#{recording_id}/subscription.json", body: compact_params(subscriptions: subscriptions, unsubscriptions: unsubscriptions)).json
  end
end