Module: GroupDocs::Signature::DocumentMethods

Included in:
Envelope, Template
Defined in:
lib/groupdocs/signature/shared/document_methods.rb

Overview

Envelope and template entities share the same set of document methods.

See Also:

Instance Method Summary collapse

Instance Method Details

#add_document!(document, options = {}, access = {}) ⇒ Object

Adds document.

Examples:

template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
document = GroupDocs::Storage::Folder.list!.last.to_document
template.add_document! document
envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
document = GroupDocs::Storage::Folder.list!.last.to_document
envelope.add_document! document

Parameters:

  • document (GroupDocs::Document)
  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :order (Integer)

    Display order of the document

Options Hash (access):

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

Raises:

  • (ArgumentError)

    if document is not GroupDocs::Document



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 53

def add_document!(document, options = {}, access = {})
  document.is_a?(GroupDocs::Document) or raise ArgumentError,
    "Document should be GroupDocs::Document object, received: #{document.inspect}"

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/{{client_id}}/#{pluralized_class_name}/#{id}/document/#{document.file.guid}"
  end
  api.add_params(options)
  api.execute!
end

#documents!(access = {}) ⇒ Array<GroupDocs::Document>

Returns documents array.

Parameters:

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

    Access credentials

Options Hash (access):

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

Returns:



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 19

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

  json[:documents].map do |document|
    file = Storage::File.new(guid: document[:documentId], name: document[:name])
    Document.new(document.merge(file: file))
  end
end

#remove_document!(document, access = {}) ⇒ Object

Removes document.

Examples:

template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
document = template.documents!.first
template.remove_document! document
envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
document = envelope.documents!.first
envelope.remove_document! document

Parameters:

Options Hash (access):

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

Raises:

  • (ArgumentError)

    if document is not GroupDocs::Document



85
86
87
88
89
90
91
92
93
94
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 85

def remove_document!(document, access = {})
  document.is_a?(GroupDocs::Document) or raise ArgumentError,
    "Document should be GroupDocs::Document object, received: #{document.inspect}"

  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/signature/{{client_id}}/#{pluralized_class_name}/#{id}/documents/#{document.file.guid}"
  end.execute!
end