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.
-
#rename_document!(new_name, document, access = {}) ⇒ Object
Rename signature template document.
Instance Method Details
#add_document!(document, options = {}, access = {}) ⇒ Object
Adds document.
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 76 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 52 |
# 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.
108 109 110 111 112 113 114 115 116 117 |
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 108 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 |
#rename_document!(new_name, document, access = {}) ⇒ Object
Rename signature template document
143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/groupdocs/signature/shared/document_methods.rb', line 143 def rename_document!(new_name, 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] = :PUT request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/document/#{document.file.guid}" end api.add_params(:newName => new_name) api.execute! end |