Sha256: ef0e58add78ff4e6dd52e2ea8da5c32cb82c323ef3ebaa0558a5c13833cfd4e1

Contents?: true

Size: 774 Bytes

Versions: 43

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

module Onebox
  module Engine
    class SimplecastOnebox
      include Engine
      include StandardEmbed

      matches_regexp(/https?:\/\/(.+)?simplecast.com\/(episodes|s)\/.*/)
      always_https

      def to_html
        get_oembed.html
      end

      def placeholder_html
        oembed = get_oembed
        return if Onebox::Helpers.blank?(oembed.thumbnail_url)
        "<img src='#{oembed.thumbnail_url}' #{oembed.title_attr}>"
      end

      private

      def get_oembed_url
        if id = url.scan(/([a-zA-Z0-9]*)\Z/).flatten.first
          oembed_url = "https://simplecast.com/s/#{id}"
        else
          oembed_url = url
        end

        "https://simplecast.com/oembed?url=#{oembed_url}"
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
onebox-1.9.10 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.9 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.8 lib/onebox/engine/simplecast_onebox.rb