From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Search::GIN::Extract::AttributeIndexes - Automatically collect index metadata from MooseX::AttributeIndexes consuming models.

VERSION

version 2.000001

SYNOPSIS

On your models

class Model::Item {
use MooseX::Types::Moose qw(:all ):
has 'attr' => (
isa => Str,
is => 'rw',
indexed => 1
);
has 'attr_bar' => (
isa => Str,
is => 'rw',
primary_index => 1
);
}

In KiokuX::Model extensions

class Foo extends KiokuX::Model {
around _build_connect_args ( Any @args ) {
my $args = $self->$orig( @args );
push @{ $args }, extract => Search::GIN::Extract::AttributeIndexes->new();
return $args;
}
}

In Instantiations of KiokuDB

my $dir = KiouDB->new(
backend => KiokuDB::Backend::BDB::GIN->new(
extract => Search::GIN::Extract::AttributeIndexes->new()
)
);

DESCRIPTION

This module is an extension for the Search::GIN search and index framework which allows one to operate objects of any class consuming MooseX::AttributeIndexes, and extracting values from those objects for use in indexing.

This allows people to define how an object should be indexed on the class definition itself by adding properties to attributes.

AUTHOR

Kent Fredric <kentnl@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric <kentfredric@gmail.com>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.