NAME
Acme::Affinity - Compute the affinity between two people
VERSION
version 0.0104
SYNOPSIS
use Acme::Affinity;
my %arguments = ( questions => [], importance => {}, me => [], you => [] );
my $affinity = Acme::Affinity->new(%arguments);
my $score = $affinity->score();
DESCRIPTION
An Acme::Affinity
object computes the relationship affinity between two people based on a common list of questions and answers and their weighted importance.
ATTRIBUTES
questions
A list of hash references with question keys and answer array references.
Example:
[ { 'how messy are you' => [ 'very messy', 'average', 'very organized' ] },
{ 'do you like to be the center of attention' => [ 'yes', 'no' ] },
]
importance
A hash reference with importance level keys and weight values.
Default:
{ 'irrelevant' => 0,
'a little important' => 1,
'somewhat important' => 10,
'very important' => 50,
'mandatory' => 250,
}
me
An array reference triple of question responses, desired responses and importance levels for person A.
Example:
[ # Me You Importance
[ 'very organized', 'very organized', 'very important' ],
[ 'no', 'no', 'a little important' ],
]
you
An array reference triple of question responses, desired responses and importance levels for person B.
Example:
[ [ 'very organized', 'average', 'a little important' ],
[ 'yes', 'no', 'somewhat important' ],
]
METHODS
new()
my $affinity = Acme::Affinity->new(%arguments);
Create a new Acme::Affinity
object.
score()
my $score = $affinity->score();
Compute the affinity score for the two given people.
SEE ALSO
https://www.youtube.com/watch?v=m9PiPlRuy6E
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2019 by Gene Boggs.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.