Sha256: 12ae718c9a8188f59b90b266c0768cf8ffbfa74da1881ef4402a8c782df69358

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require "simple_text_extract/format_extractor/base"
require "simple_text_extract/format_extractor/plain_text"
require "simple_text_extract/format_extractor/pdf"
require "simple_text_extract/format_extractor/xls_x"
require "simple_text_extract/format_extractor/xls"
require "simple_text_extract/format_extractor/doc_x"
require "simple_text_extract/format_extractor/doc"
require "simple_text_extract/format_extractor/zip_extract"

module SimpleTextExtract
  class FormatExtractorFactory
    def self.call(file)
      case file.path
      when /.zip$/i
        FormatExtractor::ZipExtract.new(file)
      when /(.txt$|.csv$)/i
        FormatExtractor::PlainText.new(file)
      when /.pdf$/i
        FormatExtractor::PDF.new(file)
      when /.docx$/i
        FormatExtractor::DocX.new(file)
      when /.doc$/i
        FormatExtractor::Doc.new(file)
      when /.xlsx$/i
        FormatExtractor::XlsX.new(file)
      when /.xls$/i
        FormatExtractor::Xls.new(file)
      else
        FormatExtractor::Base.new(file)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simple_text_extract-2.0.0 lib/simple_text_extract/format_extractor_factory.rb
simple_text_extract-1.3.0 lib/simple_text_extract/format_extractor_factory.rb
simple_text_extract-1.2.0 lib/simple_text_extract/format_extractor_factory.rb