You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: art_street.rb
    path of file: ./repos/danbooru/app/logical/source/extractor
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

# @see Source::URL::ArtStreet
class Source::Extractor
  class ArtStreet < Source::Extractor
    def match?
      Source::URL::ArtStreet === parsed_url
    end

    def image_urls
      if parsed_url.full_image_url.present?
        [parsed_url.full_imag
    
    def image_urls
      if parsed_url.full_image_url.present?
        [parsed_url.full_image_url]
      elsif book_id.present?
        cover_url = book_api_response.dig("coverUrl")
        image_urls = book_api_response.dig("chapterList", 0, "pageList").to_a.pluck("publicBgImage")

        [cover_url, *image_urls].compact_blank
      else
        page&.css(".pictureDetails__image img").to_a.pluck("src").map do |url|
          Source::URL.parse(url).full_image_url
        end
      end