Class: GroupDocs::Signature::Template

Inherits:
Api::Entity show all
Extended by:
ResourceMethods
Includes:
DocumentMethods, EntityFields, EntityMethods, FieldMethods, RecipientMethods
Defined in:
lib/groupdocs/signature/template.rb

Instance Attribute Summary collapse

Attributes included from EntityFields

#documentsCount, #documentsPages, #emailBody, #emailSubject, #id, #name, #orderedSignature, #ownerGuid, #ownerId, #ownerShouldSign, #recipients, #reminderTime, #stepExpireTime, #waterMarkImage, #waterMarkText

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ResourceMethods

resources!

Methods included from RecipientMethods

#recipients!, #remove_recipient!

Methods included from FieldMethods

#add_field!, #assign_field!, #delete_field!, #delete_field_location!, #fields!, #modify_field!, #modify_field_location!

Methods included from EntityMethods

#create!, #delete!, included, #modify!, #rename!

Methods included from Api::Helpers::Accessor

#alias_accessor

Methods included from DocumentMethods

#add_document!, #documents!, #remove_document!

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Constructor Details

This class inherits a constructor from GroupDocs::Api::Entity

Instance Attribute Details

#templateExpireTimeObject



37
38
39
# File 'lib/groupdocs/signature/template.rb', line 37

def templateExpireTime
  @templateExpireTime
end

Class Method Details

.all!(options = {}, access = {}) ⇒ Array<GroupDocs::Signature::Template>

Returns a list of all templates.

Parameters:

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

    Hash of options

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

    Access credentials

Options Hash (options):

  • :page (Integer)

    Page to start with

  • :records (Integer)

    How many items to list

Options Hash (access):

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

Returns:



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/groupdocs/signature/template.rb', line 22

def self.all!(options = {}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/signature/{{client_id}}/templates'
  end
  api.add_params(options)
  json = api.execute!

  json[:templates].map do |template|
    new(template)
  end
end

Instance Method Details

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

Adds recipient to template.

Examples:

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

Parameters:

Options Hash (access):

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

Raises:

  • (ArgumentError)

    if recipient is not GroupDocs::Signature::Recipient



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/groupdocs/signature/template.rb', line 59

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

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/{{client_id}}/templates/#{id}/recipient"
  end
  api.add_params(:nickname => recipient.nickname,
                 :role     => recipient.role_id,
                 :order    => recipient.order)
  api.execute!
end

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

Modify recipient of template.

Examples:

template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
recipient = template.recipients!.first
recipient.nickname = 'John Smith'
template.modify_recipient! recipient

Parameters:

Options Hash (access):

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

Raises:

  • (ArgumentError)

    if recipient is not GroupDocs::Signature::Recipient



89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/groupdocs/signature/template.rb', line 89

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

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/signature/{{client_id}}/templates/#{id}/recipient/#{recipient.id}"
  end
  api.add_params(:nickname => recipient.nickname, :role => recipient.role_id, :order => recipient.order)
  api.execute!
end