Sha256: 9032c9210ecbaafca7ff089cb152d995cc926d94b7ff791d4da001c988960946

Contents?: true

Size: 1.06 KB

Versions: 9

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

module Decidim
  module TermCustomizer
    module Import
      module Readers
        autoload :Base, "decidim/term_customizer/import/readers/base"
        autoload :CSV, "decidim/term_customizer/import/readers/csv"
        autoload :JSON, "decidim/term_customizer/import/readers/json"
        autoload :XLS, "decidim/term_customizer/import/readers/xls"

        # Accepted mime types
        # keys: are used for dynamic help text on admin form.
        # values: are used to validate the file format of imported document.
        ACCEPTED_MIME_TYPES = {
          json: Readers::JSON::MIME_TYPE,
          csv: Readers::CSV::MIME_TYPE,
          xls: Readers::XLS::MIME_TYPE
        }.freeze

        def self.all
          [
            Readers::CSV,
            Readers::JSON,
            Readers::XLS
          ]
        end

        def self.find_by_mime_type(mime_type)
          all.each do |reader_klass|
            return reader_klass if mime_type == reader_klass::MIME_TYPE
          end

          nil
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
decidim-term_customizer-0.23.0 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.22.0 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.21.0 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.20.0 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.19.1 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.19.0 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.18.0 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.17.1 lib/decidim/term_customizer/import/readers.rb
decidim-term_customizer-0.17.0 lib/decidim/term_customizer/import/readers.rb