Sha256: 0776c2db8f3f678199602c4d8dd1924570e38818d2e08075b0083b83d88ab0b9

Contents?: true

Size: 1.64 KB

Versions: 6

Compression:

Stored size: 1.64 KB

Contents

Performance
	Each object type (class) needs fast access to:
		Its identifying roles
		Its supertypes that have alternate identification
		The roles it plays in identifying other object types
	Each one-to-many role needs:
		A method to derive a counterpart (RoleValues) key from a full key
	Each class needs
		An adapt() method to convert offered values to a full key
		an assign_all method
			that can perform "atomic" identity change
	Constellation needs assert_instance that for a given class:
		adapts all keys from identifying values
		checks either non-existence or uniqueness and type of the identified object for all such keys
		instantiates the object if previously non-existent
		(instantiates role subtypes by mixing in if this instance did not exist but the class is mixed in another extant object)
		assigns non-identifying values
	Pre-define ObjectType accessor methods on constellation, rather than using method_missing

Role objects:
        TEST: Access through class-level accessors

Reindexing on identifier change
	De-index on change, arrange for re-index on completion
	Re-index all objects this identifies (keep track of roles-as-identifier)
	Save "key" value
	Nested block to accumulate changed identifiers and re-index at end?

Switch to rbtree from Hash
        For InstanceIndex
	For RoleValues
	Index into RoleValues by key residual, not full key (worth doing?)

Testing
	Complete pending tests
	Add heckle coverage

Constraints
	Ensure role methods arguments are flexible for plugins
	Make mandatory work (propagate retraction? or just optionally?)

Functionality
	Finish Constellation.assert
	Replace inspect by verbalise
	Query API and execution

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
activefacts-api-0.9.9 TODO
activefacts-api-0.9.8 TODO
activefacts-api-0.9.7 TODO
activefacts-api-0.9.6 TODO
activefacts-api-0.9.5 TODO
activefacts-api-0.9.4 TODO