Sha256: 7e33976a2eea57d1bbc00f3f6dab8967cdfdb119ceff7e018117e10bb5381aee
Contents?: true
Size: 589 Bytes
Versions: 77
Compression:
Stored size: 589 Bytes
Contents
# frozen_string_literal: true module Onebox module Engine class XkcdOnebox include Engine include LayoutSupport include JSON matches_regexp(/^https?:\/\/(www\.)?(m\.)?xkcd\.com\/\d+/) def url "https://xkcd.com/#{match[:comic_id]}/info.0.json" end private def match @match ||= @url.match(%{xkcd\.com/(?<comic_id>\\d+)}) end def data { link: @url, title: raw['safe_title'], image: raw['img'], description: raw['alt'] } end end end end
Version data entries
77 entries across 77 versions & 1 rubygems