Module: Oembedr::Providers

Included in:
Oembedr, ParsedUrl
Defined in:
lib/oembedr/providers.rb

Constant Summary collapse

LIST =

from ruby-oembed with a couple more I know of from user feedback :).

{
  /(youtu\.be|youtube)/ => "http://www.youtube.com/oembed",
  /(flic\.kr|flickr)/ => "http://www.flickr.com/services/oembed/",
  /viddler/ => "http://lab.viddler.com/services/oembed/",
  /qik/ => "http://qik.com/api/oembed.{format}",
  /revision3/ => "http://revision3.com/api/oembed/",
  /hulu/ => "http://www.hulu.com/api/oembed.{format}",
  /vimeo/ => "http://www.vimeo.com/api/oembed.{format}",
  /instagr.am/ => "http://api.instagram.com/oembed",
  /slideshare/ => "http://www.slideshare.net/api/oembed/2",
  /(mlg\.tv|tv\.majorleaguegaming)/ => "http://tv.majorleaguegaming.com/oembed",
  /yfrog/ => "http://www.yfrog.com/api/oembed",
  /blip\.tv/ => "http://blip.tv/oembed/",
  /opera\.com/ => 'http://my.opera.com/service/oembed',
  /skitch\.com/ => 'http://skitch.com/oembed',
  /twitch\.tv/ => false, # OMG! Support OEmbed!
  /twitter\.com/ => 'https://api.twitter.com/1/statuses/oembed.{format}',
  /dailymotion\.com/ => 'http://www.dailymotion.com/api/oembed/',
  /scribd\.com/ => 'http://www.scribd.com/services/oembed',
  /dotsub\.com/ => 'http://dotsub.com/services/oembed',
  /clikthrough\.com/ => 'http://clikthrough.com/services/oembed',
  /kinomap\.com/ => 'http://www.kinomap.com/oembed',
  /photobucket\.com/ => 'http://photobucket.com/oembed'
  # ...
}

Instance Method Summary collapse

Instance Method Details

#known_service?(url) ⇒ Boolean

Return a boolean true or false if we can handle the given domain

Parameters:

  • url (String)

    a fully-qualified URL to an oembeddable resource

Returns:

  • (Boolean)

    Boolean



48
49
50
# File 'lib/oembedr/providers.rb', line 48

def known_service? url
  !!service_endpoint(url)
end

#service_endpoint(url) ⇒ Object

Locate the correct service endpoint for the given resource URL.

Parameters:

  • url (String)

    a fully-qualified URL to an oembeddable resource

Returns:

  • the url, or false if no known endpoint.



36
37
38
39
40
41
# File 'lib/oembedr/providers.rb', line 36

def service_endpoint url
  endpoint = LIST.find do |(pattern, endpoint)|
    url =~ pattern
  end
  endpoint ? endpoint.last : false
end