lib/groupdocs/document.rb in groupdocs-1.5.7 vs lib/groupdocs/document.rb in groupdocs-1.5.8
- old
+ new
@@ -176,11 +176,10 @@
metadata.guid = json[:guid]
metadata.page_count = json[:page_count]
metadata.views_count = json[:views_count]
if json[:last_view]
metadata.last_view = json[:last_view]
-
end
end
end
# @attr [GroupDocs::Storage::File] file
@@ -588,11 +587,11 @@
# Returns array of URLs to images representing document pages htmlRepresentations.
#
# @example
# file = GroupDocs::Storage::Folder.list!.last
# document = file.to_document
- # document.thumbnails! first_page: 0, page_count: 1, passwordSalt: ***
+ # document.representations! first_page: 0, page_count: 1, passwordSalt: ***
#
# @param [Hash] options
# @option options [Integer] :page_number Start page to return image for (starting with 0)
# @option options [Integer] :page_count Number of pages to return image for
# @option options [Integer] :passwordSalt
@@ -643,11 +642,11 @@
#
def access_mode_set!(mode, access = {})
api = Api::Request.new do |request|
request[:access] = access
request[:method] = :PUT
- request[:path] = "/doc/{{client_id}}/files/#{file.guid}/accessinfo"
+ request[:path] = "/doc/{{client_id}}/files/#{file.id}/accessinfo"
end
api.add_params(:mode => ACCESS_MODES[mode])
json = api.execute!
parse_access_mode(json[:access])
@@ -1059,10 +1058,11 @@
[]
end
end
#
+ # Changed in release 1.5.8
# Returns document details.
#
# @param [Hash] access Access credentials
# @option access [String] :client_id
# @option access [String] :private_key
@@ -1070,17 +1070,18 @@
#
def details!(access = {})
api = Api::Request.new do |request|
request[:access] = access
request[:method] = :GET
- request[:path] = "/comparison/{{client_id}}/comparison/document"
+ request[:path] = "/comparison/{{client_id}}document"
end
api.add_params(:guid => file.guid)
api.execute!
end
#
+ # Changed in release 1.5.8
# Schedules a job for comparing document with given.
#
# @param [GroupDocs::Document] document
# @param [Hash] access Access credentials
# @option access [String] :client_id
@@ -1094,11 +1095,11 @@
"Document should be GroupDocs::Document object, received: #{document.inspect}"
api = Api::Request.new do |request|
request[:access] = access
request[:method] = :GET
- request[:path] = "/comparison/{{client_id}}/comparison/compare"
+ request[:path] = "/comparison/{{client_id}}/compare"
end
api.add_params(:source => file.guid, :target => document.file.guid, :callback => callback)
json = api.execute!
Job.new(:id => json[:job_id])
@@ -1122,22 +1123,22 @@
def update_changes!(changes, access = {})
api = Api::Request.new do |request|
request[:access] = access
request[:method] = :PUT
- request[:path] = "/comparison/{{client_id}}/comparison/changes"
+ request[:path] = "/comparison/public/#{file.guid}/changes"
request[:request_body] = changes
end
- api.add_params(:resultFileId => file.guid)
json = api.execute!
json[:changes].map do |change|
Document::Change.new(change)
end
end
#
+ # @Changed in realese 1.5.8
# Returns an array of changes in document.
#
# @example
# document_one = GroupDocs::Storage::Folder.list![0].to_document
# document_two = GroupDocs::Storage::Folder.list![1].to_document
@@ -1152,41 +1153,53 @@
#
def changes!(access = {})
api = Api::Request.new do |request|
request[:access] = access
request[:method] = :GET
- request[:path] = '/comparison/{{client_id}}/comparison/changes'
+ request[:path] = '/comparison/public/#{file.guid}/changes'
end
- api.add_params(:resultFileId => file.guid)
json = api.execute!
json[:changes].map do |change|
Document::Change.new(change)
end
end
#
+ # Changed in realese 1.5.8
# Download comparison result file.
#
+ # @example
+ # document_one = GroupDocs::Storage::Folder.list![0].to_document
+ # document_two = GroupDocs::Storage::Folder.list![1].to_document
+ # job = document_one.compare!(document_two)
+ # sleep(5) # wait for server to finish comparing
+ # result = job.documents![:outputs].first
+ # result.download!("#{File.dirname(__FILE__)}", {:format => 'pdf'})
+ #
# @param [Hash] options
- # @option format [String] :format Comparison result file GUID
- # @option resultFileId [String] :resultFileId Comparison result file GUID
+ # @option format [String] :format Comparison result file GUID #
# @param [Hash] access Access credentials
# @option access [String] :client_id
# @option access [String] :private_key
#
#
def download!( path, options = {}, access = {})
api = Api::Request.new do |request|
request[:access] = access
request[:method] = :DOWNLOAD
- request[:path] = "/comparison/{{client_id}}/comparison/download"
+ request[:path] = "/comparison/public/#{file.guid}/download"
end
api.add_params(options)
response = api.execute!
- filepath = "#{path}/#{file.name}"
+ if file.name.split('.').last != options[:format]
+ file_name = file.name.delete!(file.name.split('.').last) + options[:format]
+ else
+ file_name = file.name
+ end
+ filepath = "#{path}/#{file_name}"
Object::File.open(filepath, 'wb') do |file|
file.write(response)
end
end
@@ -1355,15 +1368,90 @@
#
# Pass all unknown methods to file.
#
+
def method_missing(method, *args, &blk)
file.respond_to?(method) ? file.send(method, *args, &blk) : super
end
def respond_to?(method)
super or file.respond_to?(method)
+ end
+
+
+ #
+ # added in release 1.5.8
+ #
+ # Returns document hyperlinks
+ #
+ # @param [Hash] access Access credentials
+ # @option access [String] :client_id
+ # @option access [String] :private_key
+ #
+ def hyperlinks!(access = {})
+ json = Api::Request.new do |request|
+ request[:access] = access
+ request[:method] = :GET
+ request[:path] = "/doc/{{client_id}}/files/#{file.guid}/hyperlinks"
+ end.execute!
+
+ json[:links]
+ end
+
+ #
+ # Changed in release 1.5.8
+ #
+ #
+ # Public Sign document
+ #
+ # @param [String] document Document GUID
+ # @param [Hash] settings Settings of the signing document
+ # @param settings [String] waterMarkText
+ # @param settings [String] waterMarkImage
+ # @param settings [String] name (required)
+ # @param settings [Double] top (required)
+ # @param settings [Double] left (required)
+ # @param settings [Double] width (required)
+ # @param settings [Double] height (required)
+ # @param settings [String] placeSignatureOn (required)
+ # @param settings [String] data
+ # @param [Hash] access Access credentials
+ # @option access [String] :client_id
+ # @option access [String] :private_key
+ # @return [Array]
+ #
+ def public_sign_document!(options = {}, access = {})
+ json = Api::Request.new do |request|
+ request[:access] = access
+ request[:method] = :POST
+ request[:path] = "/signature/public/documents/#{file.guid}/sign"
+ request[:request_body] = options
+ end.execute!
+
+ json[:jobId]
+ end
+
+ #
+ # Changed in release 1.5.8
+ #
+ #
+ # Get document fields
+ #
+ # @param [String] document 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.public_fields!(access = {})
+ Api::Request.new do |request|
+ request[:access] = access
+ request[:method] = :GET
+ request[:path] = "/signature/public/documents/#{file.guid}/fields"
+ end.execute!
end
end # Document
end # GroupDocs