Module: Puppet::Util::Tagging
- Included in:
- Resource, Resource::Catalog, Resource::Status, Transaction, Transaction::Event, Type, Log
- Defined in:
- lib/puppet/util/tagging.rb
Constant Summary collapse
- ValidTagRegex =
/^\w[-\w:.]*$/
Instance Method Summary collapse
-
#raw_tagged?(tag_array) ⇒ Boolean
Answers if this resource is tagged with at least one of the tags given in downcased string form.
-
#tag(*ary) ⇒ Object
Add a tag to the current tag set.
-
#tagged?(*tags) ⇒ Boolean
Answers if this resource is tagged with at least one of the given tags.
-
#tags ⇒ Object
Return a copy of the tag list, so someone can’t ask for our tags and then modify them.
- #tags=(tags) ⇒ Object
Instance Method Details
#raw_tagged?(tag_array) ⇒ Boolean
Answers if this resource is tagged with at least one of the tags given in downcased string form.
The method is a faster variant of the tagged? method that does no conversion of its arguments.
47 48 49 50 |
# File 'lib/puppet/util/tagging.rb', line 47 def raw_tagged?(tag_array) = self. !tag_array.index { |t| .include?(t) }.nil? end |
#tag(*ary) ⇒ Object
Add a tag to the current tag set. When a tag set is used for a scope, these tags will be added to all of the objects contained in this scope when the objects are finished.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/puppet/util/tagging.rb', line 10 def tag(*ary) ||= ary.flatten.each do |tag| name = tag.to_s.downcase if name =~ ValidTagRegex << name if name.split("::").each do |section| << section end end else fail(Puppet::ParseError, "Invalid tag '#{name}'") end end end |
#tagged?(*tags) ⇒ Boolean
Answers if this resource is tagged with at least one of the given tags.
The given tags are converted to downcased strings before the match is performed.
35 36 37 |
# File 'lib/puppet/util/tagging.rb', line 35 def tagged?(*) raw_tagged?(.collect {|t| t.to_s.downcase}) end |
#tags ⇒ Object
Return a copy of the tag list, so someone can’t ask for our tags and then modify them.
54 55 56 57 |
# File 'lib/puppet/util/tagging.rb', line 54 def ||= .dup end |
#tags=(tags) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/puppet/util/tagging.rb', line 59 def () = return if .nil? or == "" = .strip.split(/\s*,\s*/) if .is_a?(String) .each {|t| tag(t) } end |