Acme-CPANAuthors-MBTI

 view release on metacpan or  search on metacpan

.mailmap  view on Meta::CPAN

# git help shortlog
# newname <newaddr> oldname <oldaddr>
<kentnl@cpan.org> <kentfredric@gmail.com>

META.json  view on Meta::CPAN

                  "version" : "0.006"
               }
            },
            "name" : "@Author::KENTNL/ReadmeAnyFromPod",
            "version" : "0.163250"
         },
         {
            "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
            "config" : {
               "Dist::Zilla::Plugin::Test::CPAN::Changes" : {
                  "changelog" : "Changes"
               }
            },
            "name" : "@Author::KENTNL/Test::CPAN::Changes",
            "version" : "0.012"
         },
         {
            "class" : "Dist::Zilla::Plugin::RunExtraTests",
            "config" : {
               "Dist::Zilla::Role::TestRunner" : {
                  "default_jobs" : "10"

META.json  view on Meta::CPAN

            "config" : {
               "Dist::Zilla::Plugin::Git::Check" : {
                  "untracked_files" : "die"
               },
               "Dist::Zilla::Role::Git::DirtyFiles" : {
                  "allow_dirty" : [
                     "Changes",
                     "dist.ini"
                  ],
                  "allow_dirty_match" : [],
                  "changelog" : "Changes"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "git --version" : "2.11.1",
                  "repo_root" : "."
               }
            },
            "name" : "@Author::KENTNL/Git::Check",
            "version" : "2.041"
         },
         {

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::Git::Commit" : {
                  "add_files_in" : [],
                  "commit_msg" : "v%v%n%n%c"
               },
               "Dist::Zilla::Role::Git::DirtyFiles" : {
                  "allow_dirty" : [
                     "Changes",
                     "dist.ini"
                  ],
                  "allow_dirty_match" : [],
                  "changelog" : "Changes"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "git --version" : "2.11.1",
                  "repo_root" : "."
               },
               "Dist::Zilla::Role::Git::StringFormatter" : {
                  "time_zone" : "local"
               }
            },
            "name" : "@Author::KENTNL/commit_dirty_files",
            "version" : "2.041"
         },
         {
            "class" : "Dist::Zilla::Plugin::Git::Tag",
            "config" : {
               "Dist::Zilla::Plugin::Git::Tag" : {
                  "branch" : null,
                  "changelog" : "Changes",
                  "signed" : 0,
                  "tag" : "0.001002-source",
                  "tag_format" : "%v-source",
                  "tag_message" : "v%v"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "git --version" : "2.11.1",
                  "repo_root" : "."
               },
               "Dist::Zilla::Role::Git::StringFormatter" : {

META.json  view on Meta::CPAN

                  "commit_msg" : "v%v%n%n%c"
               },
               "Dist::Zilla::Role::Git::DirtyFiles" : {
                  "allow_dirty" : [
                     "Changes",
                     "dist.ini"
                  ],
                  "allow_dirty_match" : [
                     "(?^u:^lib/)"
                  ],
                  "changelog" : "Changes"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "git --version" : "2.11.1",
                  "repo_root" : "."
               },
               "Dist::Zilla::Role::Git::StringFormatter" : {
                  "time_zone" : "local"
               }
            },
            "name" : "@Author::KENTNL/commit_release_changes",

META.json  view on Meta::CPAN

               }
            },
            "name" : "@Author::KENTNL/Git::CommitBuild",
            "version" : "2.041"
         },
         {
            "class" : "Dist::Zilla::Plugin::Git::Tag",
            "config" : {
               "Dist::Zilla::Plugin::Git::Tag" : {
                  "branch" : "releases",
                  "changelog" : "Changes",
                  "signed" : 0,
                  "tag" : "0.001002",
                  "tag_format" : "%v",
                  "tag_message" : "v%v"
               },
               "Dist::Zilla::Role::Git::Repo" : {
                  "git --version" : "2.11.1",
                  "repo_root" : "."
               },
               "Dist::Zilla::Role::Git::StringFormatter" : {

inc/expand_author_list.pm  view on Meta::CPAN

use Math::Random::MT;

sub tempdir { return state $tempdir = Path::Tiny->tempdir() }
sub http    { return state $http    = HTTP::Tiny->new() }
sub json    { return state $json    = JSON::MaybeXS->new( utf8 => 0 ) }

sub rng {
  return state $rng = Math::Random::MT->new( map { unpack 'L', $_ } q[Kent], q[ is ], q[a du], q[ll b], q[oy  ] );
}

sub dolog { *STDERR->print("$_[0]\n") }

sub mirror_whois {
  my ($filename) = @_;
  my $out = tempdir()->child($filename);
  dolog("Fetching $filename to $out");
  my $response = http()->mirror( 'http://www.cpan.org/authors/' . $filename, $out );
  die "failed to fetch $filename: $response->{status} $response->{reason}\n"
    if not $response->{success} and $response->{status} ne '304';
  return "$out";
}

sub get_gravatar_url {
  my ($authorid) = @_;
  dolog("Resolving Gravatar for $authorid");
  my $request = http()->get( 'http://api.metacpan.org/v0/author/' . $authorid ) // {};
  my $content = $request->{content}                                             // {};
  my $json    = json()->decode($content);
  my $url     = $json->{gravatar_url};
  $url =~ s/s=\K130/80/g;
  return $url;
}

sub extract_data {
  state $result_cache = {};
  my ( $category, $source_file ) = @_;
  return $result_cache->{$category} if exists $result_cache->{$category};

  my $author_data = Parse::CPAN::Whois->new( mirror_whois('00whois.xml') );

  my $author_hash = {};
  my @authors;

  for my $id ( path($source_file)->lines_raw( { chomp => 1 } ) ) {
    dolog("$category / $id");
    my $name = $author_data->author($id)->name;
    $author_hash->{$id} = $name;
    push @authors,
      {
      id     => $id,
      name   => $name,
      avatar => get_gravatar_url($id),
      };
  }
  my $author_db = Acme::CPANAuthors::Factory->create( $category . '_temp' => $author_hash );

inc/expand_author_list.pm  view on Meta::CPAN

sub mbti_description_text {
  my ($type) = @_;
  my $lctype = lc($type);
  return <<"EOF";
For more details see L<< C<Acme::CPANAuthors::MBTI>|Acme::CPANAuthors::MBTI >>.

=over 4

=item * L<< C<$type> on personalitypage.com|http://personalitypage.com/$type.html >>

=item * L<< C<$type> on typelogic.com|http://typelogic.com/$lctype.html >>

=item * L<< C<$type> on Wikipedia|https://en.wikipedia.org/wiki/$type >>

=back

EOF
}

sub mbti_description {
  my (%config) = ref $_[0] ? %{ $_[0] } : @_;

lib/Acme/CPANAuthors/MBTI/INTP.pm  view on Meta::CPAN

 by Dist::Zilla::Plugin::MungeFile::WithDataSection 0.009 -->
<a href="http://metacpan.org/author/KENTNL"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/4b96677ae9ecbe76b8c33ead244f7407?s=80&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2F4b96677ae9ecbe76b8c33e...
</div>

For more details see L<< C<Acme::CPANAuthors::MBTI>|Acme::CPANAuthors::MBTI >>.

=over 4

=item * L<< C<INTP> on personalitypage.com|http://personalitypage.com/INTP.html >>

=item * L<< C<INTP> on typelogic.com|http://typelogic.com/intp.html >>

=item * L<< C<INTP> on Wikipedia|https://en.wikipedia.org/wiki/INTP >>

=back

=head1 AUTHOR

Kent Fredric <kentnl@cpan.org>

=head1 COPYRIGHT AND LICENSE



( run in 1.535 second using v1.01-cache-2.11-cpan-49f99fa48dc )