Class: FunFX::Meta::ClassLib

Inherits:
Object
  • Object
show all
Defined in:
lib/funfx/meta/parser.rb

Constant Summary collapse

META_API =
File.dirname(__FILE__) + '/../../../../flex/src/AutoQuickEnv.xml'

Instance Method Summary collapse

Constructor Details

#initializeClassLib

Returns a new instance of ClassLib.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/funfx/meta/parser.rb', line 19

def initialize
  @lib = Hash.new(MetaClass.new)
  
  doc = LibXML::XML::Document.file(META_API)
  doc.find('/TypeInformation/ClassInfo').map do |class_info|
    klass = FlexMetaClass.new(class_info)
    @lib[klass.name] = klass
  end
  
  @lib.values.each do |c|
    c.link_with(self)
  end
  
  @classes = []
  object.add_children_recursive(@classes)
end

Instance Method Details

#[](name) ⇒ Object



36
37
38
# File 'lib/funfx/meta/parser.rb', line 36

def [](name)
  @lib[name]
end

#classes(names = nil) ⇒ Object



44
45
46
47
# File 'lib/funfx/meta/parser.rb', line 44

def classes(names = nil)
  return @classes if names.nil?
  return @classes.select{|c| names.index(c.name)}
end

#objectObject



40
41
42
# File 'lib/funfx/meta/parser.rb', line 40

def object
  self[nil]
end