module MediaEmbed::Handler

Constants

CODE

Public Instance Methods

embed(url, options = {}) click to toggle source
# File lib/media_embed/handler.rb, line 5
def embed(url, options = {})
  template_for(url, options)
end
soundcloud?(url) click to toggle source
# File lib/media_embed/handler.rb, line 17
def soundcloud?(url)
  url.match soundcloud_regex
end
vimeo?(url) click to toggle source
# File lib/media_embed/handler.rb, line 13
def vimeo?(url)
  url.match vimeo_regex
end
youtube?(url) click to toggle source
# File lib/media_embed/handler.rb, line 9
def youtube?(url)
  url.match youtube_regex
end

Protected Instance Methods

soundcloud_regex() click to toggle source
# File lib/media_embed/handler.rb, line 45
def soundcloud_regex
  %r{soundcloud.com/(.*/[a-zA-Z0-9\-\_]*)}
end
template_for(url, options = {}) click to toggle source
# File lib/media_embed/handler.rb, line 23
def template_for(url, options = {})
  template = if match = youtube?(url)
               Video.youtube_template(match[CODE], options)
             elsif match = vimeo?(url)
               Video.vimeo_template(match[CODE], options)
             elsif match = soundcloud?(url)
               Podcast.soundcloud_template(match[CODE], options)
             else
               ''
             end

  return template
end
vimeo_regex() click to toggle source
# File lib/media_embed/handler.rb, line 41
def vimeo_regex
  %r{vimeo\.com/(channels/\D*|groups/\D*|album/\d*/video/|video/|)([^?\s]*)}
end
youtube_regex() click to toggle source
# File lib/media_embed/handler.rb, line 37
def youtube_regex
  %r{youtu(\.be|be\.com)/(watch\?v=|embed/|)([^?\s]*)}
end