class RailsAdminImport::Formats::FileImporter
Attributes
error[R]
filename[R]
import_model[R]
Public Class Methods
new(import_model, params)
click to toggle source
# File lib/rails_admin_import/formats/file_importer.rb, line 4 def initialize(import_model, params) if params.has_key?(:file) @filename = params[:file].tempfile end @import_model = import_model end
Public Instance Methods
each(&block)
click to toggle source
# File lib/rails_admin_import/formats/file_importer.rb, line 22 def each(&block) return enum_for(:each) unless block_given? if RailsAdminImport.config.logging && filename copy_uploaded_file_to_log_dir end each_record(&block) end
valid?()
click to toggle source
# File lib/rails_admin_import/formats/file_importer.rb, line 13 def valid? if filename.nil? @error = I18n.t("admin.import.missing_file") false else true end end
Private Instance Methods
copy_uploaded_file_to_log_dir()
click to toggle source
# File lib/rails_admin_import/formats/file_importer.rb, line 38 def copy_uploaded_file_to_log_dir copy_filename = "#{Time.now.strftime("%Y-%m-%d-%H-%M-%S")}-import.csv" dir_path = File.join(Rails.root, "log", "import") FileUtils.mkdir_p(dir_path) copy_path = File.join(dir_path, copy_filename) FileUtils.copy(filename, copy_path) end
each_record()
click to toggle source
# File lib/rails_admin_import/formats/file_importer.rb, line 34 def each_record raise "Implement each_record in subclasses" end