Sha256: bc8bfc391e5de522b0f19f7092b80c2cb519d6d4adebc6116c0d34ba5dc58ea8
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
# frozen-string-literal: true class Eventbox class ObjectRegistry class << self 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 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 def get_tag(object) object.instance_variable_defined?(:@__event_box_tag__) && object.instance_variable_get(:@__event_box_tag__) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
eventbox-1.0.0 | lib/eventbox/object_registry.rb |
eventbox-0.1.0 | lib/eventbox/object_registry.rb |