Class: Publication::CoverGenerator
- Inherits:
-
BaseService
- Object
- BaseService
- Publication::CoverGenerator
- Defined in:
- app/services/publication/cover_generator.rb
Instance Method Summary collapse
Instance Method Details
#cleanup_failed_uploads ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'app/services/publication/cover_generator.rb', line 23 def cleanup_failed_uploads Item.publications.joins(:primary_image).includes(:primary_image).find_each do |pub| if pub.primary_image.is_remote_image_valid? logger.info "Primary image #{pub.primary_image_id} is valid" else logger.info "Deleting primary image #{pub.primary_image.id} as it is invalid" pub.primary_image.destroy end end end |
#process(clean_first: false) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/services/publication/cover_generator.rb', line 2 def process(clean_first: false) failures = [] successes = [] cleanup_failed_uploads if clean_first Item.publications.where(primary_image_id: nil).find_each do |pub| logger.info "Migrating #{pub.sku} and extracting cover" begin image = pub.create_primary_image_from_pdf if image successes << [pub.sku, image.id] else failures << [pub.sku, 'No image generated'] end rescue StandardError => exc failures << [pub.sku, exc.to_s] end end { successes: successes, failures: failures } end |