Class: YouTubeURL::Identifier

Inherits:
Object
  • Object
show all
Defined in:
lib/youtube_url/identifier.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Identifier

Returns a new instance of Identifier.



3
4
5
# File 'lib/youtube_url/identifier.rb', line 3

def initialize(url)
  @url = url
end

Class Method Details

.url_regexpObject



7
8
9
# File 'lib/youtube_url/identifier.rb', line 7

def self.url_regexp
  /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/
end

Instance Method Details

#canonical_urlObject



23
24
25
# File 'lib/youtube_url/identifier.rb', line 23

def canonical_url
  "http://www.youtube.com/watch?v=#{id}"
end

#idObject

Raises:



15
16
17
18
19
20
21
# File 'lib/youtube_url/identifier.rb', line 15

def id
  raise InvalidURLError unless self.valid?

  self.class.url_regexp.match(url) do |match|
    match[1]
  end
end

#valid?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/youtube_url/identifier.rb', line 11

def valid?
  !self.class.url_regexp.match(url).nil?
end