Class: Scan::Model::CheckForProblemsJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/scan/model/check_for_problems_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(model_id) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/jobs/scan/model/check_for_problems_job.rb', line 5

def perform(model_id)
  model = Model.find(model_id)
  return if model.remote?
  Problem.create_or_clear(model, :missing, !model.exists_on_storage?)
  Problem.create_or_clear model, :empty, model.model_files.empty?
  Problem.create_or_clear model, :nesting, model.contains_other_models?
  Problem.create_or_clear model, :no_image, model.image_files.empty?
  Problem.create_or_clear model, :no_3d_model, model.three_d_files.empty?
  Problem.create_or_clear model, :no_license, model.license.blank?
  Problem.create_or_clear model, :no_links, model.links.empty?
  Problem.create_or_clear model, :no_creator, model.creator.nil?
  Problem.create_or_clear model, :no_tags, model.tag_list.empty?
  Problem.create_or_clear model, :file_naming, (model.needs_organizing? && !model.contains_other_models?), note: model.formatted_path
  model.model_files.each do |f|
    Problem.create_or_clear(f, :missing, !f.exists_on_storage?)
  end
end