class EasyYouTube

Constants

INVALID_CHARS
URL_FORMATS

Public Class Methods

create_embeded_url(video_id, width = 420, height = 315) click to toggle source
# File lib/easy_youtube.rb, line 30
def self.create_embeded_url(video_id, width = 420, height = 315)
  %(<iframe width="#{width}" height="#{height}" src="http://www.youtube.com/embed/#{video_id}" frameborder="0" allowfullscreen></iframe>)
end
create_regular_url(video_id) click to toggle source
# File lib/easy_youtube.rb, line 38
def self.create_regular_url(video_id)
  "http://www.youtube.com/watch?v=#{video_id}"
end
create_shortened_url(video_id) click to toggle source
# File lib/easy_youtube.rb, line 46
def self.create_shortened_url(video_id)
  "http://youtu.be/#{ video_id }"      
end
extract_video_id(youtube_url) click to toggle source
# File lib/easy_youtube.rb, line 13
def self.extract_video_id(youtube_url)
  return nil if has_invalid_chars?(youtube_url)
  URL_FORMATS.values.each do |format_regex|
    match = format_regex.match(youtube_url)
    return match[:id] if match
  end
  return nil
end
has_invalid_chars?(youtube_url) click to toggle source
# File lib/easy_youtube.rb, line 22
def self.has_invalid_chars?(youtube_url)
  !INVALID_CHARS.match(youtube_url).nil?
end
thumb_video(video_id) click to toggle source
# File lib/easy_youtube.rb, line 71
def self.thumb_video(video_id)
  "https://i.ytimg.com/vi/#{ video_id }/hqdefault.jpg"
end
valid_id?(id) click to toggle source
# File lib/easy_youtube.rb, line 50
def self.valid_id?(id)
  if id
    response = Net::HTTP.get("gdata.youtube.com", "/feeds/api/videos/#{id}")
    if ["Invalid id", "Video not found"].include? response
      false
    else
      true
    end
  else
    false
  end
end
valid_youtube_url?(youtube_url) click to toggle source
# File lib/easy_youtube.rb, line 63
def self.valid_youtube_url?(youtube_url)
  if has_invalid_chars?(youtube_url)
    false
  else
    valid_id?(extract_video_id(youtube_url))
  end
end
youtube_embed_url(youtube_url, width = 420, height = 315) click to toggle source
# File lib/easy_youtube.rb, line 26
def self.youtube_embed_url(youtube_url, width = 420, height = 315)
  create_embeded_url(extract_video_id(youtube_url), width, height)
end
youtube_regular_url(youtube_url) click to toggle source
# File lib/easy_youtube.rb, line 34
def self.youtube_regular_url(youtube_url)
  create_regular_url(extract_video_id(youtube_url))
end
youtube_shortened_url(youtube_url) click to toggle source
# File lib/easy_youtube.rb, line 42
def self.youtube_shortened_url(youtube_url)
  create_shortened_url(extract_video_id(youtube_url))
end