class GroupDocs::Signature

Constants

TEMPLATE_TYPES

added in release 1.6.0

Attributes

companyName[RW]

@attr [String] companyName

createdTimeStamp[RW]

@attr [String] createdTimeStamp

email[RW]

@attr [String] email

firstName[RW]

@attr [String] firstName

fullName[RW]

@attr [String] fullName

id[RW]

@attr [String] id

image_path[RW]

@attr [String] image_path

initialsData[RW]

@attr [String] initialsData

initialsImageFileId[RW]

@attr [String] initialsImageFileId

initialsImageUrl[RW]

@attr [String] initialsImageUrl

lastName[RW]

@attr [String] lastName

name[RW]

@attr [String] name

position[RW]

@attr [String] position

recipientId[RW]

@attr [String] recipientId

signatureData[RW]

@attr [String] signatureData

signatureImageFileId[RW]

@attr [String] signatureImageFileId

signatureImageUrl[RW]

@attr [String] signatureImageUrl

textInitials[RW]

@attr [String] textInitials

userGuid[RW]

@attr [String] userGuid

Public Class Methods

get!(access = {}) click to toggle source

Returns a list of all user signatures.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Signature>]

# 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 = {}) click to toggle source

Added in release 1.6.0

Get user email template.

@param [String] path Path to save new file @param [String] name Name new file (file extension should be html) @param [Int] template_type Template type @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source

This method deleted from GroupDocs API

Returns a list of all signatures for recipient.

@param [GroupDocs::Signature::Recipient] recipient @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Signature>]

# 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 = {}) click to toggle source

Get signature fields.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Signature>]

# 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 = {}) click to toggle source

Added in release 1.6.0

Get default email template.

@param [String] path Path to save new file @param [String] name Name new file (file extension should be html) @param [Int] template_type Template type @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source

Changed in release 1.5.8

Sign document

@param [String] job Job GUID @param [Hash] options @option [Boolean] :public @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source
Changed in release 1.5.8

Verify to document

@param [String] path Path to document GUID @param [Hash] settings Settings of the signing document @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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

Public Instance Methods

create!(title, access = {}) click to toggle source

Creates signature.

@example

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

@param [String] title Signature title @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

This method deleted from GroupDocs API

Creates signature for recipient.

@param [GroupDocs::Signature::Recipient] recipient @param [String] title Signature title @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Deletes signature.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

This method deleted from GroupDocs API

Returns initials data.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

This method deleted from GroupDocs API

Returns signature data.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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