class Mirrors::Mirror

The basic mirror

Public Class Methods

new(obj) click to toggle source
# File lib/mirrors/mirror.rb, line 4
def initialize(obj)
  @subject = obj
end

Public Instance Methods

mirrors?(other) click to toggle source

The equivalent to #==/#eql? for comparison of mirrors against objects

# File lib/mirrors/mirror.rb, line 22
def mirrors?(other)
  @subject == other
end
name() click to toggle source

A generic representation of the object under observation.

# File lib/mirrors/mirror.rb, line 13
def name
  if @subject.is_a?(String) || @subject.is_a?(Symbol)
    @subject
  else
    @subject.inspect
  end
end
reflectee() click to toggle source

Accessor to the reflected object

# File lib/mirrors/mirror.rb, line 27
def reflectee
  @subject
end
subject_id() click to toggle source
# File lib/mirrors/mirror.rb, line 8
def subject_id
  @subject.__id__.to_s
end

Private Instance Methods

mirrors(list) click to toggle source
# File lib/mirrors/mirror.rb, line 33
def mirrors(list)
  list.collect { |e| Mirrors.reflect(e) }
end