Sha256: f15830584ad002b2ebcc38d8184877ca57aabdb15c0149c9bb37cb865a6ba463

Contents?: true

Size: 1.11 KB

Versions: 14

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module Importo
  class BaseImporter
    include ActiveSupport::Callbacks
    include ActionView::Helpers::SanitizeHelper
    include Importable
    include Exportable
    include Revertable
    include Original
    include ResultFeedback
    include ImporterDsl

    # include ActiveStorage::Downloading

    define_callbacks :row_import

    Importo::Import.state_machine.states.map(&:name).each do |state|
      define_callbacks state
    end

    delegate :friendly_name, :introduction, :model, :columns, :csv_options, :allow_duplicates?, :includes_header?,
      :ignore_header?, :t, to: :class
    attr_reader :import, :blob

    def initialize(imprt = nil)
      @import = imprt
      I18n.locale = import.locale if import&.locale # Should we do this?? here??
    end

    def state_changed(_import, transition)
      run_callbacks(transition.to_name) do
      end
    end

    class << self
      def t(key, options = {})
        if I18n.exists? :"importers.#{name.underscore}#{key}"
          I18n.t(key, options.merge(scope: :"importers.#{name.underscore}"))
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
importo-3.0.22 app/importers/importo/base_importer.rb
importo-3.0.21 app/importers/importo/base_importer.rb
importo-3.0.20 app/importers/importo/base_importer.rb
importo-3.0.19 app/importers/importo/base_importer.rb
importo-3.0.18 app/importers/importo/base_importer.rb
importo-3.0.17 app/importers/importo/base_importer.rb
importo-3.0.16 app/importers/importo/base_importer.rb
importo-3.0.15 app/importers/importo/base_importer.rb
importo-3.0.14 app/importers/importo/base_importer.rb
importo-3.0.13 app/importers/importo/base_importer.rb
importo-3.0.12 app/importers/importo/base_importer.rb
importo-3.0.11 app/importers/importo/base_importer.rb
importo-3.0.10 app/importers/importo/base_importer.rb
importo-3.0.9 app/importers/importo/base_importer.rb