Method: GroupDocs::Signature::DocumentMethods#documents!

Defined in:
lib/groupdocs/signature/shared/document_methods.rb

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

Returns documents array.

Parameters:

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

    Access credentials

Options Hash (options):

Options Hash (access):

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

Returns:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 23

def documents!(options = {}, access = {})
  path = if options[:public]
           case class_name
           when 'envelope'
             options[:recipient].is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
               "Recipient should be GroupDocs::Signature::Recipient object, received: #{options[:recipient].inspect}"

             "/signature/public/envelopes/#{id}/recipient/#{options[:recipient].id}/documents"
           when 'form'
             "/signature/public/forms/#{id}/documents"
           else
             raise ArgumentError, "Public is supported only for envelope or form."
           end
         else
           "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents"
         end

  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = path
  end.execute!

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

end