Sha256: 76001f545519357290eb4d870f219e842221ccf057714b59b8f147c894ed99ea

Contents?: true

Size: 836 Bytes

Versions: 16

Compression:

Stored size: 836 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
      requires_iframe_origins("https://embed.simplecast.com")

      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

16 entries across 16 versions & 1 rubygems

Version Path
onebox-2.2.19 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.18 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.17 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.16 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.15 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.14 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.13 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.12 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.11 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.10 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.9 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.8 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.6 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.5 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.4 lib/onebox/engine/simplecast_onebox.rb
onebox-2.2.2 lib/onebox/engine/simplecast_onebox.rb