Class: Yt::Models::Claim

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

Overview

Provides methods to interact with YouTube ContentID claims.

Constant Summary collapse

STATUSES =

Status

%q(active appealed disputed inactive pending potential
takedown unknown)
CONTENT_TYPES =

Content Type

%q(audio video audiovisual)

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 = {}) ⇒ Claim

Returns a new instance of Claim.



8
9
10
11
12
# File 'lib/yt/models/claim.rb', line 8

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

Instance Method Details

#active?Boolean

Returns whether the claim is active.

Returns:

  • (Boolean)

    whether the claim is active.



50
51
52
# File 'lib/yt/models/claim.rb', line 50

def active?
  status == 'active'
end

#appealed?Boolean

Returns whether the claim is appealed.

Returns:

  • (Boolean)

    whether the claim is appealed.



55
56
57
# File 'lib/yt/models/claim.rb', line 55

def appealed?
  status == 'appealed'
end

#asset_idString

Returns the unique YouTube asset ID that identifies the asset associated with the claim.

Returns:

  • (String)

    the unique YouTube asset ID that identifies the asset associated with the claim.



31
# File 'lib/yt/models/claim.rb', line 31

has_attribute :asset_id

#audio?Boolean

Returns whether the covers the audio of the content.

Returns:

  • (Boolean)

    whether the covers the audio of the content.



99
100
101
# File 'lib/yt/models/claim.rb', line 99

def audio?
  content_type == 'audio'
end

#audiovisual?Boolean

Returns whether the covers the audiovisual of the content.

Returns:

  • (Boolean)

    whether the covers the audiovisual of the content.



109
110
111
# File 'lib/yt/models/claim.rb', line 109

def audiovisual?
  content_type == 'audiovisual'
end

#block_outside_ownership?Boolean

Return whether the video should be blocked where not explicitly owned.

Returns:

  • (Boolean)

    whether the claimed video should be blocked anywhere it is not explicitly owned. For example, if you upload a video for an asset that you own in the United States and Canada, and you claim the video with a usage policy to monetize the video everywhere. Since the policy is only applied in countries where you own the asset, YouTube will actually monetize the video in the United States and Canada. By default, the video will still be viewable in other countries even though it will not be monetized in those countries. However, if you set this property to true, then the video will be monetized in the United States and Canada and blocked in all other countries.



132
# File 'lib/yt/models/claim.rb', line 132

has_attribute :block_outside_ownership?, from: :block_outside_ownership

#content_typeString

Returns whether the claim covers the audio, video, or audiovisual portion of the claimed content. Valid values are: audio, audiovisual, video.

Returns:

  • (String)

    whether the claim covers the audio, video, or audiovisual portion of the claimed content. Valid values are: audio, audiovisual, video.



96
# File 'lib/yt/models/claim.rb', line 96

has_attribute :content_type

#created_atTime

Returns the date and time that the claim was created.

Returns:

  • (Time)

    the date and time that the claim was created.



114
# File 'lib/yt/models/claim.rb', line 114

has_attribute :created_at, type: Time, from: :time_created

#deleteBoolean

Note:

YouTube API does not provide a delete method for the Asset resource, but only an update method. Updating the status of a Asset to “inactive” can be considered a soft-deletion.

Soft-deletes the claim.

Returns:

  • (Boolean)

    whether the claim is inactive.



19
20
21
22
23
# File 'lib/yt/models/claim.rb', line 19

def delete
  body = {status: :inactive}
  do_patch(body: body) {|data| @data = data}
  inactive?
end

#disputed?Boolean

Returns whether the claim is disputed.

Returns:

  • (Boolean)

    whether the claim is disputed.



60
61
62
# File 'lib/yt/models/claim.rb', line 60

def disputed?
  status == 'disputed'
end

#has_unknown_status?Boolean

Returns whether the claim status is unknown.

Returns:

  • (Boolean)

    whether the claim status is unknown.



85
86
87
# File 'lib/yt/models/claim.rb', line 85

def has_unknown_status?
  status == 'unknown'
end

#idString

Returns the ID that YouTube assigns and uses to uniquely identify the claim.

Returns:

  • (String)

    the ID that YouTube assigns and uses to uniquely identify the claim.



27
# File 'lib/yt/models/claim.rb', line 27

has_attribute :id

#inactive?Boolean

Returns whether the claim is inactive.

Returns:

  • (Boolean)

    whether the claim is inactive.



65
66
67
# File 'lib/yt/models/claim.rb', line 65

def inactive?
  status == 'inactive'
end

#match_reference_idString

Returns The unique ID that YouTube uses to identify the reference that generated the match.

Returns:

  • (String)

    The unique ID that YouTube uses to identify the reference that generated the match.



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

has_attribute :match_reference_id, from: :match_info do |match_info|
  (match_info || {})['referenceId']
end

#pending?Boolean

Returns whether the claim is pending.

Returns:

  • (Boolean)

    whether the claim is pending.



70
71
72
# File 'lib/yt/models/claim.rb', line 70

def pending?
  status == 'pending'
end

#potential?Boolean

Returns whether the claim is potential.

Returns:

  • (Boolean)

    whether the claim is potential.



75
76
77
# File 'lib/yt/models/claim.rb', line 75

def potential?
  status == 'potential'
end

#statusString

Note:

When updating a claim, you can update its status from active to inactive to effectively release the claim, but the API does not support other updates to a claim’s status.

Returns the claim’s status. Valid values are: active, appealed, disputed, inactive, pending, potential, takedown, unknown.

Returns:

  • (String)

    the claim’s status. Valid values are: active, appealed, disputed, inactive, pending, potential, takedown, unknown.



47
# File 'lib/yt/models/claim.rb', line 47

has_attribute :status

#takedown?Boolean

Returns whether the claim is takedown.

Returns:

  • (Boolean)

    whether the claim is takedown.



80
81
82
# File 'lib/yt/models/claim.rb', line 80

def takedown?
  status == 'takedown'
end

#third_party?Boolean

Returns whether a third party created the claim.

Returns:

  • (Boolean)

    whether a third party created the claim.



117
118
119
# File 'lib/yt/models/claim.rb', line 117

has_attribute :third_party?, from: :third_party_claim do |value|
  value == true
end

#video?Boolean

Returns whether the covers the video of the content.

Returns:

  • (Boolean)

    whether the covers the video of the content.



104
105
106
# File 'lib/yt/models/claim.rb', line 104

def video?
  content_type == 'video'
end

#video_idString

Returns the unique YouTube video ID that identifies the video associated with the claim.

Returns:

  • (String)

    the unique YouTube video ID that identifies the video associated with the claim.



35
# File 'lib/yt/models/claim.rb', line 35

has_attribute :video_id