Class: Yt::Models::ContentDetail

Inherits:
Base
  • Object
show all
Defined in:
lib/yt/models/content_detail.rb

Overview

Encapsulates information about the video content, including the length of the video and an indication of whether captions are available.

Instance Method Summary collapse

Methods included from Associations::HasReports

#has_report

Methods included from Associations::HasViewerPercentages

#has_viewer_percentages

Methods included from Associations::HasOne

#has_one

Methods included from Associations::HasMany

#has_many

Methods included from Associations::HasAuthentication

#has_authentication

Constructor Details

#initialize(options = {}) ⇒ ContentDetail

Returns a new instance of ContentDetail.



10
11
12
# File 'lib/yt/models/content_detail.rb', line 10

def initialize(options = {})
  @data = options[:data]
end

Instance Method Details

#captioned?Boolean

Returns whether captions are available for the video.

Returns:

  • (Boolean)

    whether captions are available for the video.



30
31
32
# File 'lib/yt/models/content_detail.rb', line 30

def captioned?
  @hd ||= @data['caption'] == 'true'
end

#durationInteger

Returns the duration of the video (in seconds).

Returns:

  • (Integer)

    the duration of the video (in seconds).



15
16
17
# File 'lib/yt/models/content_detail.rb', line 15

def duration
  @duration ||= to_seconds @data.fetch('duration', 0)
end

#hd?Boolean

Returns whether the video is available in high definition.

Returns:

  • (Boolean)

    whether the video is available in high definition.



25
26
27
# File 'lib/yt/models/content_detail.rb', line 25

def hd?
  @hd ||= @data['definition'] == 'hd'
end

#licensed?Boolean

Returns whether the video represents licensed content, which means that the content has been claimed by a YouTube content partner.

Returns:

  • (Boolean)

    whether the video represents licensed content, which means that the content has been claimed by a YouTube content partner.



36
37
38
# File 'lib/yt/models/content_detail.rb', line 36

def licensed?
  @licensed ||= @data.fetch 'licensedContent', false
end

#stereoscopic?Boolean

Returns whether the video is available in 3D.

Returns:

  • (Boolean)

    whether the video is available in 3D.



20
21
22
# File 'lib/yt/models/content_detail.rb', line 20

def stereoscopic?
  @stereoscopic ||= @data['dimension'] == '3d'
end