Module: GroupDocs::Signature::RecipientMethods

Includes:
Api::Helpers::SignaturePublic
Included in:
Envelope, Template
Defined in:
lib/groupdocs/signature/shared/recipient_methods.rb

Overview

Envelope and template entities share the same set of recipient methods.

See Also:

Instance Method Summary collapse

Instance Method Details

#recipients!(options = {}, access = {}) ⇒ Array<GroupDocs::Signature::Recipient>

Returns recipients array.

roles = GroupDocs::Signature::Role.get!
template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
recipient = GroupDocs::Signature::Recipient.new
recipient.nickname = 'John Smith'
recipient.role_id = roles.detect { |role| role.name == "Signer" }.id
template.add_recipient! recipient
template.recipients!

Parameters:

  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :public (Boolean)

    Defaults to false

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/groupdocs/signature/shared/recipient_methods.rb', line 31

def recipients!(options = {}, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/#{client_id(options[:public])}/#{class_name.pluralize}/#{id}/recipients"
  end.execute!

  json[:recipients].map do |recipient|
    Signature::Recipient.new(recipient)
  end
end

#remove_recipient!(recipient, access = {}) ⇒ Object

Removes recipient.

Examples:

template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
recipient = template.recipients!.first
template.remove_recipient! recipient
envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
recipient = envelope.recipients!.first
envelope.remove_recipient! recipient

Parameters:

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Raises:

  • (ArgumentError)

    if recipient is not GroupDocs::Signature::Recipient



62
63
64
65
66
67
68
69
70
71
# File 'lib/groupdocs/signature/shared/recipient_methods.rb', line 62

def remove_recipient!(recipient, access = {})
  recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
    "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"

  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/recipients/#{recipient.id}"
  end.execute!
end