Class: GroupDocs::Signature

Inherits:
Api::Entity show all
Includes:
Api::Helpers::MIME
Defined in:
lib/groupdocs/signature.rb,
lib/groupdocs/signature/shared/entity_fields.rb,
lib/groupdocs/signature/shared/field_methods.rb,
lib/groupdocs/signature/shared/entity_methods.rb,
lib/groupdocs/signature/shared/document_methods.rb,
lib/groupdocs/signature/shared/resource_methods.rb,
lib/groupdocs/signature/shared/recipient_methods.rb

Defined Under Namespace

Modules: DocumentMethods, EntityFields, EntityMethods, FieldMethods, RecipientMethods, ResourceMethods Classes: Contact, Envelope, Field, Form, List, Recipient, Role, Template

Constant Summary collapse

TEMPLATE_TYPES =

added in release 1.6.0

{
    :EnvelopeSentOwnerTemplate           => 1,
    :EnvelopeSentOtherTemplate           => 2,
    :EnvelopeCompletedTemplate           => 3,
    :EnvelopeSignedTemplate              => 4,
    :EnvelopeCancelledTemplate           => 5,
    :EnvelopeDeclinedTemplate            => 6,
    :EnvelopeFailedTemplate              => 7,
    :EnvelopeExpiredTemplate             => 8,
    :EnvelopeStepExpiredTemplate         => 9,
    :EnvelopeRecipientReminderTemplate   => 10,
    :FormSignedTemplate                  => 11
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Methods included from Api::Helpers::Accessor

#alias_accessor

Constructor Details

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

Instance Attribute Details

#companyNameObject



146
147
148
# File 'lib/groupdocs/signature.rb', line 146

def companyName
  @companyName
end

#createdTimeStampObject



170
171
172
# File 'lib/groupdocs/signature.rb', line 170

def createdTimeStamp
  @createdTimeStamp
end

#emailObject



174
175
176
# File 'lib/groupdocs/signature.rb', line 174

def email
  @email
end

#firstNameObject



150
151
152
# File 'lib/groupdocs/signature.rb', line 150

def firstName
  @firstName
end

#fullNameObject



154
155
156
# File 'lib/groupdocs/signature.rb', line 154

def fullName
  @fullName
end

#idObject



138
139
140
# File 'lib/groupdocs/signature.rb', line 138

def id
  @id
end

#image_pathObject



172
173
174
# File 'lib/groupdocs/signature.rb', line 172

def image_path
  @image_path
end

#initialsDataObject



168
169
170
# File 'lib/groupdocs/signature.rb', line 168

def initialsData
  @initialsData
end

#initialsImageFileIdObject



160
161
162
# File 'lib/groupdocs/signature.rb', line 160

def initialsImageFileId
  @initialsImageFileId
end

#initialsImageUrlObject



164
165
166
# File 'lib/groupdocs/signature.rb', line 164

def initialsImageUrl
  @initialsImageUrl
end

#lastNameObject



152
153
154
# File 'lib/groupdocs/signature.rb', line 152

def lastName
  @lastName
end

#nameObject



144
145
146
# File 'lib/groupdocs/signature.rb', line 144

def name
  @name
end

#positionObject



148
149
150
# File 'lib/groupdocs/signature.rb', line 148

def position
  @position
end

#recipientIdObject



142
143
144
# File 'lib/groupdocs/signature.rb', line 142

def recipientId
  @recipientId
end

#signatureDataObject



166
167
168
# File 'lib/groupdocs/signature.rb', line 166

def signatureData
  @signatureData
end

#signatureImageFileIdObject



158
159
160
# File 'lib/groupdocs/signature.rb', line 158

def signatureImageFileId
  @signatureImageFileId
end

#signatureImageUrlObject



162
163
164
# File 'lib/groupdocs/signature.rb', line 162

def signatureImageUrl
  @signatureImageUrl
end

#textInitialsObject



156
157
158
# File 'lib/groupdocs/signature.rb', line 156

def textInitials
  @textInitials
end

#userGuidObject



140
141
142
# File 'lib/groupdocs/signature.rb', line 140

def userGuid
  @userGuid
end

Class Method Details

.get!(access = {}) ⇒ Array<GroupDocs::Signature>

Returns a list of all user signatures.

Parameters:

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

    Access credentials

Options Hash (access):

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

Returns:



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

def self.get!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/signature/{{client_id}}/signatures'
  end.execute!

  json[:signatures].map do |signature|
    new(signature)
  end
end

.get_email_template!(path, name, template_type, access = {}) ⇒ Array

Added in release 1.6.0

Get user email template.

Parameters:

  • path (String)

    Path to save new file

  • name (String)

    Name new file (file extension should be html)

  • template_type (Int)

    Template type

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

    Access credentials

Options Hash (access):

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

Returns:

  • (Array)


362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
# File 'lib/groupdocs/signature.rb', line 362

def self.get_email_template!(path, name, template_type, access = {})
  response = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DOWNLOAD
    request[:path] = "/signature/email-template/#{template_type}"
  end.execute!


  filepath = "#{path}/#{name}."

  Object::File.open(filepath, 'wb') do |file|
    file.write(response)
  end

  filepath
end

.get_for_recipient!(recipient, access = {}) ⇒ Array<GroupDocs::Signature>

This method deleted from GroupDocs API

Returns a list of all signatures for recipient.

Parameters:

Options Hash (access):

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

Returns:



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/groupdocs/signature.rb', line 119

def self.get_for_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] = :GET
    request[:path] = '/signature/public/signatures'
  end
  api.add_params(:recipientId => recipient.id)
  json = api.execute!

  json[:signatures].map do |signature|
    new(signature)
  end
end

.get_list!(access = {}) ⇒ Array<GroupDocs::Signature>

Get signature fields.

Parameters:

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

    Access credentials

Options Hash (access):

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

Returns:



44
45
46
47
48
49
50
51
52
# File 'lib/groupdocs/signature.rb', line 44

def self.get_list!( access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/signature/{{client_id}}/fields'
  end.execute!

  json[:fields]
end

.public_get_default_email_template!(path, name, template_type, access = {}) ⇒ Array

Added in release 1.6.0

Get default email template.

Parameters:

  • path (String)

    Path to save new file

  • name (String)

    Name new file (file extension should be html)

  • template_type (Int)

    Template type

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

    Access credentials

Options Hash (access):

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

Returns:

  • (Array)


331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
# File 'lib/groupdocs/signature.rb', line 331

def self.public_get_default_email_template!(path, name, template_type, access = {})
  response = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DOWNLOAD
    request[:path] = "/signature/public/email-template/#{template_type}/default"
  end.execute!


  filepath = "#{path}/#{name}."

  Object::File.open(filepath, 'wb') do |file|
    file.write(response)
  end

  filepath
end

.sign_document_status!(job, options = {}, access = {}) ⇒ Array

Changed in release 1.5.8

Sign document

Parameters:

  • job (String)

    Job GUID

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

    Access credentials

  • [Boolean] (Hash)

    a customizable set of options

Options Hash (access):

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

Returns:

  • (Array)


94
95
96
97
98
99
100
101
102
103
104
# File 'lib/groupdocs/signature.rb', line 94

def self.sign_document_status!(job, options = {}, access = {})

    client_id = !!options[:public] ? 'public' : '{{client_id}}'
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/#{client_id}/documents/#{job}/status"
  end.execute!

  Storage::File.new(:guid => json[:documents][0][:documentId])
end

.verify!(filepath, access = {}) ⇒ Array

Changed in release 1.5.8

Verify to document

Parameters:

  • path (String)

    Path to document GUID

  • settings (Hash)

    Settings of the signing document

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

    Access credentials

Options Hash (access):

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

Returns:

  • (Array)


69
70
71
72
73
74
75
76
# File 'lib/groupdocs/signature.rb', line 69

def self.verify!(filepath, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/public/verify"
    request[:request_body] = Object::File.new(filepath, 'rb')
  end.execute!
end

Instance Method Details

#create!(title, access = {}) ⇒ Object

Creates signature.

Examples:

signature = GroupDocs::Signature.new
signature.first_name = 'John'
signature.last_name = 'Smith'
signature.create! "John Smith's Signature"

Parameters:

  • title (String)

    Signature title

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

    Access credentials

Options Hash (access):

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


207
208
209
210
211
212
213
214
215
216
217
218
# File 'lib/groupdocs/signature.rb', line 207

def create!(title, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = '/signature/{{client_id}}/signature'
    request[:request_body] = to_hash
  end
  api.add_params(:name => title)
  json = api.execute!

  self.id = json[:signature][:id]
end

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

This method deleted from GroupDocs API

Creates signature for recipient.

Parameters:

Options Hash (access):

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


232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
# File 'lib/groupdocs/signature.rb', line 232

def create_for_recipient!(recipient, title, 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/public/signature'
    request[:request_body] = to_hash
  end
  api.add_params(:name => title, :recipientId => recipient.id)
  json = api.execute!

  self.id = json[:signature][:id]
end

#delete!(access = {}) ⇒ Object

Deletes signature.

Parameters:

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

    Access credentials

Options Hash (access):

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


256
257
258
259
260
261
262
# File 'lib/groupdocs/signature.rb', line 256

def delete!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/signature/{{client_id}}/signatures/#{id}"
  end.execute!
end

#initials_data!(access = {}) ⇒ Object

This method deleted from GroupDocs API

Returns initials data.

Parameters:

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

    Access credentials

Options Hash (access):

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


293
294
295
296
297
298
299
# File 'lib/groupdocs/signature.rb', line 293

def initials_data!(access = {})
  self.initials_data = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/signatures/signature/#{id}/initialsData"
  end.execute!
end

#signature_data!(access = {}) ⇒ Object

This method deleted from GroupDocs API

Returns signature data.

Parameters:

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

    Access credentials

Options Hash (access):

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


274
275
276
277
278
279
280
# File 'lib/groupdocs/signature.rb', line 274

def signature_data!(access = {})
  self.signature_data = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/signatures/signature/#{id}/signatureData"
  end.execute!
end