Class: Yt::Models::Status

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

Overview

Contains information about the status of a resource. The details of the status are different for the different types of resources.

Resources with a status are: channels, playlists, playlist items and videos.

Constant Summary collapse

PRIVACY_STATUSES =

Privacy status

%q(private public unlisted)

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Status

Returns a new instance of Status.



13
14
15
# File 'lib/yt/models/status.rb', line 13

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

Instance Method Details

#aborted?Boolean?

Returns whether a video upload failed because the upload was aborted.

Returns:

  • (Boolean)

    if the resource is a video, whether the uploading process was aborted.

  • (nil)

    if the resource is not a video or upload has not failed.



152
153
154
# File 'lib/yt/models/status.rb', line 152

def aborted?
  failure_reason == 'uploadAborted' if video?
end

#belongs_to_closed_account?Boolean?

Returns whether a video was rejected because the account was closed.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the account associated with the video has been closed.

  • (nil)

    if the resource is not a rejected video.



230
231
232
# File 'lib/yt/models/status.rb', line 230

def belongs_to_closed_account?
  rejection_reason == 'uploaderAccountClosed' if video?
end

#belongs_to_suspended_account?Boolean?

Returns whether a video was rejected because the account was suspended.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the account associated with the video has been suspended.

  • (nil)

    if the resource is not a rejected video.



238
239
240
# File 'lib/yt/models/status.rb', line 238

def belongs_to_suspended_account?
  rejection_reason == 'uploaderAccountSuspended' if video?
end

#claimed?Boolean?

Returns whether a video was rejected because it was claimed.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video was claimed by a different account.

  • (nil)

    if the resource is not a rejected video.



172
173
174
# File 'lib/yt/models/status.rb', line 172

def claimed?
  rejection_reason == 'claim' if video?
end

#deleted?Boolean?

Returns whether an uploaded video was deleted.

Returns:

  • (Boolean)

    if the resource is a video, whether the uploaded video was deleted by the user.

  • (nil)

    if the resource is not a video.



57
58
59
# File 'lib/yt/models/status.rb', line 57

def deleted?
  upload_status == 'deleted' if video?
end

#duplicate?Boolean?

Returns whether a video was rejected because it is a duplicate.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video is a duplicate of another uploaded video.

  • (nil)

    if the resource is not a rejected video.



188
189
190
# File 'lib/yt/models/status.rb', line 188

def duplicate?
  rejection_reason == 'duplicate' if video?
end

#embeddable?Boolean?

Returns whether the video can be embedded on another website.

Returns:

  • (Boolean)

    if the resource is a video, whether it can be embedded on another website.

  • (nil)

    if the resource is not a video.



295
296
297
# File 'lib/yt/models/status.rb', line 295

def embeddable?
  @embeddable ||= @data['embeddable']
end

#empty?Boolean?

Returns whether a video upload failed because the file was empty.

Returns:

  • (Boolean)

    if the resource is a video, whether the video file is empty.

  • (nil)

    if the resource is not a video or upload has not failed.



127
128
129
# File 'lib/yt/models/status.rb', line 127

def empty?
  failure_reason == 'emptyFile' if video?
end

#failed?Boolean?

Returns whether a video failed to upload. If true, the reason why the video upload failed can be obtained with failure_reason.

Returns:

  • (Boolean)

    if the resource is a video, whether the video failed to upload.

  • (nil)

    if the resource is not a video.



66
67
68
# File 'lib/yt/models/status.rb', line 66

def failed?
  upload_status == 'failed' if video?
end

#failure_reasonString?

Returns the reason why a video failed to upload.

Returns:

  • (String)

    if resource is a video with a ‘failed’ upload status, the reason why the video failed to upload. Valid values are: codec, conversion, emptyFile, invalidFile, tooSmall, uploadAborted.

  • (nil)

    if the resource is not a video or upload has not failed.



102
103
104
# File 'lib/yt/models/status.rb', line 102

def failure_reason
  @failure_reason ||= @data['failureReason']
end

#has_failed_conversion?Boolean?

Returns whether YouTube was unable to convert an uploaded video.

Returns:

  • (Boolean)

    if the resource is a video, whether YouTube was unable to convert the video.

  • (nil)

    if the resource is not a video or upload has not failed.



119
120
121
# File 'lib/yt/models/status.rb', line 119

def has_failed_conversion?
  failure_reason == 'conversion' if video?
end

#has_public_stats_viewable?Boolean?

Returns whether the video statistics are publicly viewable.

Returns:

  • (Boolean)

    if the resource is a video, whether the extended video statistics on the video’s watch page are publicly viewable. By default, those statistics are viewable, and statistics like a video’s viewcount and ratings will still be publicly visible even if this property’s value is set to false.

  • (nil)

    if the resource is not a video.



308
309
310
# File 'lib/yt/models/status.rb', line 308

def has_public_stats_viewable?
  @public_stats_viewable ||= @data['publicStatsViewable']
end

#inappropriate?Boolean?

Returns whether a video was rejected because of inappropriate content.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video contains inappropriate content.

  • (nil)

    if the resource is not a rejected video.



196
197
198
# File 'lib/yt/models/status.rb', line 196

def inappropriate?
  rejection_reason == 'inappropriate' if video?
end

#infringes_copyright?Boolean?

Returns whether a video was rejected because of copyright infringement.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video commits a copyright infringement.

  • (nil)

    if the resource is not a rejected video.



180
181
182
# File 'lib/yt/models/status.rb', line 180

def infringes_copyright?
  rejection_reason == 'copyright' if video?
end

#infringes_trademark?Boolean?

Returns whether a video was rejected because of trademark infringement.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video commits a trademark infringement.

  • (nil)

    if the resource is not a rejected video.

See Also:



222
223
224
# File 'lib/yt/models/status.rb', line 222

def infringes_trademark?
  rejection_reason == 'trademark' if video?
end

#invalid?Boolean?

Returns whether a video upload failed because of the file format.

Returns:

  • (Boolean)

    if the resource is a video, whether the video uses a file format not supported by YouTube.

  • (nil)

    if the resource is not a video or upload has not failed.

See Also:



136
137
138
# File 'lib/yt/models/status.rb', line 136

def invalid?
  failure_reason == 'invalidFile' if video?
end

#licenseString?

Returns the video’s license.

Returns:

  • (String)

    if resource is a video, its license. Valid values are: creativeCommon, youtube.

  • (nil)

    if the resource is not a video.



267
268
269
# File 'lib/yt/models/status.rb', line 267

def license
  @license ||= @data['license']
end

#licensed_as_creative_commons?Boolean?

Returns whether the video uses a Creative Commons license.

Returns:

  • (Boolean)

    if the resource is a video, whether it uses a Creative Commons license.

  • (nil)

    if the resource is not a video.

See Also:



276
277
278
# File 'lib/yt/models/status.rb', line 276

def licensed_as_creative_commons?
  license == 'creativeCommon' if video?
end

#licensed_as_standard_youtube?Boolean?

Returns whether the video uses the Standard YouTube license.

Returns:

  • (Boolean)

    if the resource is a video, whether it uses the Standard YouTube license.

  • (nil)

    if the resource is not a video.

See Also:



285
286
287
# File 'lib/yt/models/status.rb', line 285

def licensed_as_standard_youtube?
  license == 'youtube' if video?
end

#privacy_statusString

Returns the privacy status of the resource. Valid values are: private, public, unlisted.

Returns:

  • (String)

    the privacy status of the resource. Valid values are: private, public, unlisted.



23
24
25
# File 'lib/yt/models/status.rb', line 23

def privacy_status
  @privacy_status ||= @data['privacyStatus']
end

#private?Boolean

Returns whether the resource is private.

Returns:

  • (Boolean)

    whether the resource is private.



33
34
35
# File 'lib/yt/models/status.rb', line 33

def private?
  privacy_status == 'private'
end

#processed?Boolean?

Returns whether an uploaded video is being processed by YouTube.

Returns:

  • (Boolean)

    if the resource is a video, whether the uploaded video is being processed by YouTube.

  • (nil)

    if the resource is not a video.



74
75
76
# File 'lib/yt/models/status.rb', line 74

def processed?
  upload_status == 'processed' if video?
end

#public?Boolean

Returns whether the resource is public.

Returns:

  • (Boolean)

    whether the resource is public.



28
29
30
# File 'lib/yt/models/status.rb', line 28

def public?
  privacy_status == 'public'
end

#rejected?Boolean?

Returns whether the video was rejected by YouTube. If true, the reason why the video was rejected can be obtained with rejection_reason.

Returns:

  • (Boolean)

    if the resource is a video, whether the video was rejected by YouTube.

  • (nil)

    if the resource is not a video.



83
84
85
# File 'lib/yt/models/status.rb', line 83

def rejected?
  upload_status == 'rejected' if video?
end

#rejection_reasonString?

Returns the reason why a video was rejected by YouTube.

Returns:

  • (String)

    if resource is a video with a ‘rejected’ upload status, the reason why the video was rejected. Valid values are: claim, copyright, duplicate, inappropriate, length, termsOfUse, trademark, uploaderAccountClosed, uploaderAccountSuspended.

  • (nil)

    if the resource is not a rejected video.



164
165
166
# File 'lib/yt/models/status.rb', line 164

def rejection_reason
  @rejection_reason ||= @data['rejectionReason']
end

#scheduled?Boolean?

Returns whether the video is scheduled to be published.

Returns:

  • (Boolean)

    if the resource is a video, whether it is currently private and is scheduled to become public in the future.

  • (nil)

    if the resource is not a video.



257
258
259
# File 'lib/yt/models/status.rb', line 257

def scheduled?
  private? && @data['publishAt'] if video?
end

#scheduled_atTime?

Returns the date and time when a video is scheduled to be published.

Returns:

  • (Time)

    if resource is a private video scheduled to be published, the date and time when the video is scheduled to publish.

  • (nil)

    if the resource is not a private video scheduled to be published.



249
250
251
# File 'lib/yt/models/status.rb', line 249

def scheduled_at
  @scheduled_at ||= Time.parse @data['publishAt'] if scheduled?
end

#too_long?Boolean?

Returns whether a video was rejected because it is too long.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video exceeds the maximum duration.

  • (nil)

    if the resource is not a rejected video.

See Also:



205
206
207
# File 'lib/yt/models/status.rb', line 205

def too_long?
  rejection_reason == 'length' if video?
end

#too_small?Boolean?

Returns whether a video upload failed because the file was too small.

Returns:

  • (Boolean)

    if the resource is a video, whether the video file is too small for YouTube.

  • (nil)

    if the resource is not a video or upload has not failed.



144
145
146
# File 'lib/yt/models/status.rb', line 144

def too_small?
  failure_reason == 'tooSmall' if video?
end

#unlisted?Boolean

Returns whether the resource is unlisted.

Returns:

  • (Boolean)

    whether the resource is unlisted.



38
39
40
# File 'lib/yt/models/status.rb', line 38

def unlisted?
  privacy_status == 'unlisted'
end

#upload_statusString?

Returns the upload status of a video.

Returns:

  • (String)

    if the resource is a video, the status of the uploaded video. Valid values are: deleted, failed, processed, rejected, uploaded.

  • (nil)

    if the resource is not a video.



49
50
51
# File 'lib/yt/models/status.rb', line 49

def upload_status
  @upload_status ||= @data['uploadStatus']
end

#uploaded?Boolean?

Returns whether a video was successfully uploaded to YouTube.

Returns:

  • (Boolean)

    if the resource is a video, whether the video was successfully uploaded.

  • (nil)

    if the resource is not a video.



91
92
93
# File 'lib/yt/models/status.rb', line 91

def uploaded?
  upload_status == 'uploaded' if video?
end

#uses_unsupported_codec?Boolean?

Returns whether a video upload failed because of the codec.

Returns:

  • (Boolean)

    if the resource is a video, whether the video uses a codec not supported by YouTube.

  • (nil)

    if the resource is not a video or upload has not failed.

See Also:



111
112
113
# File 'lib/yt/models/status.rb', line 111

def uses_unsupported_codec?
  failure_reason == 'codec' if video?
end

#violates_terms_of_use?Boolean?

Returns whether a video was rejected because it violates terms of use.

Returns:

  • (Boolean)

    if the resource is a rejected video, whether the video commits a terms of use violation.

  • (nil)

    if the resource is not a rejected video.



213
214
215
# File 'lib/yt/models/status.rb', line 213

def violates_terms_of_use?
  rejection_reason == 'termsOfUse' if video?
end