Class: Calendly::Organization

Inherits:
Object
  • Object
show all
Includes:
ModelUtils
Defined in:
lib/calendly/models/organization.rb

Overview

Calendly’s organization model.

Constant Summary collapse

UUID_RE =
%r{\A#{Client::API_HOST}/organizations/(\w+)\z}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ModelUtils

#client, #id, included, #initialize, #inspect

Instance Attribute Details

#uriString

Canonical resource reference.

Returns:

  • (String)


14
15
16
# File 'lib/calendly/models/organization.rb', line 14

def uri
  @uri
end

#uuidString

unique id of the Organization object.

Returns:

  • (String)


11
12
13
# File 'lib/calendly/models/organization.rb', line 11

def uuid
  @uuid
end

Instance Method Details

#create_invitation(email) ⇒ Calendly::OrganizationInvitation

Invite a person to an Organization.

Parameters:

  • email (String)

    Email of the person being invited.

Returns:

Raises:

Since:

  • 0.1.0



76
77
78
# File 'lib/calendly/models/organization.rb', line 76

def create_invitation(email)
  client.create_invitation uuid, email
end

#create_webhook(url, events) ⇒ Calendly::WebhookSubscription

Create a user scope webhook associated with self.

Parameters:

  • url (String)

    Canonical reference (unique identifier) for the resource.

  • events (Array<String>)

    List of user events to subscribe to. options: invitee.created or invitee.canceled

Returns:

Raises:

Since:

  • 0.1.3



116
117
118
# File 'lib/calendly/models/organization.rb', line 116

def create_webhook(url, events)
  client.create_webhook url, events, uri
end

#invitations(opts = {}) ⇒ Array<Calendly::OrganizationInvitation>

Get Organization Invitations.

Accepts comma-separated list of field:direction values.

Parameters:

  • opts (Hash) (defaults to: {})

    the optional request parameters.

Options Hash (opts):

  • :count (Integer)

    Number of rows to return.

  • :email (String)

    Filter by email.

  • :page_token (String)

    Pass this to get the next portion of collection.

  • :sort (String)

    Order results by the specified field and directin.

  • :status (String)

    Filter by status.

Returns:

Raises:

Since:

  • 0.1.0



54
55
56
57
58
59
# File 'lib/calendly/models/organization.rb', line 54

def invitations(opts = {})
  return @cached_invitations if @cached_invitations

  request_proc = proc { |options| client.invitations uuid, options }
  @cached_invitations = auto_pagination request_proc, opts
end

#invitations!(opts = {}) ⇒ Object

Since:

  • 0.2.0



62
63
64
65
# File 'lib/calendly/models/organization.rb', line 62

def invitations!(opts = {})
  @cached_invitations = nil
  invitations opts
end

#memberships(opts = {}) ⇒ Array<Calendly::OrganizationMembership>

Get List memberships of all users belonging to self.

Parameters:

  • opts (Hash) (defaults to: {})

    the optional request parameters.

Options Hash (opts):

  • :count (Integer)

    Number of rows to return.

  • :email (String)

    Filter by email.

  • :page_token (String)

    Pass this to get the next portion of collection.

Returns:

Raises:

Since:

  • 0.1.0



27
28
29
30
31
32
# File 'lib/calendly/models/organization.rb', line 27

def memberships(opts = {})
  return @cached_memberships if @cached_memberships

  request_proc = proc { |options| client.memberships uri, options }
  @cached_memberships = auto_pagination request_proc, opts
end

#memberships!(opts = {}) ⇒ Object

Since:

  • 0.2.0



35
36
37
38
# File 'lib/calendly/models/organization.rb', line 35

def memberships!(opts = {})
  @cached_memberships = nil
  memberships opts
end

#webhooks(opts = {}) ⇒ Array<Calendly::WebhookSubscription>

Get List of organization scope Webhooks associated with self.

Accepts comma-separated list of field:direction values.

Parameters:

  • opts (Hash) (defaults to: {})

    the optional request parameters.

Options Hash (opts):

  • :count (Integer)

    Number of rows to return.

  • :page_token (String)

    Pass this to get the next portion of collection.

  • :sort (String)

    Order results by the specified field and directin. Accepts comma-separated list of field:direction values.

Returns:

Raises:

Since:

  • 0.1.3



92
93
94
95
96
97
# File 'lib/calendly/models/organization.rb', line 92

def webhooks(opts = {})
  return @cached_webhooks if @cached_webhooks

  request_proc = proc { |options| client.webhooks uri, options }
  @cached_webhooks = auto_pagination request_proc, opts
end

#webhooks!(opts = {}) ⇒ Object

Since:

  • 0.2.0



100
101
102
103
# File 'lib/calendly/models/organization.rb', line 100

def webhooks!(opts = {})
  @cached_webhooks = nil
  webhooks opts
end