module Support
  module Helpers
    class Artwork
      def initialize(artwork_name)
        @dir = directory_for_artwork(artwork_name)
      end

      def original
        @original ||= formatted_artwork("original")
      end

      def large_cover
        @large_cover ||= formatted_artwork("large_cover")
      end

      private

      def directory_for_artwork(name)
        File.join(Support::Paths.assets, "artwork", name)
      end

      def formatted_artwork(format)
        file = File.join(@dir, "#{format}.jpg")
        fail "#{file} does not exist!" unless File.exist?(file)
        file
      end
    end
  end
end
