thedrummeraki/tanoshimu

View on GitHub
app/operations/episode/generate_urls.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class Episode
  class GenerateUrls < ApplicationOperation
    input :force, type: :keyword, required: false

    before do
      puts 'Generating URLs for Episodes...'
      message = "[#{Time.zone.now}] Preparing Episode URL generation..."
      Rails.logger.info(message)

      @episodes = Episode.published
      Rails.logger.info("Analyzing #{@episodes.count} episode(s)...")
    end

    def execute
      printf('Generating for episodes: ')
      @successful_ids = []
      @episodes.each do |episode|
        result = episode.generate_thumbnail_url!(force: force)
        @successful_ids << episode.id if result && episode.thumbnail?
      end
      puts "#{@successful_ids.join(', ')} done."
    end

    succeeded do
      Rails.logger.info('Done.')
    end
  end
end