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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Claim

Returns a new instance of Claim.



10
11
12
13
14
15
# File 'lib/yt/models/claim.rb', line 10

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

Instance Attribute Details

#authObject (readonly)

Returns the value of attribute auth.



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

def auth
  @auth
end

#claim_historyYt::Collections::ClaimHistories (readonly)

Returns the claim’s history.

Returns:



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

has_one :claim_history

#dataObject (readonly)

Returns the value of attribute data.



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

def data
  @data
end

Instance Method Details

#active?Boolean

Returns whether the claim is active.

Returns:

  • (Boolean)

    whether the claim is active.



67
68
69
# File 'lib/yt/models/claim.rb', line 67

def active?
  status == 'active'
end

#appealed?Boolean

Returns whether the claim is appealed.

Returns:

  • (Boolean)

    whether the claim is appealed.



72
73
74
# File 'lib/yt/models/claim.rb', line 72

def appealed?
  status == 'appealed'
end

#assetYt::Models::Asset

Returns the asset of the claim.

Returns:



134
135
136
# File 'lib/yt/models/claim.rb', line 134

def asset
  @asset
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.



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

has_attribute :asset_id

#audio?Boolean

Returns whether the claim covers only the audio.

Returns:

  • (Boolean)

    whether the claim covers only the audio.



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

def audio?
  content_type == 'audio'
end

#audiovisual?Boolean

Returns whether the claim covers both audio and video.

Returns:

  • (Boolean)

    whether the claim covers both audio and video.



124
125
126
# File 'lib/yt/models/claim.rb', line 124

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.



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

has_attribute :block_outside_ownership?, from: :block_outside_ownership

#content_typeString

Returns the audiovisual portion of the claimed content.

Returns:

  • (String)

    the audiovisual portion of the claimed content. Possible values are: ‘audio’, ‘audiovisual’, ‘video’.



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

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.



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

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.



37
38
39
40
41
# File 'lib/yt/models/claim.rb', line 37

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.



77
78
79
# File 'lib/yt/models/claim.rb', line 77

def disputed?
  status == 'disputed'
end

#has_unknown_status?Boolean

Returns whether the claim status is unknown.

Returns:

  • (Boolean)

    whether the claim status is unknown.



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

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.



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

has_attribute :id

#inactive?Boolean

Returns whether the claim is inactive.

Returns:

  • (Boolean)

    whether the claim is inactive.



82
83
84
# File 'lib/yt/models/claim.rb', line 82

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.



161
162
163
# File 'lib/yt/models/claim.rb', line 161

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.



87
88
89
# File 'lib/yt/models/claim.rb', line 87

def pending?
  status == 'pending'
end

#potential?Boolean

Returns whether the claim is potential.

Returns:

  • (Boolean)

    whether the claim is potential.



92
93
94
# File 'lib/yt/models/claim.rb', line 92

def potential?
  status == 'potential'
end

#sourceString

Returns the source of the claim.

Returns:

  • (String)

    the source of the claim



129
130
131
# File 'lib/yt/models/claim.rb', line 129

def source
  @data.fetch('origin', {})['source']
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.

Returns:

  • (String)

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



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

has_attribute :status

#takedown?Boolean

Returns whether the claim is takedown.

Returns:

  • (Boolean)

    whether the claim is takedown.



97
98
99
# File 'lib/yt/models/claim.rb', line 97

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.



142
143
144
# File 'lib/yt/models/claim.rb', line 142

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

#update(attributes = {}) ⇒ Boolean

Note:

If you are submitting an update request, and your request does not specify a value for a property that already has a value, the property’s existing value will be deleted.

Updates the attributes of a claim.

Returns:

  • (Boolean)

    whether the claim was successfully updated.



22
23
24
25
26
# File 'lib/yt/models/claim.rb', line 22

def update(attributes = {})
  underscore_keys! attributes
  do_patch body: attributes
  true
end

#video?Boolean

Returns whether the claim covers only the video.

Returns:

  • (Boolean)

    whether the claim covers only the video.



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

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.



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

has_attribute :video_id