Sha256: efd10cdf5ddc4b4dd0d10636d3b0ec53e349a360cb79e8617d7ec4d4a8a14632
Contents?: true
Size: 1.01 KB
Versions: 3
Compression:
Stored size: 1.01 KB
Contents
require 'ruby/reflection/field_mirror/class_variable_mirror' require 'ruby/reflection/field_mirror/instance_variable_mirror' require 'ruby/reflection/field_mirror/constant_mirror' require 'maglev/reflection/field_mirror/fixed_instance_variable_mirror' module Maglev class Reflection class FieldMirror < Mirror include AbstractReflection::FieldMirror Field = Struct.new(:object, :name) reflect! Field def self.mirror_class(field) if reflects?(field) case when field.name.start_with?("@@") Ruby::Reflection::ClassVariableMirror when field.name.start_with?("@") Ruby::Reflection::InstanceVariableMirror when field.name === Symbol FixedInstanceVariableMirror else Ruby::Reflection::ConstantMirror end end end def initialize(obj) super @object = obj.object @name = obj.name end def name @name end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubymirrors-0.0.3 | lib/maglev/reflection/field_mirror.rb |
rubymirrors-0.0.2 | lib/maglev/reflection/field_mirror.rb |
rubymirrors-0.0.1 | lib/maglev/reflection/field_mirror.rb |