Class: Audrey::Object

Inherits:
Object
  • Object
show all
Defined in:
lib/audrey.rb

Overview

Audrey::Object

Direct Known Subclasses

Collection, Scalar

Defined Under Namespace

Modules: Searchable Classes: Array, Collection, Custom, Hash, Root, Scalar

Class Method Summary collapse

Class Method Details

.descendantsObject



1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
# File 'lib/audrey.rb', line 1535

def self.descendants
  rv = []
  
  if instance_variable_defined?(:@children)
    @children.each do |child|
      rv.push child
      rv += child.descendants
    end
  end
  
  return rv
end

.fclassesObject



1548
1549
1550
1551
1552
1553
1554
1555
1556
# File 'lib/audrey.rb', line 1548

def self.fclasses
  rv = [self.to_s]
  
  descendants.each do |desc|
    rv.push desc.to_s
  end
  
  return rv
end

.fcoObject


fco, isolate



1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
# File 'lib/audrey.rb', line 1565

def self.fco()
  if not instance_variable_defined?(:@fco)
    @fco = superclass.fco
    
    if @fco.nil?
      raise 'must-override-fco: class=' + self.to_s
    end
  end
  
  return @fco
end

.inherited(desc) ⇒ Object


inherited, descendants, fclasses



1527
1528
1529
1530
1531
1532
1533
# File 'lib/audrey.rb', line 1527

def self.inherited(desc)
  if not instance_variable_defined?(:@children)
    @children = []
  end
  
  @children.push desc
end

.isolateObject



1577
1578
1579
1580
1581
1582
1583
# File 'lib/audrey.rb', line 1577

def self.isolate()
  if not instance_variable_defined?(:@isolate)
    @isolate = superclass.isolate
  end
  
  return @isolate
end