Class: Yt::Models::Asset

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

Overview

Provides methods to interact with YouTube ContentID assets.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Asset

Returns a new instance of Asset.



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

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

Instance Attribute Details

#authObject (readonly)

Returns the value of attribute auth.



9
10
11
# File 'lib/yt/models/asset.rb', line 9

def auth
  @auth
end

#ownershipYt::Models::Ownership (readonly)

Returns the asset’s ownership.

Returns:



26
# File 'lib/yt/models/asset.rb', line 26

has_one :ownership

Instance Method Details

#idString

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

Returns:

  • (String)

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



59
# File 'lib/yt/models/asset.rb', line 59

has_attribute :id

#labelArray<String>

Returns the list of asset labels associated with the asset. You can apply a label to multiple assets to group them. You can use the labels as search filters to perform bulk updates, to download reports, or to filter YouTube Analytics.

Returns:

  • (Array<String>)

    the list of asset labels associated with the asset. You can apply a label to multiple assets to group them. You can use the labels as search filters to perform bulk updates, to download reports, or to filter YouTube Analytics.



76
# File 'lib/yt/models/asset.rb', line 76

has_attribute :label, default: []

#metadata_effectiveObject



34
35
36
# File 'lib/yt/models/asset.rb', line 34

def 
  @metadata_effective ||= Yt::Models::AssetMetadata.new data: @data.fetch('metadataEffective', {})
end

#metadata_mineObject



30
31
32
# File 'lib/yt/models/asset.rb', line 30

def 
  @metadata_mine ||= Yt::Models::AssetMetadata.new data: @data.fetch('metadataMine', {})
end

#ownership_effectiveObject



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

def ownership_effective
  @ownership_effective ||= Yt::Models::Ownership.new data: @data.fetch('ownershipEffective', {})
end

#typeString

Returns the asset’s type.

Returns:

  • (String)

    the asset’s type. This value determines the metadata fields that you can set for the asset. In addition, certain API functions may only be supported for specific types of assets. For example, composition assets may have more complex ownership data than other types of assets. Possible values are: ‘art_track_video’, ‘composition’, ‘episode’, ‘general’, ‘movie’, ‘music_video’, ‘season’, ‘show’, ‘sound_recording’, ‘video_game’, ‘web’.



70
# File 'lib/yt/models/asset.rb', line 70

has_attribute :type

#update(attributes = {}) ⇒ Object



18
19
20
21
22
# File 'lib/yt/models/asset.rb', line 18

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