Acme-Affinity

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

         },
         {
            "class" : "Dist::Zilla::Plugin::ShareDir",
            "name" : "ShareDir",
            "version" : "6.025"
         },
         {
            "class" : "Dist::Zilla::Plugin::MakeMaker",
            "config" : {
               "Dist::Zilla::Role::TestRunner" : {
                  "default_jobs" : 1
               }
            },
            "name" : "MakeMaker",
            "version" : "6.025"
         },
         {
            "class" : "Dist::Zilla::Plugin::Manifest",
            "name" : "Manifest",
            "version" : "6.025"
         },

META.yml  view on Meta::CPAN

      name: ExecDir
      version: '6.025'
    -
      class: Dist::Zilla::Plugin::ShareDir
      name: ShareDir
      version: '6.025'
    -
      class: Dist::Zilla::Plugin::MakeMaker
      config:
        Dist::Zilla::Role::TestRunner:
          default_jobs: 1
      name: MakeMaker
      version: '6.025'
    -
      class: Dist::Zilla::Plugin::Manifest
      name: Manifest
      version: '6.025'
    -
      class: Dist::Zilla::Plugin::TestRelease
      name: TestRelease
      version: '6.025'

lib/Acme/Affinity.pm  view on Meta::CPAN


use Math::BigRat ();
use Moo;
use strictures 2;
use namespace::clean;


has questions => (
    is       => 'ro',
    isa      => sub { die 'Not an ArrayRef' unless ref($_[0]) eq 'ARRAY' },
    default  => sub { [] },
    required => 1,
);


has importance => (
    is      => 'ro',
    isa     => sub { die 'Not a HashRef' unless ref($_[0]) eq 'HASH' },
    default => sub {
        {
            'irrelevant'         => 0,
            'a little important' => 1,
            'somewhat important' => 10,
            'very important'     => 50,
            'mandatory'          => 250,
        }
    },
    required => 1,
);


has me => (
    is       => 'ro',
    isa      => sub { die 'Not an ArrayRef' unless ref($_[0]) eq 'ARRAY' },
    default  => sub { [] },
    required => 1,
);


has you => (
    is       => 'ro',
    isa      => sub { die 'Not an ArrayRef' unless ref($_[0]) eq 'ARRAY' },
    default  => sub { [] },
    required => 1,
);


sub score {
    my $self = shift;

    my $me_score  = _score( $self->me, $self->you, $self->importance );
    my $you_score = _score( $self->you, $self->me, $self->importance );



( run in 0.650 second using v1.01-cache-2.11-cpan-8780591d54d )