Sha256: 05eb7f2c3b6dafc904852792b47c7136f858082e84e3e6b8c9086312145084a1

Contents?: true

Size: 1.16 KB

Versions: 35

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

module Onebox
  module Engine
    class CloudAppOnebox
      include Engine
      include StandardEmbed

      matches_regexp(/^https?:\/\/cl\.ly/)
      always_https

      def to_html
        og = get_opengraph

        if !og.image.nil?
          return image_html(og)
        elsif og.title.to_s[/\.(mp4|ogv|webm)$/]
          return video_html(og)
        else
          return link_html(og)
        end
      end

      private

      def link_html(og)
        <<-HTML
            <a href='#{og.url}' target='_blank'>
              #{og.title}
            </a>
          HTML
      end

      def video_html(og)
        direct_src = ::Onebox::Helpers.normalize_url_for_output("#{og.get(:url)}/#{og.title}")

        <<-HTML
            <video width='480' height='360' #{og.title_attr} controls loop>
              <source src='#{direct_src}' type='video/mp4'>
            </video>
          HTML
      end

      def image_html(og)
        <<-HTML
            <a href='#{og.url}' target='_blank' class='onebox'>
              <img src='#{og.image}' #{og.title_attr} alt='CloudApp' width='480'>
            </a>
          HTML
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

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