Sha256: 9ebe87784904bbd79f90a2e1a81e35c5c10dd5563088077428bbfff2203a14b1

Contents?: true

Size: 594 Bytes

Versions: 3

Compression:

Stored size: 594 Bytes

Contents

module Ruby
  class Reflection
    class ObjectMirror < Mirror
      include AbstractReflection::ObjectMirror
      reflect! (defined?(BasicObject) ? BasicObject : Object)

      def variables
        field_mirrors @subject.instance_variables
      end

      def target_class
        reflection.reflect @subject.class
      end

      private
      def field_mirrors(list, subject = @subject)
        list.collect {|name| field_mirror subject, name }
      end

      def field_mirror(subject, name)
        reflection.reflect FieldMirror::Field.new(subject, name)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubymirrors-0.0.3 lib/ruby/reflection/object_mirror.rb
rubymirrors-0.0.2 lib/ruby/reflection/object_mirror.rb
rubymirrors-0.0.1 lib/ruby/reflection/object_mirror.rb