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