Implement class instance variables
as they are just the type of the meta_class, that was relatively simple. I feel this is what oo is meant to be, instance variables and methods for the objects, and since classes are objects, for them too. Class variables seem like a design mistake, weird scoping rules and no data hiding (left as an exercise to the reader)
This commit is contained in:
@ -3,8 +3,9 @@ module Boot
|
||||
|
||||
# a ruby object as a placeholder for the parfait Space during boot
|
||||
class Space
|
||||
attr_reader :classes
|
||||
attr_reader :classes , :types
|
||||
def initialize
|
||||
@types = {}
|
||||
@classes = {}
|
||||
end
|
||||
|
||||
@ -13,6 +14,9 @@ module Boot
|
||||
raise "No class for #{name}" unless cl
|
||||
cl
|
||||
end
|
||||
def get_type_by_class_name(name)
|
||||
@types[name]
|
||||
end
|
||||
end
|
||||
|
||||
# another ruby object to shadow the parfait, just during booting.
|
||||
@ -82,6 +86,7 @@ module Parfait
|
||||
types.each do |name , type|
|
||||
clazz = Boot::Class.new(type)
|
||||
boot_space.classes[name] = clazz
|
||||
boot_space.types[name] = type
|
||||
end
|
||||
Parfait::Object.set_object_space( boot_space )
|
||||
end
|
||||
|
Reference in New Issue
Block a user