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



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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.



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

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

#privacy_statusString



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

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

#private?Boolean



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.



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

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

#public?Boolean



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.



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.



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.



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.



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.



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.



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

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

#unlisted?Boolean



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.



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.



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.



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.



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

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