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!, #rename_document!

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Constructor Details

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

Instance Attribute Details

#enableTypedSignatureObject



50
51
52
# File 'lib/groupdocs/signature/template.rb', line 50

def enableTypedSignature
  @enableTypedSignature
end

#enableUploadedSignatureObject



52
53
54
# File 'lib/groupdocs/signature/template.rb', line 52

def enableUploadedSignature
  @enableUploadedSignature
end

#fieldsCountObject

added in release 1.7.0



48
49
50
# File 'lib/groupdocs/signature/template.rb', line 48

def fieldsCount
  @fieldsCount
end

#tagsObject



54
55
56
# File 'lib/groupdocs/signature/template.rb', line 54

def tags
  @tags
end

#templateExpireTimeObject



44
45
46
# File 'lib/groupdocs/signature/template.rb', line 44

def templateExpireTime
  @templateExpireTime
end

Class Method Details

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

Changed in release 1.7.0

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

  • :documentGuid (String)

    Fitler templates by document originalMD5

  • :recipientName (String)

    Filter templates by recipient nickname

  • :name (String)

    Filter templates by signatureTemplate name

  • :tag (String)

    Filter templates by tag

Options Hash (access):

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

Returns:



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

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



76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/groupdocs/signature/template.rb', line 76

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:

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

Parameters:

Options Hash (access):

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

Raises:

  • (ArgumentError)

    if recipient is not GroupDocs::Signature::Recipient



108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/groupdocs/signature/template.rb', line 108

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