lib/groupdocs/signature.rb in groupdocs-2.2.0 vs lib/groupdocs/signature.rb in groupdocs-2.3.0
- old
+ new
@@ -1,380 +1,380 @@
-module GroupDocs
- class Signature < Api::Entity
-
- require 'groupdocs/signature/shared'
- require 'groupdocs/signature/contact'
- require 'groupdocs/signature/envelope'
- require 'groupdocs/signature/field'
- require 'groupdocs/signature/form'
- require 'groupdocs/signature/list'
- require 'groupdocs/signature/recipient'
- require 'groupdocs/signature/role'
- require 'groupdocs/signature/template'
-
- include Api::Helpers::MIME
-
- #
- # 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>]
- #
- 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 signature fields.
- #
- # @param [Hash] access Access credentials
- # @option access [String] :client_id
- # @option access [String] :private_key
- # @return [Array<GroupDocs::Signature>]
- #
- 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
-
-
-
- #
- # 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]
- #
- 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
-
-
-
- #
- # 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]
- #
- 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
-
-
-
- #
- # 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>]
- #
- 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
-
-
- # @attr [String] id
- attr_accessor :id
- # @attr [String] userGuid
- attr_accessor :userGuid
- # @attr [String] recipientId
- attr_accessor :recipientId
- # @attr [String] name
- attr_accessor :name
- # @attr [String] companyName
- attr_accessor :companyName
- # @attr [String] position
- attr_accessor :position
- # @attr [String] firstName
- attr_accessor :firstName
- # @attr [String] lastName
- attr_accessor :lastName
- # @attr [String] fullName
- attr_accessor :fullName
- # @attr [String] textInitials
- attr_accessor :textInitials
- # @attr [String] signatureImageFileId
- attr_accessor :signatureImageFileId
- # @attr [String] initialsImageFileId
- attr_accessor :initialsImageFileId
- # @attr [String] signatureImageUrl
- attr_accessor :signatureImageUrl
- # @attr [String] initialsImageUrl
- attr_accessor :initialsImageUrl
- # @attr [String] signatureData
- attr_accessor :signatureData
- # @attr [String] initialsData
- attr_accessor :initialsData
- # @attr [String] createdTimeStamp
- attr_accessor :createdTimeStamp
- # @attr [String] image_path
- attr_accessor :image_path
- # @attr [String] email
- attr_accessor :email
-
- # Human-readable accessors
- alias_accessor :user_guid, :userGuid
- alias_accessor :recipient_id, :recipientId
- alias_accessor :company_name, :companyName
- alias_accessor :first_name, :firstName
- alias_accessor :last_name, :lastName
- alias_accessor :full_name, :fullName
- alias_accessor :text_initials, :textInitials
- alias_accessor :signature_image_file_id, :signatureImageFileId
- alias_accessor :initials_image_file_id, :initialsImageFileId
- alias_accessor :signature_image_url, :signatureImageUrl
- alias_accessor :initials_image_url, :initialsImageUrl
- alias_accessor :signature_data, :signatureData
- alias_accessor :initials_data, :initialsData
- alias_accessor :created_time_stamp, :createdTimeStamp
-
-
- #
- # 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
- #
- 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
-
-
- #
- # 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
- #
- 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
-
-
- #
- # Deletes signature.
- #
- # @param [Hash] access Access credentials
- # @option access [String] :client_id
- # @option access [String] :private_key
- #
- def delete!(access = {})
- Api::Request.new do |request|
- request[:access] = access
- request[:method] = :DELETE
- request[:path] = "/signature/{{client_id}}/signatures/#{id}"
- end.execute!
- end
-
-
- #
- # This method deleted from GroupDocs API
- #
- # Returns signature data.
- #
- # @param [Hash] access Access credentials
- # @option access [String] :client_id
- # @option access [String] :private_key
- #
- 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
-
-
-
- #
- # This method deleted from GroupDocs API
- #
- # Returns initials data.
- #
- # @param [Hash] access Access credentials
- # @option access [String] :client_id
- # @option access [String] :private_key
- #
- 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
-
- # added in release 1.6.0
- TEMPLATE_TYPES = {
- :EnvelopeSentOwnerTemplate => 1,
- :EnvelopeSentOtherTemplate => 2,
- :EnvelopeCompletedTemplate => 3,
- :EnvelopeSignedTemplate => 4,
- :EnvelopeCancelledTemplate => 5,
- :EnvelopeDeclinedTemplate => 6,
- :EnvelopeFailedTemplate => 7,
- :EnvelopeExpiredTemplate => 8,
- :EnvelopeStepExpiredTemplate => 9,
- :EnvelopeRecipientReminderTemplate => 10,
- :FormSignedTemplate => 11
- }
-
-
- #
- # 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]
- #
- 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
-
- #
- # 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]
- #
- 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
-
- end # Signature
-end # GroupDocs
+module GroupDocs
+ class Signature < Api::Entity
+
+ require 'groupdocs/signature/shared'
+ require 'groupdocs/signature/contact'
+ require 'groupdocs/signature/envelope'
+ require 'groupdocs/signature/field'
+ require 'groupdocs/signature/form'
+ require 'groupdocs/signature/list'
+ require 'groupdocs/signature/recipient'
+ require 'groupdocs/signature/role'
+ require 'groupdocs/signature/template'
+
+ include Api::Helpers::MIME
+
+ #
+ # 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>]
+ #
+ 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 signature fields.
+ #
+ # @param [Hash] access Access credentials
+ # @option access [String] :client_id
+ # @option access [String] :private_key
+ # @return [Array<GroupDocs::Signature>]
+ #
+ 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
+
+
+
+ #
+ # 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]
+ #
+ 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
+
+
+
+ #
+ # 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]
+ #
+ 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
+
+
+
+ #
+ # 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>]
+ #
+ 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
+
+
+ # @attr [String] id
+ attr_accessor :id
+ # @attr [String] userGuid
+ attr_accessor :userGuid
+ # @attr [String] recipientId
+ attr_accessor :recipientId
+ # @attr [String] name
+ attr_accessor :name
+ # @attr [String] companyName
+ attr_accessor :companyName
+ # @attr [String] position
+ attr_accessor :position
+ # @attr [String] firstName
+ attr_accessor :firstName
+ # @attr [String] lastName
+ attr_accessor :lastName
+ # @attr [String] fullName
+ attr_accessor :fullName
+ # @attr [String] textInitials
+ attr_accessor :textInitials
+ # @attr [String] signatureImageFileId
+ attr_accessor :signatureImageFileId
+ # @attr [String] initialsImageFileId
+ attr_accessor :initialsImageFileId
+ # @attr [String] signatureImageUrl
+ attr_accessor :signatureImageUrl
+ # @attr [String] initialsImageUrl
+ attr_accessor :initialsImageUrl
+ # @attr [String] signatureData
+ attr_accessor :signatureData
+ # @attr [String] initialsData
+ attr_accessor :initialsData
+ # @attr [String] createdTimeStamp
+ attr_accessor :createdTimeStamp
+ # @attr [String] image_path
+ attr_accessor :image_path
+ # @attr [String] email
+ attr_accessor :email
+
+ # Human-readable accessors
+ alias_accessor :user_guid, :userGuid
+ alias_accessor :recipient_id, :recipientId
+ alias_accessor :company_name, :companyName
+ alias_accessor :first_name, :firstName
+ alias_accessor :last_name, :lastName
+ alias_accessor :full_name, :fullName
+ alias_accessor :text_initials, :textInitials
+ alias_accessor :signature_image_file_id, :signatureImageFileId
+ alias_accessor :initials_image_file_id, :initialsImageFileId
+ alias_accessor :signature_image_url, :signatureImageUrl
+ alias_accessor :initials_image_url, :initialsImageUrl
+ alias_accessor :signature_data, :signatureData
+ alias_accessor :initials_data, :initialsData
+ alias_accessor :created_time_stamp, :createdTimeStamp
+
+
+ #
+ # 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
+ #
+ 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
+
+
+ #
+ # 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
+ #
+ 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
+
+
+ #
+ # Deletes signature.
+ #
+ # @param [Hash] access Access credentials
+ # @option access [String] :client_id
+ # @option access [String] :private_key
+ #
+ def delete!(access = {})
+ Api::Request.new do |request|
+ request[:access] = access
+ request[:method] = :DELETE
+ request[:path] = "/signature/{{client_id}}/signatures/#{id}"
+ end.execute!
+ end
+
+
+ #
+ # This method deleted from GroupDocs API
+ #
+ # Returns signature data.
+ #
+ # @param [Hash] access Access credentials
+ # @option access [String] :client_id
+ # @option access [String] :private_key
+ #
+ 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
+
+
+
+ #
+ # This method deleted from GroupDocs API
+ #
+ # Returns initials data.
+ #
+ # @param [Hash] access Access credentials
+ # @option access [String] :client_id
+ # @option access [String] :private_key
+ #
+ 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
+
+ # added in release 1.6.0
+ TEMPLATE_TYPES = {
+ :EnvelopeSentOwnerTemplate => 1,
+ :EnvelopeSentOtherTemplate => 2,
+ :EnvelopeCompletedTemplate => 3,
+ :EnvelopeSignedTemplate => 4,
+ :EnvelopeCancelledTemplate => 5,
+ :EnvelopeDeclinedTemplate => 6,
+ :EnvelopeFailedTemplate => 7,
+ :EnvelopeExpiredTemplate => 8,
+ :EnvelopeStepExpiredTemplate => 9,
+ :EnvelopeRecipientReminderTemplate => 10,
+ :FormSignedTemplate => 11
+ }
+
+
+ #
+ # 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]
+ #
+ 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
+
+ #
+ # 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]
+ #
+ 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
+
+ end # Signature
+end # GroupDocs