Class: Importr::DataImport

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/importr/data_import.rb

Instance Method Summary collapse

Instance Method Details

#error_count_textObject



20
21
22
# File 'app/models/importr/data_import.rb', line 20

def error_count_text
  error_count.blank? ? "None" : error_count
end

#file_pathObject



36
37
38
# File 'app/models/importr/data_import.rb', line 36

def file_path
  self.document.file.file
end

#generate_uuidObject



12
13
14
# File 'app/models/importr/data_import.rb', line 12

def generate_uuid
  self.uuid = Digest::SHA1.hexdigest(Time.now.to_i.to_s)
end

#importer_classObject



32
33
34
# File 'app/models/importr/data_import.rb', line 32

def importer_class
  self.importer_type.constantize
end

#performObject



40
41
42
# File 'app/models/importr/data_import.rb', line 40

def perform
  importer_class.import(file_path, context: self)
end

#progress_textObject



16
17
18
# File 'app/models/importr/data_import.rb', line 16

def progress_text
  total_rows.blank? ? "None" : "#{processed_rows || 0} / #{total_rows}"
end

#status_textObject



24
25
26
27
28
29
30
# File 'app/models/importr/data_import.rb', line 24

def status_text
  if finished
    total_rows.blank? ? "Failed" : "Finished"
  else
    "In progress"
  end
end

#websocket_channel(scope) ⇒ Object



7
8
9
10
# File 'app/models/importr/data_import.rb', line 7

def websocket_channel(scope)
  #return "/#{resource.resource_type}/#{self.importer_type}/#{scope}"
  return "/#{self.importer_type}/#{scope}-#{self.uuid}"
end