Sha256: a85ac284100f7bbcfb09302bab7842b320ca976d7ae9685b7e5a049e0f1e5397

Contents?: true

Size: 780 Bytes

Versions: 18

Compression:

Stored size: 780 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.*?-([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

18 entries across 18 versions & 1 rubygems

Version Path
onebox-1.9.7 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.6 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.5 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.4 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.3 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.2 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.1 lib/onebox/engine/simplecast_onebox.rb
onebox-1.9.0 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.99 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.98 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.97 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.96 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.95 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.94 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.93 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.92 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.91 lib/onebox/engine/simplecast_onebox.rb
onebox-1.8.90 lib/onebox/engine/simplecast_onebox.rb