Class: Yt::Models::PolicyRule

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

Overview

Provides methods to interact with YouTube ContentID policy rules. Rules that specify the action that YouTube should take and may optionally specify the conditions under which that action is enforced.

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ PolicyRule


10
11
12
# File 'lib/yt/models/policy_rule.rb', line 10

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

Instance Method Details

#actionString

Return the policy that YouTube should enforce if the rule’s conditions are all valid for an asset or for an attempt to view that asset on YouTube. Possible values are: 'block', 'monetize', 'takedown', 'track'.


19
# File 'lib/yt/models/policy_rule.rb', line 19

has_attribute :action

#excluded_territoriesArray<String>

Return the list of territories where the policy does not apply. Each territory is an ISO 3166 two-letter country code. YouTube determines whether the condition is satisfied based on the user’s location.

Examples:

(with 'block' action) only allow U.S. users to view a video:

excluded_territories #=> ['us']

43
44
45
# File 'lib/yt/models/policy_rule.rb', line 43

def excluded_territories
  territories_type == 'exclude' ? territories : []
end

#included_territoriesArray<String>

Return the list of territories where the policy applies. Each territory is an ISO 3166 two-letter country code. YouTube determines whether the condition is satisfied based on the user’s location.

Examples:

(with 'block' action) only block a video for U.S. users:

included_territories #=> ['us']

32
33
34
# File 'lib/yt/models/policy_rule.rb', line 32

def included_territories
  territories_type == 'include' ? territories : []
end

#match_durationArray<Hash<Symbol, Float>>

Returns the intervals of time the user- or partner-uploaded content needs to match a reference file for the rule to apply. :low is the minimum (inclusive) allowed value and :high is the maximum (inclusive) allowed value for the rule to apply.

Examples:

videos that match the reference for 20 to 30 seconds:

match_duration #= [{low: 20.0, high: 30.0}]

53
54
55
# File 'lib/yt/models/policy_rule.rb', line 53

def match_duration
  match_duration_list.map{|r| low_and_high r}
end

#match_percentArray<Hash<Symbol, Float>>

Returns the intervals of percentages the user- or partner-uploaded content needs to match a reference file for the rule to apply. :low is the minimum (inclusive) allowed value and :high is the maximum (inclusive) allowed value for the rule to apply.

Examples:

videos that match the reference for 40%~50% of their duration:

match_percent #= [{low: 40.0, high: 50.0}]

63
64
65
# File 'lib/yt/models/policy_rule.rb', line 63

def match_percent
  match_percent_list.map{|r| low_and_high r}
end

#reference_durationArray<Hash<Symbol, Float>>

Returns the intervals of duration that the reference must have for the rule to apply. :low is the minimum (inclusive) allowed value, :high is the maximum (inclusive) allowed value for the rule to apply.

Examples:

references that are between 20 and 30 seconds:

reference_duration #= [{low: 20.0, high: 30.0}]

73
74
75
# File 'lib/yt/models/policy_rule.rb', line 73

def reference_duration
  reference_duration_list.map{|r| low_and_high r}
end

#reference_percentArray<Hash<Symbol, Float>>

Returns the intervals of percentages the reference file needs to match the user- or partner-uploaded content for the rule to apply. :low is the minimum (inclusive) allowed value, :high is the maximum (inclusive) allowed value for the rule to apply.

Examples:

videos that match either 0%~10% or 40%~50% of a reference:

reference_percent #= [{low: 0.0, high: 10.0}, {low: 40.0, high: 50.0}]

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

def reference_percent
  reference_percent_list.map{|r| low_and_high r}
end

#subactionArray


23
# File 'lib/yt/models/policy_rule.rb', line 23

has_attribute :subaction