class Eventbox::WrappedObject

Generic wrapper for objects that are passed through a foreign scope as reference.

Access to the object from a different scope is denied, but the wrapper object can be stored and passed back to the origin scope to unwrap it.

Attributes

name[R]

Public Class Methods

new(object, event_loop, name=nil) click to toggle source

@private

# File lib/eventbox/sanitizer.rb, line 274
def initialize(object, event_loop, name=nil)
  @object = object # the object to be wrapped
  @event_loop = event_loop # the event_loop @object originates from, nil if external scope
  @name = name # some information to get more meaningful error messages
  @dont_marshal = ExternalSharedObject # protect self from being marshaled
end

Public Instance Methods

inspect() click to toggle source
# File lib/eventbox/sanitizer.rb, line 286
def inspect
  el = case @event_loop
    when EventLoop then @event_loop.object_id.to_s(16)
    else @event_loop.inspect
  end
  "#<#{self.class} @object=#{@object.inspect} @name=#{@name.inspect} @event_loop=#{el}>"
end
object_for(target_event_loop) click to toggle source

@private

# File lib/eventbox/sanitizer.rb, line 282
def object_for(target_event_loop)
  @event_loop == target_event_loop ? @object : self
end