Sha256: 8aa3f25bec21268a214166a15acaa7d8f1db58ab2abd9c8c6536ea13d2eb80ab

Contents?: true

Size: 794 Bytes

Versions: 7

Compression:

Stored size: 794 Bytes

Contents

# frozen_string_literal: true

module Onebox
  module Engine
    class SoundCloudOnebox
      include Engine
      include StandardEmbed

      matches_regexp(/^https?:\/\/soundcloud\.com/)
      requires_iframe_origins "https://w.soundcloud.com"
      always_https

      def to_html
        oembed = get_oembed
        oembed.html.gsub('visual=true', 'visual=false')
      end

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

      protected

      def get_oembed_url
        oembed_url = "https://soundcloud.com/oembed.json?url=#{url}"
        oembed_url += "&maxheight=166" unless url["/sets/"]
        oembed_url
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
onebox-2.2.19 lib/onebox/engine/soundcloud_onebox.rb
onebox-2.2.18 lib/onebox/engine/soundcloud_onebox.rb
onebox-2.2.17 lib/onebox/engine/soundcloud_onebox.rb
onebox-2.2.16 lib/onebox/engine/soundcloud_onebox.rb
onebox-2.2.15 lib/onebox/engine/soundcloud_onebox.rb
onebox-2.2.14 lib/onebox/engine/soundcloud_onebox.rb
onebox-2.2.13 lib/onebox/engine/soundcloud_onebox.rb