NAME Search::GIN::Extract::ClassMap - Delegate Extraction based on class. VERSION version 0.01000604 SYNOPSIS my $extractor = Search::GIN::Extract::ClassMap->new( extract_isa => { 'Foo' => [qw( bar baz quux )], 'Bar' => Search::GIN::Extract::AttributeIndex->new(), 'Baz' => sub { shift; my $object = shift; { a => $object->a() } }, }, extract_does => { }, extract => { /* either ISA or DOES */ }, ); In reality, the form is more like this: my $extractor = Search::GIN::Extract::ClassMap->new( extract_isa => { 'Foo' => Search::GIN::Extract::*, 'Bar' => Search::GIN::Extract::*, 'Baz' => Search::GIN::Extract::*, }, extract_does => { }, extract => { /* either ISA or DOES */ }, ); With the minor exception of the 2 exception cases, passing an array ref, or a coderef, which internally are typecasted to Search::GIN::Extract::Attributes and Search::GIN::Extract::Callback automatically. WARNING This is an early release, API is prone to change without much warning, but best attempts will be made to avoid the need. ROLES Search::GIN::Extract ATTRIBUTES extract_isa Applied on all objects where $object->isa( $classname ); types: HashRef[ "Extractor" in Search::GIN::Extract::ClassMap::Types ] -> "CoercedClassMap" in Search::GIN::Extract::ClassMap::Types -> Search::GIN::Extract::ClassMap::Isa HashRef's are automatically type-cast. extract_does Applied on all objects where $object->does( $classname ); types: HashRef[ "Extractor" in Search::GIN::Extract::ClassMap::Types ] -> "CoercedClassMap" in Search::GIN::Extract::ClassMap::Types -> Search::GIN::Extract::ClassMap::Does HashRef's are automatically type-cast. extract_does Applied on all objects where $object->does( $classname ) OR $object->isa( $classname ); this doesn't make complete sense, but its handy for lazy people. types: HashRef[ "Extractor" in Search::GIN::Extract::ClassMap::Types ] "CoercedClassMap" in Search::GIN::Extract::ClassMap::Types -> Search::GIN::Extract::ClassMap::Like HashRef's are automatically type-cast. METHODS extract_values for: Search::GIN::Extract AUTHOR Kent Fredric COPYRIGHT AND LICENSE This software is copyright (c) 2009 by Kent Fredric. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.