Class: Yt::Models::Video
- Defined in:
- lib/yt/models/video.rb
Overview
Provides methods to interact with YouTube videos.
Instance Attribute Summary collapse
-
#annotations ⇒ Yt::Collections::Annotations
readonly
The video’s annotations.
-
#content_detail ⇒ Yt::Models::ContentDetail
readonly
The video’s content details.
-
#rating ⇒ Yt::Models::Rating
readonly
The video’s rating.
-
#statistics_set ⇒ Yt::Models::StatisticsSet
readonly
The statistics for the video.
Attributes inherited from Resource
Instance Method Summary collapse
-
#comments(options = {}) ⇒ Hash<Date, Float>
The comments for a range of a days.
-
#comments_on(date) ⇒ Float
The comments for a single day.
-
#delete(options = {}) ⇒ Boolean
Deletes the video.
-
#dislike ⇒ Boolean
Dislikes the video on behalf of the authenticated account.
-
#dislikes(options = {}) ⇒ Hash<Date, Float>
The dislikes for a range of a days.
-
#dislikes_on(date) ⇒ Float
The dislikes for a single day.
-
#earnings(options = {}) ⇒ Hash<Date, Float>
The earnings for a range of a days.
-
#earnings_on(date) ⇒ Float
The earnings for a single day.
- #exists? ⇒ Boolean
-
#impressions(options = {}) ⇒ Hash<Date, Float>
The impressions for a range of a days.
-
#impressions_on(date) ⇒ Float
The impressions for a single day.
-
#like ⇒ Boolean
Likes the video on behalf of the authenticated account.
-
#liked? ⇒ Boolean
Returns whether the authenticated account likes the video.
-
#likes(options = {}) ⇒ Hash<Date, Float>
The likes for a range of a days.
-
#likes_on(date) ⇒ Float
The likes for a single day.
-
#shares(options = {}) ⇒ Hash<Date, Float>
The shares for a range of a days.
-
#shares_on(date) ⇒ Float
The shares for a single day.
-
#unlike ⇒ Boolean
Resets the rating of the video on behalf of the authenticated account.
- #update(options = {}) ⇒ Object
-
#viewer_percentage(filters = {}) ⇒ Float
The percentage of viewer matching the filters.
-
#viewer_percentages ⇒ Hash<Symbol,Hash<String,Float>>
The viewer percentages.
-
#views(options = {}) ⇒ Hash<Date, Float>
The views for a range of a days.
-
#views_on(date) ⇒ Float
The views for a single day.
Methods inherited from Resource
Methods included from Associations::HasReports
Methods included from Associations::HasViewerPercentages
Methods included from Associations::HasOne
Methods included from Associations::HasMany
Methods included from Associations::HasAuthentication
Constructor Details
This class inherits a constructor from Yt::Models::Resource
Instance Attribute Details
#annotations ⇒ Yt::Collections::Annotations (readonly)
Returns the video’s annotations.
32 |
# File 'lib/yt/models/video.rb', line 32 has_many :annotations |
#content_detail ⇒ Yt::Models::ContentDetail (readonly)
Returns the video’s content details.
22 |
# File 'lib/yt/models/video.rb', line 22 has_one :content_detail |
#rating ⇒ Yt::Models::Rating (readonly)
Returns the video’s rating.
28 |
# File 'lib/yt/models/video.rb', line 28 has_one :rating |
#statistics_set ⇒ Yt::Models::StatisticsSet (readonly)
Returns the statistics for the video.
60 |
# File 'lib/yt/models/video.rb', line 60 has_one :statistics_set |
Instance Method Details
#comments(options = {}) ⇒ Hash<Date, Float>
Returns the comments for a range of a days.
41 |
# File 'lib/yt/models/video.rb', line 41 has_report :comments |
#comments_on(date) ⇒ Float
Returns the comments for a single day.
41 |
# File 'lib/yt/models/video.rb', line 41 has_report :comments |
#delete(options = {}) ⇒ Boolean
71 72 73 74 |
# File 'lib/yt/models/video.rb', line 71 def delete( = {}) do_delete {@id = nil} !exists? end |
#dislike ⇒ Boolean
129 130 131 132 |
# File 'lib/yt/models/video.rb', line 129 def dislike .set :dislike !liked? end |
#dislikes(options = {}) ⇒ Hash<Date, Float>
Returns the dislikes for a range of a days.
47 |
# File 'lib/yt/models/video.rb', line 47 has_report :dislikes |
#dislikes_on(date) ⇒ Float
Returns the dislikes for a single day.
47 |
# File 'lib/yt/models/video.rb', line 47 has_report :dislikes |
#earnings(options = {}) ⇒ Hash<Date, Float>
Returns the earnings for a range of a days.
35 |
# File 'lib/yt/models/video.rb', line 35 has_report :earnings |
#earnings_on(date) ⇒ Float
Returns the earnings for a single day.
35 |
# File 'lib/yt/models/video.rb', line 35 has_report :earnings |
#exists? ⇒ Boolean
76 77 78 |
# File 'lib/yt/models/video.rb', line 76 def exists? !@id.nil? end |
#impressions(options = {}) ⇒ Hash<Date, Float>
Returns the impressions for a range of a days.
53 |
# File 'lib/yt/models/video.rb', line 53 has_report :impressions |
#impressions_on(date) ⇒ Float
Returns the impressions for a single day.
53 |
# File 'lib/yt/models/video.rb', line 53 has_report :impressions |
#like ⇒ Boolean
117 118 119 120 |
# File 'lib/yt/models/video.rb', line 117 def like .set :like liked? end |
#liked? ⇒ Boolean
106 107 108 |
# File 'lib/yt/models/video.rb', line 106 def liked? . == :like end |
#likes(options = {}) ⇒ Hash<Date, Float>
Returns the likes for a range of a days.
44 |
# File 'lib/yt/models/video.rb', line 44 has_report :likes |
#likes_on(date) ⇒ Float
Returns the likes for a single day.
44 |
# File 'lib/yt/models/video.rb', line 44 has_report :likes |
#shares(options = {}) ⇒ Hash<Date, Float>
Returns the shares for a range of a days.
50 |
# File 'lib/yt/models/video.rb', line 50 has_report :shares |
#shares_on(date) ⇒ Float
Returns the shares for a single day.
50 |
# File 'lib/yt/models/video.rb', line 50 has_report :shares |
#unlike ⇒ Boolean
141 142 143 144 |
# File 'lib/yt/models/video.rb', line 141 def unlike .set :none !liked? end |
#update(options = {}) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/yt/models/video.rb', line 84 def update( = {}) [:title] ||= title [:description] ||= description [:tags] ||= [:categoryId] ||= category_id snippet = .slice :title, :description, :tags, :categoryId body = {id: @id, snippet: snippet} do_update(params: {part: 'snippet'}, body: body) do |data| @id = data['id'] @snippet = Snippet.new data: data['snippet'] if data['snippet'] true end end |
#viewer_percentage(filters = {}) ⇒ Float
Returns the percentage of viewer matching the filters.
56 |
# File 'lib/yt/models/video.rb', line 56 has_viewer_percentages |
#viewer_percentages ⇒ Hash<Symbol,Hash<String,Float>>
Returns the viewer percentages. The first-level hash identifies the genres (:female, :male). The second-level hash identifies the age ranges (‘18-24’, ‘25-34’, ‘35-44’, ‘45-54’, ‘55-64’, ‘65-’).
56 |
# File 'lib/yt/models/video.rb', line 56 has_viewer_percentages |
#views(options = {}) ⇒ Hash<Date, Float>
Returns the views for a range of a days.
38 |
# File 'lib/yt/models/video.rb', line 38 has_report :views |
#views_on(date) ⇒ Float
Returns the views for a single day.
38 |
# File 'lib/yt/models/video.rb', line 38 has_report :views |