Class: YoutubeVideo::Video
- Inherits:
-
Object
- Object
- YoutubeVideo::Video
- Defined in:
- lib/YPBT/video.rb
Overview
Main class to setup a Video
Instance Attribute Summary collapse
-
#comment_count ⇒ Object
readonly
Returns the value of attribute comment_count.
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#dislike_count ⇒ Object
readonly
Returns the value of attribute dislike_count.
-
#like_count ⇒ Object
readonly
Returns the value of attribute like_count.
-
#title ⇒ Object
readonly
Returns the value of attribute title.
-
#view_count ⇒ Object
readonly
Returns the value of attribute view_count.
Class Method Summary collapse
Instance Method Summary collapse
- #comments ⇒ Object
- #embed_url ⇒ Object
-
#initialize(data:) ⇒ Video
constructor
A new instance of Video.
Constructor Details
#initialize(data:) ⇒ Video
Returns a new instance of Video.
11 12 13 14 15 16 17 18 19 |
# File 'lib/YPBT/video.rb', line 11 def initialize(data:) @id = data['id'] @title = data['snippet']['title'] @description = data['snippet']['description'] @dislike_count = data['statistics']['dislikeCount'].to_i @like_count = data['statistics']['likeCount'].to_i @view_count = data['statistics']['viewCount'].to_i @duration = data['contentDetails']['duration'] end |
Instance Attribute Details
#comment_count ⇒ Object (readonly)
Returns the value of attribute comment_count.
8 9 10 |
# File 'lib/YPBT/video.rb', line 8 def comment_count @comment_count end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
8 9 10 |
# File 'lib/YPBT/video.rb', line 8 def description @description end |
#dislike_count ⇒ Object (readonly)
Returns the value of attribute dislike_count.
8 9 10 |
# File 'lib/YPBT/video.rb', line 8 def dislike_count @dislike_count end |
#like_count ⇒ Object (readonly)
Returns the value of attribute like_count.
8 9 10 |
# File 'lib/YPBT/video.rb', line 8 def like_count @like_count end |
#title ⇒ Object (readonly)
Returns the value of attribute title.
8 9 10 |
# File 'lib/YPBT/video.rb', line 8 def title @title end |
#view_count ⇒ Object (readonly)
Returns the value of attribute view_count.
8 9 10 |
# File 'lib/YPBT/video.rb', line 8 def view_count @view_count end |
Class Method Details
.find(video_id:) ⇒ Object
33 34 35 36 |
# File 'lib/YPBT/video.rb', line 33 def self.find(video_id:) video_data = YtApi.video_info(video_id) new(data: video_data) end |
Instance Method Details
#comments ⇒ Object
21 22 23 24 25 26 |
# File 'lib/YPBT/video.rb', line 21 def comments # contain only the comments which have time tag. return @comments if @comments raw_comments = YtApi.(@id) @comments = raw_comments.map { |comment| Comment.new(data: comment) } end |
#embed_url ⇒ Object
28 29 30 31 |
# File 'lib/YPBT/video.rb', line 28 def return if = "https://www.youtube.com/embed/#{@id}" end |