Sha256: ae1abadd6aed4354edee13ac90890dc4dbf50879cecd839b3128976ce027b4a7

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

module Convert
  module Converters

    def youtube_image(string, options = {})
      options = {
        :width => 320,
        :height => 315,
        :style => 'medium',
        :target => 'blank',
        :border => '0'
      }.merge(options)

      styles = {
        'default' => 'default',
        'high' => 'hqdefault',
        'medium' => 'mqdefault',
        'normal' => 'sddefault',
        'max' => 'maxresdefault'
      }

      @regex = /(https?:\/\/)?(www.)?(youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/watch\?feature=player_embedded&v=)([A-Za-z0-9_-]*)(\&\S+)?(\?\S+)?/

      string.gsub(@regex) do
        youtube_id = $4
        video_url = "https://www.youtube.com/watch?v=#{youtube_id}"
        target = options[:target]
        width = options[:width]
        height = options[:height]
        border = options[:border]
        style = styles[options[:style]] rescue styles['default']
        src = "//img.youtube.com/vi/#{youtube_id}/#{style}.jpg"
        %{<div class="thumbnail youtube"><a href="#{video_url}" target="_#{target}"><img src="#{src}" width="#{width}" height="#{height}" border="#{border}"></a></div>}
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
convert-0.1.7 lib/converters/youtube_image.rb
convert-0.1.6 lib/converters/youtube_image.rb
convert-0.1.5 lib/converters/youtube_image.rb
convert-0.1.4 lib/converters/youtube_image.rb
convert-0.1.3 lib/converters/youtube_image.rb