Class: Scan::ModelFile::ParseMetadataJob
- Inherits:
-
ApplicationJob
- Object
- ApplicationJob
- Scan::ModelFile::ParseMetadataJob
- Defined in:
- app/jobs/scan/model_file/parse_metadata_job.rb
Instance Method Summary collapse
- #image_metadata(file) ⇒ Object
- #model_metadata(file) ⇒ Object
- #perform(file_id) ⇒ Object
- #presupported?(file) ⇒ Boolean
Instance Method Details
#image_metadata(file) ⇒ Object
21 22 23 24 25 |
# File 'app/jobs/scan/model_file/parse_metadata_job.rb', line 21 def (file) { previewable: true } end |
#model_metadata(file) ⇒ Object
27 28 29 30 31 |
# File 'app/jobs/scan/model_file/parse_metadata_job.rb', line 27 def (file) { presupported: presupported?(file) } end |
#perform(file_id) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/jobs/scan/model_file/parse_metadata_job.rb', line 5 def perform(file_id) file = ModelFile.find(file_id) # Refresh shrine metadata file.. # Get metadata for specific types params = if file.is_image? (file) elsif file.is_3d_model? (file) end # Store updated data file.update!(params.compact) if params # Queue up deeper analysis job file.analyse_later end |
#presupported?(file) ⇒ Boolean
33 34 35 36 |
# File 'app/jobs/scan/model_file/parse_metadata_job.rb', line 33 def presupported?(file) elements = file.path_within_library.split(/[[:punct:]]|[[:space:]]/).map(&:downcase) elements.any? { ModelFile::SUPPORT_KEYWORDS.include?(it) } end |