From 22dbacaa6393d1ef2d797e1b09916615d459eaa3 Mon Sep 17 00:00:00 2001 From: vanyauhalin Date: Thu, 27 Jul 2023 15:47:05 +0400 Subject: [PATCH] ruby: replace the previous implementation of formats --- .../ruby/app/configuration/configuration.rb | 24 ------------ .../ruby/app/models/document_helper.rb | 13 ++++--- .../ruby/app/models/file_utility.rb | 37 +++++-------------- 3 files changed, 18 insertions(+), 56 deletions(-) diff --git a/web/documentserver-example/ruby/app/configuration/configuration.rb b/web/documentserver-example/ruby/app/configuration/configuration.rb index 21f708c4..61d4ed5e 100644 --- a/web/documentserver-example/ruby/app/configuration/configuration.rb +++ b/web/documentserver-example/ruby/app/configuration/configuration.rb @@ -131,30 +131,6 @@ class ConfigurationManager 120 end - sig { returns(T::Array[String]) } - def fillable_file_extensions - '.docx|.oform' - .split('|') - end - - sig { returns(T::Array[String]) } - def viewable_file_extensions - '.djvu|.oxps|.pdf|.xps' - .split('|') - end - - sig { returns(T::Array[String]) } - def editable_file_extensions - '.csv|.docm|.docx|.docxf|.dotm|.dotx|.epub|.fb2|.html|.odp|.ods|.odt|.otp|.ots|.ott|.potm|.potx|.ppsm|.ppsx|.pptm|.pptx|.rtf|.txt|.xlsm|.xlsx|.xltm|.xltx' - .split('|') - end - - sig { returns(T::Array[String]) } - def convertable_file_extensions - '.doc|.dot|.dps|.dpt|.epub|.et|.ett|.fb2|.fodp|.fods|.fodt|.htm|.html|.mht|.mhtml|.odp|.ods|.odt|.otp|.ots|.ott|.pot|.pps|.ppt|.rtf|.stw|.sxc|.sxi|.sxw|.wps|.wpt|.xls|.xlsb|.xlt|.xml' - .split('|') - end - sig { returns(T::Hash[String, String]) } def languages { diff --git a/web/documentserver-example/ruby/app/models/document_helper.rb b/web/documentserver-example/ruby/app/models/document_helper.rb index 6bcab1be..28982c03 100755 --- a/web/documentserver-example/ruby/app/models/document_helper.rb +++ b/web/documentserver-example/ruby/app/models/document_helper.rb @@ -15,12 +15,15 @@ # require_relative '../configuration/configuration' +require_relative '../format/format' class DocumentHelper @config_manager = ConfigurationManager.new + @format_manager = FormatManager.new class << self attr_reader :config_manager + attr_reader :format_manager end @@runtime_cache = {} @@ -41,26 +44,26 @@ class DocumentHelper # all the supported file extensions def file_exts - [].concat(viewed_exts).concat(edited_exts).concat(convert_exts).concat(fill_forms_exts) + DocumentHelper.format_manager.all_extensions end def fill_forms_exts - DocumentHelper.config_manager.fillable_file_extensions + DocumentHelper.format_manager.fillable_extensions end # file extensions that can be viewed def viewed_exts - DocumentHelper.config_manager.viewable_file_extensions + DocumentHelper.format_manager.viewable_extensions end # file extensions that can be edited def edited_exts - DocumentHelper.config_manager.editable_file_extensions + DocumentHelper.format_manager.editable_extensions end # file extensions that can be converted def convert_exts - DocumentHelper.config_manager.convertable_file_extensions + DocumentHelper.format_manager.convertible_extensions end # get current user host address diff --git a/web/documentserver-example/ruby/app/models/file_utility.rb b/web/documentserver-example/ruby/app/models/file_utility.rb index 3832c99d..204dbcac 100644 --- a/web/documentserver-example/ruby/app/models/file_utility.rb +++ b/web/documentserver-example/ruby/app/models/file_utility.rb @@ -14,39 +14,22 @@ # limitations under the License. # +require_relative '../format/format' + class FileUtility - - - # the document extension list - @@exts_document = %w(.doc .docx .docm .oform .dot .dotx .dotm .odt .fodt .ott .rtf .txt .html .htm .mht .xml .pdf .djvu .fb2 .epub .xps .oxps) - - # the spreadsheet extension list - @@exts_spreadsheet = %w(.xls .xlsx .xlsm .xlsb .xlt .xltx .xltm .ods .fods .ots .csv) - - # the presentation extension list - @@exts_presentation = %w(.pps .ppsx .ppsm .ppt .pptx .pptm .pot .potx .potm .odp .fodp .otp) + @format_manager = FormatManager.new class << self + attr_reader :format_manager - # get file type by its name def get_file_type(file_name) - ext = File.extname(file_name).downcase # get file extension by its name + ext = File.extname(file_name).downcase - if @@exts_document.include? ext # word type for document extensions - return 'word' - end + return 'word' if FileUtility.format_manager.document_extensinons.include?(ext) + return 'cell' if FileUtility.format_manager.spreadsheet_extensinons.include?(ext) + return 'slide' if FileUtility.format_manager.presentation_extensinons.include?(ext) - if @@exts_spreadsheet.include? ext # cell type for spreadsheet extensions - return 'cell' - end - - if @@exts_presentation.include? ext # slide type for presentation extensions - return 'slide' - end - - 'word' # the default file type is word + 'word' end - end - -end \ No newline at end of file +end