Sha256: 3935c61e887002f30bf483ad7d20d8970b5d6bf938bf53e2c81b1e4a2e3413dc

Contents?: true

Size: 1.21 KB

Versions: 24

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Decidim
  module Exporters
    autoload :Exporter, "decidim/exporters/exporter"
    autoload :JSON, "decidim/exporters/json"
    autoload :CSV, "decidim/exporters/csv"
    autoload :Excel, "decidim/exporters/excel"
    autoload :PDF, "decidim/exporters/pdf"
    autoload :ExportData, "decidim/exporters/export_data"

    # Lock the export formats to one of the available exporters
    EXPORT_FORMATS = [:JSON, :CSV, :Excel, :PDF, :FormPDF].freeze

    class UnknownFormatError < StandardError; end

    # Necessary for the i18n normalizer to locate strings not directly invoked in views:

    # i18n-tasks-use t('decidim.admin.exports.formats.JSON')
    # i18n-tasks-use t('decidim.admin.exports.formats.CSV')
    # i18n-tasks-use t('decidim.admin.exports.formats.Excel')

    # Get the exporter class constant from the format as a string.
    #
    # format - The exporter format as a string. i.e "CSV"
    def self.find_exporter(format)
      raise UnknownFormatError unless format.respond_to?(:to_sym)
      raise UnknownFormatError unless EXPORT_FORMATS.include?(format.to_sym)
      raise UnknownFormatError unless const_defined?(format.to_sym)

      const_get(format.to_sym)
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc2 lib/decidim/exporters.rb
decidim-core-0.30.0.rc1 lib/decidim/exporters.rb
decidim-core-0.29.2 lib/decidim/exporters.rb
decidim-core-0.28.5 lib/decidim/exporters.rb
decidim-core-0.29.1 lib/decidim/exporters.rb
decidim-core-0.28.4 lib/decidim/exporters.rb
decidim-core-0.27.9 lib/decidim/exporters.rb
decidim-core-0.29.0 lib/decidim/exporters.rb
decidim-core-0.28.3 lib/decidim/exporters.rb
decidim-core-0.27.8 lib/decidim/exporters.rb
decidim-core-0.29.0.rc4 lib/decidim/exporters.rb
decidim-core-0.29.0.rc3 lib/decidim/exporters.rb
decidim-core-0.29.0.rc2 lib/decidim/exporters.rb
decidim-core-0.29.0.rc1 lib/decidim/exporters.rb
decidim-core-0.28.2 lib/decidim/exporters.rb
decidim-core-0.27.7 lib/decidim/exporters.rb
decidim-core-0.28.1 lib/decidim/exporters.rb
decidim-core-0.27.6 lib/decidim/exporters.rb
decidim-core-0.26.10 lib/decidim/exporters.rb
decidim-core-0.26.9 lib/decidim/exporters.rb