Module: GroupDocs::Signature::DocumentMethods
- Defined in:
- lib/groupdocs/signature/shared/document_methods.rb
Overview
Envelope and template entities share the same set of document methods.
Instance Method Summary collapse
-
#add_document!(document, options = {}, access = {}) ⇒ Object
Adds document.
-
#documents!(options = {}, access = {}) ⇒ Array<GroupDocs::Document>
Returns documents array.
-
#remove_document!(document, access = {}) ⇒ Object
Removes document.
Instance Method Details
#add_document!(document, options = {}, access = {}) ⇒ Object
Adds document.
74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 74 def add_document!(document, = {}, 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}}/#{class_name.pluralize}/#{id}/document/#{document.file.guid}" end api.add_params() api.execute! end |
#documents!(options = {}, access = {}) ⇒ Array<GroupDocs::Document>
Returns documents array.
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 |
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 23 def documents!( = {}, access = {}) path = if [:public] case class_name when 'envelope' [:recipient].is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError, "Recipient should be GroupDocs::Signature::Recipient object, received: #{[:recipient].inspect}" "/signature/public/envelopes/#{id}/recipient/#{[: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 |
#remove_document!(document, access = {}) ⇒ Object
Removes document.
106 107 108 109 110 111 112 113 114 115 |
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 106 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}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}" end.execute! end |