lib/groupdocs/document.rb in groupdocs-0.2 vs lib/groupdocs/document.rb in groupdocs-0.2.1

- old
+ new

@@ -6,13 +6,13 @@ require 'groupdocs/document/field' require 'groupdocs/document/metadata' require 'groupdocs/document/rectangle' require 'groupdocs/document/view' - extend GroupDocs::Api::Sugar::Lookup - include GroupDocs::Api::Helpers::Access - include GroupDocs::Api::Helpers::Status + extend Extensions::Lookup + include Api::Helpers::AccessMode + include Api::Helpers::Status # # Returns an array of all documents on server. # # @param [String] path Starting path to look for documents @@ -20,11 +20,11 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<GroupDocs::Storage::Document>] # def self.all!(path = '/', access = {}) - GroupDocs::Storage::File.all!(path, access).map(&:to_document) + Storage::File.all!(path, access).map(&:to_document) end # # Returns an array of views for all documents. # @@ -35,20 +35,20 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<GroupDocs::Document::View>] # def self.views!(options = { page_index: 0 }, access = {}) - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/doc/{{client_id}}/views" end api.add_params(options) json = api.execute! json[:views].map do |view| - GroupDocs::Document::View.new(view) + Document::View.new(view) end end # @attr [GroupDocs::Storage::File] file attr_accessor :file @@ -90,11 +90,11 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Symbol] One of :private, :restricted or :public access modes # def access_mode!(access = {}) - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/doc/{{client_id}}/files/#{file.id}/accessinfo" end.execute! @@ -109,11 +109,11 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Symbol] Set access mode # def access_mode_set!(mode, access = {}) - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/doc/{{client_id}}/files/#{file.id}/accessinfo" end api.add_params(mode: parse_access_mode(mode)) @@ -131,11 +131,11 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<Symbol>] # def formats!(access = {}) - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/doc/{{client_id}}/files/#{file.id}/formats" end.execute! @@ -151,17 +151,17 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [GroupDocs::Document::MetaData] # def metadata!(access = {}) - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/doc/{{client_id}}/files/#{file.id}/metadata" end.execute! - GroupDocs::Document::MetaData.new do |metadata| + Document::MetaData.new do |metadata| metadata.id = json[:id] metadata.guid = json[:guid] metadata.page_count = json[:page_count] metadata.views_count = json[:views_count] if json[:last_view] @@ -180,20 +180,20 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<GroupDocs::Document::Field>] # def fields!(options = {}, access = {}) - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/doc/{{client_id}}/files/#{file.guid}/fields" end api.add_params(options) json = api.execute! json[:fields].map do |field| - GroupDocs::Document::Field.new(field) + Document::Field.new(field) end end # # Returns an array of users a document is shared with. @@ -202,18 +202,18 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<GroupDocs::User>] # def sharers!(access = {}) - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/doc/{{client_id}}/files/#{file.id}/accessinfo" end.execute! json[:sharers].map do |user| - GroupDocs::User.new(user) + User.new(user) end end # # Sets document sharers to given emails. @@ -228,19 +228,19 @@ # def sharers_set!(emails, access = {}) if emails.nil? || emails.empty? sharers_clear!(access) else - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/doc/{{client_id}}/files/#{file.id}/sharers" request[:request_body] = emails end.execute! json[:shared_users].map do |user| - GroupDocs::User.new(user) + User.new(user) end end end # @@ -250,11 +250,11 @@ # @option access [String] :client_id # @option access [String] :private_key # @return nil # def sharers_clear!(access = {}) - GroupDocs::Api::Request.new do |request| + Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/doc/{{client_id}}/files/#{file.id}/sharers" end.execute![:shared_users] end @@ -271,19 +271,19 @@ # @return [GroupDocs::Job] Created job # def convert!(format, options = {}, access = {}) options.merge!(new_type: format) - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/{{client_id}}/files/#{file.guid}" end api.add_params(options) json = api.execute! - GroupDocs::Job.new(id: json[:job_id]) + Job.new(id: json[:job_id]) end # # Creates new job to merge datasource into document. # @@ -303,19 +303,19 @@ datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError, "Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}" (options[:new_type].nil? || options[:email_results].nil?) and raise ArgumentError, "Both :new_type and :email_results should be passed, received: #{options.inspect}" - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/merge/{{client_id}}/files/#{file.guid}/datasources/#{datasource.id}" end api.add_params(options) json = api.execute! - GroupDocs::Job.new(id: json[:job_id]) + Job.new(id: json[:job_id]) end # # Returns an array of questionnaires. # @@ -323,18 +323,18 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<GroupDocs::Questionnaire>] # def questionnaires!(access = {}) - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/files/#{file.guid}/questionnaires" end.execute! json[:questionnaires].map do |questionnaire| - GroupDocs::Questionnaire.new(questionnaire) + Questionnaire.new(questionnaire) end end # # Adds questionnaire to document. @@ -348,11 +348,11 @@ # def add_questionnaire!(questionnaire, access = {}) questionnaire.is_a?(GroupDocs::Questionnaire) or raise ArgumentError, "Questionnaire should be GroupDocs::Questionnaire object, received: #{questionnaire.inspect}" - GroupDocs::Api::Request.new do |request| + Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/files/#{file.guid}/questionnaires/#{questionnaire.id}" end.execute! end @@ -370,11 +370,11 @@ # def create_questionnaire!(questionnaire, access = {}) questionnaire.is_a?(GroupDocs::Questionnaire) or raise ArgumentError, "Questionnaire should be GroupDocs::Questionnaire object, received: #{questionnaire.inspect}" - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/merge/{{client_id}}/files/#{file.guid}/questionnaires" request[:request_body] = questionnaire.to_hash end.execute! @@ -395,11 +395,11 @@ # def remove_questionnaire!(questionnaire, access = {}) questionnaire.is_a?(GroupDocs::Questionnaire) or raise ArgumentError, "Questionnaire should be GroupDocs::Questionnaire object, received: #{questionnaire.inspect}" - GroupDocs::Api::Request.new do |request| + Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/files/#{file.guid}/questionnaires/#{questionnaire.id}" end.execute! end @@ -411,19 +411,19 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Array<GroupDocs::Document::Annotation>] # def annotations!(access = {}) - json = GroupDocs::Api::Request.new do |request| + json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/ant/{{client_id}}/files/#{file.guid}/annotations" end.execute! json[:annotations].map do |annotation| annotation.merge!(document: self) - GroupDocs::Document::Annotation.new(annotation) + Document::Annotation.new(annotation) end end # # Returns document details. @@ -432,11 +432,11 @@ # @option access [String] :client_id # @option access [String] :private_key # @return [Hash] # def details!(access = {}) - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/comparison/{{client_id}}/comparison/document" end api.add_params(guid: file.guid) @@ -456,19 +456,19 @@ # def compare!(document, access = {}) document.is_a?(GroupDocs::Document) or raise ArgumentError, "Document should be GroupDocs::Document object, received: #{document.inspect}" - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/comparison/{{client_id}}/comparison/compare" end api.add_params(source: file.guid, target: document.file.guid) json = api.execute! - GroupDocs::Job.new(id: json[:job_id]) + Job.new(id: json[:job_id]) end # # Returns an array of changes in document. # @@ -482,19 +482,19 @@ # @param [Hash] access Access credentials # @option access [String] :client_id # @option access [String] :private_key # def changes!(access = {}) - api = GroupDocs::Api::Request.new do |request| + api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/comparison/{{client_id}}/comparison/changes" end api.add_params(resultFileId: file.guid) json = api.execute! json[:changes].map do |change| - GroupDocs::Document::Change.new(change) + Document::Change.new(change) end end # # Pass all unknown methods to file.