Sha256: fc1476a7afc6b85accb42e69072f1d85a4a9205640f2b6a5336a8ab017f2898c

Contents?: true

Size: 1.23 KB

Versions: 15

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

module Onebox
  module Engine
    class VimeoOnebox
      include Engine
      include StandardEmbed

      matches_regexp(/^https?:\/\/(www\.)?vimeo\.com\/\d+/)
      always_https

      WIDTH  ||= 640
      HEIGHT ||= 360

      def placeholder_html
        ::Onebox::Helpers.video_placeholder_html
      end

      def to_html
        video_id = oembed_data[:video_id]
        if video_id.nil?
          # for private videos
          video_id = uri.path[/\/(\d+)/, 1]
        end
        video_src = "https://player.vimeo.com/video/#{video_id}"
        video_src = video_src.gsub('autoplay=1', '').chomp("?")
        <<-HTML
          <iframe width="#{WIDTH}"
                  height="#{HEIGHT}"
                  src="#{video_src}"
                  data-original-href="#{link}"
                  frameborder="0"
                  allowfullscreen>
          </iframe>
        HTML
      end

      private

      def oembed_data
        response = Onebox::Helpers.fetch_response("https://vimeo.com/api/oembed.json?url=#{url}")
        @oembed_data = Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
      rescue
        "{}"
      end

      def og_data
        @og_data = get_opengraph
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
onebox-2.0.2 lib/onebox/engine/vimeo_onebox.rb
onebox-2.0.1 lib/onebox/engine/vimeo_onebox.rb
onebox-2.0.0 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.30 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.29 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.28.4 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.28.3 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.28.2 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.28.1 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.28 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.27.2 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.27.1 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.26 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.25 lib/onebox/engine/vimeo_onebox.rb
onebox-1.9.24 lib/onebox/engine/vimeo_onebox.rb