class Eventbox::ObjectRegistry
Public Class Methods
get_tag(object)
click to toggle source
# File lib/eventbox/object_registry.rb, line 30 def get_tag(object) object.instance_variable_defined?(:@__event_box_tag__) && object.instance_variable_get(:@__event_box_tag__) end
set_tag(object, new_tag)
click to toggle source
# File lib/eventbox/object_registry.rb, line 20 def set_tag(object, new_tag) raise InvalidAccess, "object is not taggable: #{object.inspect}" unless taggable?(object) tag = get_tag(object) if tag && tag != new_tag raise InvalidAccess, "object #{object.inspect} is already tagged to #{tag.inspect}" end object.instance_variable_set(:@__event_box_tag__, new_tag) end
taggable?(object)
click to toggle source
# File lib/eventbox/object_registry.rb, line 6 def taggable?(object) case object # Keep the list of non taggable object types in sync with Sanitizer.sanitize_value when NilClass, Numeric, Symbol, TrueClass, FalseClass, WrappedObject, Action, Module, Eventbox, Proc false else if object.frozen? false else true end end end