view release on metacpan or search on metacpan
use warnings;
require Module::Build; Module::Build->VERSION(0.28);
my %module_build_args = (
"configure_requires" => {
"Module::Build::Tiny" => "0.034",
"perl" => "5.008"
},
"dist_abstract" => "We are non-human CPAN authors",
"dist_author" => [
"Karen Etheridge <ether\@cpan.org>"
],
"dist_name" => "Acme-CPANAuthors-Nonhuman",
"dist_version" => "0.026",
"license" => "perl",
"module_name" => "Acme::CPANAuthors::Nonhuman",
"recursive_test_files" => 1,
"requires" => {
"base" => "2.18",
"perl" => "5.008",
CONTRIBUTING view on Meta::CPAN
patches you have.
You may need to satisfy some dependencies. The easiest way to satisfy
dependencies is to install the last release -- this is available at
https://metacpan.org/release/Acme-CPANAuthors-Nonhuman
If you use cpanminus, you can do it without downloading the tarball first:
$ cpanm --reinstall --installdeps --with-recommends Acme::CPANAuthors::Nonhuman
Dist::Zilla is a very powerful authoring tool, but requires a number of
author-specific plugins. If you would like to use it for contributing,
install it from CPAN, then run one of the following commands, depending on
your CPAN client:
$ cpan `dzil authordeps --missing`
or
$ dzil authordeps --missing | cpanm
You should then also install any additional requirements not needed by the
dzil build but may be needed by tests or other development:
$ cpan `dzil listdeps --author --missing`
or
$ dzil listdeps --author --missing | cpanm
Or, you can use the 'dzil stale' command to install all requirements at once:
$ cpan Dist::Zilla::App::Command::stale
$ cpan `dzil stale --all`
or
$ cpanm Dist::Zilla::App::Command::stale
$ dzil stale --all | cpanm
You can also do this via cpanm directly:
- improved HTML markup for web documentation
0.014 2013-11-29 20:11:02Z
- add 'category' interface, to match what is given to other
Acme::CPANAuthors::* modules
0.013 2013-10-26 17:01:19Z
- welcome CARLOS, our latest member!
0.012 2013-10-24 05:25:54Z
- author data is now generated using the 00whois.xml document,
rather than 01mailrc.txt, to get non-asciified author names
(requires encoding fixes in new Dist::Zilla)
0.011 2013-09-28 02:04:33Z
- more diagnostic updates to siblings test
- more authors added
0.010 2013-09-25 16:56:23Z
- updated siblings test to help diagnose which other
Acme::CPANAuthors:: module out there has a bad $VERSION
0.009 2013-09-24 04:32:45Z
- more authors added (thanks, СеÑгей Романов!)
0.008 2013-08-29 05:07:48Z
- new test added to track down encoding errors in other author
modules, with the help of cpantesters
0.007 2013-08-20 01:54:44Z
- further simplified the build templating code, to take advantage of
new features of [MungeFile::WithData]
- added tooltip for each avatar image, providing PAUSE id, name, and
number of distributions
- added ORCHEW, VOJ
0.006 2013-08-16 05:32:38Z
- split off file munging code (run at build time) into its own
distribution (Dist::Zilla::Plugin::MungeFile::WithData).
0.005 2013-07-17 16:11:29Z
- better fix for html image spacing
- use new Acme::CPANAuthors::Factory
- fixed prereqs, to allow operation on 5.8.x (build requires is not
the same thing as develop requires)
0.004 2013-07-14 19:21:01Z
- simplify creation of ad-hoc author object at build time
- (hopefully) fix html cell padding issue on metacpan
- use utf8 pragma, in case some names contain unicode characters
- include a bit of background to why I wrote this
- id=>name hash is also kept sorted
0.003 2013-07-06 01:04:20Z
- rewrite code and HTML generation by using embedded templates in
the .pm file and authors in __DATA__, and a custom Dist::Zilla
plugin
- updated list of PAUSE IDs, by re-scanning cpan-faces
0.002 2013-06-01 17:04:26Z
- bump dependency on Acme::CPANAuthors to fix ::Search issue
(RT#85779)
0.001 2013-05-30 03:18:53Z
- Initial release.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The license agreements of most software companies try to keep users
at the mercy of those companies. By contrast, our General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. The
General Public License applies to the Free Software Foundation's
software and to any other program whose authors commit to using it.
You can use it for your programs, too.
When we speak of free software, we are referring to freedom, not
price. Specifically, the General Public License is designed to make
sure that you have the freedom to give away or sell copies of free
software, that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
For example, if you distribute copies of a such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must tell them their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any program or other work which
contains a notice placed by the copyright holder saying it may be
distributed under the terms of this General Public License. The
Each version is given a distinguishing version number. If the Program
specifies a version number of the license which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
the license, you may choose any version ever published by the Free Software
Foundation.
8. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19xx name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and `show
c'; they could even be mouse-clicks or menu items--whatever suits your
program.
META.yml
Makefile.PL
README
dist.ini
lib/Acme/CPANAuthors/Nonhuman.pm
t/00-report-prereqs.dd
t/00-report-prereqs.t
t/01-basic.t
t/02-siblings.t
t/03-direct.t
xt/author/00-compile.t
xt/author/clean-namespaces.t
xt/author/eol.t
xt/author/kwalitee.t
xt/author/mojibake.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-spell.t
xt/author/pod-syntax.t
xt/author/portability.t
xt/release/changes_has_content.t
xt/release/cpan-changes.t
xt/release/distmeta.t
xt/release/minimum-version.t
{
"abstract" : "We are non-human CPAN authors",
"author" : [
"Karen Etheridge <ether@cpan.org>"
],
"dynamic_config" : 0,
"generated_by" : "Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010",
"keywords" : [
"acmeism",
"cpan",
"authors",
"animals",
"fun"
],
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
},
{
"class" : "Dist::Zilla::Plugin::InstallGuide",
"name" : "@Author::ETHER/InstallGuide",
"version" : "1.200007"
},
{
"class" : "Dist::Zilla::Plugin::Test::Compile",
"config" : {
"Dist::Zilla::Plugin::Test::Compile" : {
"bail_out_on_fail" : 1,
"fail_on_warning" : "author",
"fake_home" : 0,
"filename" : "xt/author/00-compile.t",
"module_finder" : [
":InstallModules"
],
"needs_display" : 0,
"phase" : "develop",
"script_finder" : [
":PerlExecFiles",
"@Author::ETHER/Examples"
],
"skips" : [],
"switch" : []
}
},
"name" : "@Author::ETHER/Test::Compile",
"version" : "2.057"
},
{
"class" : "Dist::Zilla::Plugin::Test::NoTabs",
"config" : {
"Dist::Zilla::Plugin::Test::NoTabs" : {
"filename" : "xt/author/no-tabs.t",
"finder" : [
":InstallModules",
":ExecFiles",
"@Author::ETHER/Examples",
":TestFiles",
":ExtraTestFiles"
]
}
},
"name" : "@Author::ETHER/Test::NoTabs",
"version" : "0.15"
},
{
"class" : "Dist::Zilla::Plugin::Test::EOL",
"config" : {
"Dist::Zilla::Plugin::Test::EOL" : {
"filename" : "xt/author/eol.t",
"finder" : [
":ExecFiles",
":ExtraTestFiles",
":InstallModules",
":TestFiles",
"@Author::ETHER/Examples"
],
"trailing_whitespace" : 1
}
},
"wordlist" : "Pod::Wordlist"
}
},
"name" : "@Author::ETHER/Test::PodSpelling",
"version" : "2.007004"
},
{
"class" : "Dist::Zilla::Plugin::Test::Kwalitee",
"config" : {
"Dist::Zilla::Plugin::Test::Kwalitee" : {
"filename" : "xt/author/kwalitee.t",
"skiptest" : []
}
},
"name" : "@Author::ETHER/Test::Kwalitee",
"version" : "2.12"
},
{
"class" : "Dist::Zilla::Plugin::MojibakeTests",
"name" : "@Author::ETHER/MojibakeTests",
"version" : "0.8"
"options" : ""
}
},
"name" : "@Author::ETHER/Test::Portability",
"version" : "2.001000"
},
{
"class" : "Dist::Zilla::Plugin::Test::CleanNamespaces",
"config" : {
"Dist::Zilla::Plugin::Test::CleanNamespaces" : {
"filename" : "xt/author/clean-namespaces.t",
"skips" : []
}
},
"name" : "@Author::ETHER/Test::CleanNamespaces",
"version" : "0.006"
},
{
"class" : "Dist::Zilla::Plugin::Git::Describe",
"name" : "@Author::ETHER/Git::Describe",
"version" : "0.007"
"name" : "@Author::ETHER/MetaConfig",
"version" : "6.010"
},
{
"class" : "Dist::Zilla::Plugin::Keywords",
"config" : {
"Dist::Zilla::Plugin::Keywords" : {
"keywords" : [
"acmeism",
"cpan",
"authors",
"animals",
"fun"
]
}
},
"name" : "@Author::ETHER/Keywords",
"version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::UseUnsafeInc",
}
},
"name" : "@Author::ETHER/ModuleBuildTiny::Fallback",
"version" : "0.025"
},
{
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
"git_version" : "2.14.2",
"include_authors" : 0,
"include_releaser" : 1,
"order_by" : "commits",
"paths" : []
}
},
"name" : "@Author::ETHER/Git::Contributors",
"version" : "0.030"
},
{
"class" : "Dist::Zilla::Plugin::StaticInstall",
}
],
"zilla" : {
"class" : "Dist::Zilla::Dist::Builder",
"config" : {
"is_trial" : 0
},
"version" : "6.010"
}
},
"x_authority" : "cpan:ETHER",
"x_contributors" : [
"Graham Knop <haarg@haarg.org>",
"Carlos Lima <carlos@cpan.org>",
"\u0421\u0435\u0440\u0433\u0435\u0439 \u0420\u043e\u043c\u0430\u043d\u043e\u0432 <sromanov@cpan.org>"
],
"x_serialization_backend" : "Cpanel::JSON::XS version 3.0239",
"x_static_install" : 1,
"x_use_unsafe_inc" : 0
}
---
abstract: 'We are non-human CPAN authors'
author:
- 'Karen Etheridge <ether@cpan.org>'
build_requires:
Acme::CPANAuthors: '0.16'
File::Spec: '0'
Module::Metadata: '0'
Module::Pluggable: '0'
Module::Runtime: '0'
Test::Deep: '0'
Test::More: '0.88'
if: '0'
perl: '5.008'
configure_requires:
Module::Build::Tiny: '0.034'
perl: '5.008'
dynamic_config: 0
generated_by: 'Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010'
keywords:
- acmeism
- cpan
- authors
- animals
- fun
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Acme-CPANAuthors-Nonhuman
no_index:
directory:
- t
version: '0.013'
-
class: Dist::Zilla::Plugin::InstallGuide
name: '@Author::ETHER/InstallGuide'
version: '1.200007'
-
class: Dist::Zilla::Plugin::Test::Compile
config:
Dist::Zilla::Plugin::Test::Compile:
bail_out_on_fail: '1'
fail_on_warning: author
fake_home: 0
filename: xt/author/00-compile.t
module_finder:
- ':InstallModules'
needs_display: 0
phase: develop
script_finder:
- ':PerlExecFiles'
- '@Author::ETHER/Examples'
skips: []
switch: []
name: '@Author::ETHER/Test::Compile'
version: '2.057'
-
class: Dist::Zilla::Plugin::Test::NoTabs
config:
Dist::Zilla::Plugin::Test::NoTabs:
filename: xt/author/no-tabs.t
finder:
- ':InstallModules'
- ':ExecFiles'
- '@Author::ETHER/Examples'
- ':TestFiles'
- ':ExtraTestFiles'
name: '@Author::ETHER/Test::NoTabs'
version: '0.15'
-
class: Dist::Zilla::Plugin::Test::EOL
config:
Dist::Zilla::Plugin::Test::EOL:
filename: xt/author/eol.t
finder:
- ':ExecFiles'
- ':ExtraTestFiles'
- ':InstallModules'
- ':TestFiles'
- '@Author::ETHER/Examples'
trailing_whitespace: 1
name: '@Author::ETHER/Test::EOL'
version: '0.19'
-
spell_cmd: ''
stopwords:
- irc
wordlist: Pod::Wordlist
name: '@Author::ETHER/Test::PodSpelling'
version: '2.007004'
-
class: Dist::Zilla::Plugin::Test::Kwalitee
config:
Dist::Zilla::Plugin::Test::Kwalitee:
filename: xt/author/kwalitee.t
skiptest: []
name: '@Author::ETHER/Test::Kwalitee'
version: '2.12'
-
class: Dist::Zilla::Plugin::MojibakeTests
name: '@Author::ETHER/MojibakeTests'
version: '0.8'
-
class: Dist::Zilla::Plugin::Test::ReportPrereqs
name: '@Author::ETHER/Test::ReportPrereqs'
class: Dist::Zilla::Plugin::Test::Portability
config:
Dist::Zilla::Plugin::Test::Portability:
options: ''
name: '@Author::ETHER/Test::Portability'
version: '2.001000'
-
class: Dist::Zilla::Plugin::Test::CleanNamespaces
config:
Dist::Zilla::Plugin::Test::CleanNamespaces:
filename: xt/author/clean-namespaces.t
skips: []
name: '@Author::ETHER/Test::CleanNamespaces'
version: '0.006'
-
class: Dist::Zilla::Plugin::Git::Describe
name: '@Author::ETHER/Git::Describe'
version: '0.007'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
class: Dist::Zilla::Plugin::MetaConfig
name: '@Author::ETHER/MetaConfig'
version: '6.010'
-
class: Dist::Zilla::Plugin::Keywords
config:
Dist::Zilla::Plugin::Keywords:
keywords:
- acmeism
- cpan
- authors
- animals
- fun
name: '@Author::ETHER/Keywords'
version: '0.007'
-
class: Dist::Zilla::Plugin::UseUnsafeInc
config:
Dist::Zilla::Plugin::UseUnsafeInc:
dot_in_INC: 0
name: '@Author::ETHER/UseUnsafeInc'
version: '0.015'
Dist::Zilla::Role::TestRunner:
default_jobs: 9
name: '@Author::ETHER/ModuleBuildTiny::Fallback'
version: '0.025'
-
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
git_version: 2.14.2
include_authors: 0
include_releaser: 1
order_by: commits
paths: []
name: '@Author::ETHER/Git::Contributors'
version: '0.030'
-
class: Dist::Zilla::Plugin::StaticInstall
config:
Dist::Zilla::Plugin::StaticInstall:
dry_run: 0
version: '6.010'
-
class: Dist::Zilla::Plugin::VerifyPhases
name: '@Author::ETHER/PHASE VERIFICATION'
version: '0.016'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
version: '6.010'
x_authority: cpan:ETHER
x_contributors:
- 'Graham Knop <haarg@haarg.org>'
- 'Carlos Lima <carlos@cpan.org>'
- 'СеÑгей Романов <sromanov@cpan.org>'
x_serialization_backend: 'YAML::Tiny version 1.72'
x_static_install: 1
x_use_unsafe_inc: 0
Makefile.PL view on Meta::CPAN
You can also silence this warning for future installations by setting the
PERL_MM_FALLBACK_SILENCE_WARNING environment variable.
EOW
sleep 10 if -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
}
}
} # end BEGIN
my %WriteMakefileArgs = (
"ABSTRACT" => "We are non-human CPAN authors",
"AUTHOR" => "Karen Etheridge <ether\@cpan.org>",
"CONFIGURE_REQUIRES" => {
"Module::Build::Tiny" => "0.034"
},
"DISTNAME" => "Acme-CPANAuthors-Nonhuman",
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.008",
"NAME" => "Acme::CPANAuthors::Nonhuman",
"PL_FILES" => {},
"PREREQ_PM" => {
This archive contains the distribution Acme-CPANAuthors-Nonhuman,
version 0.026:
We are non-human CPAN authors
This software is copyright (c) 2013 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
This README file was generated by Dist::Zilla::Plugin::Readme v6.010.
name = Acme-CPANAuthors-Nonhuman
author = Karen Etheridge <ether@cpan.org>
copyright_holder = Karen Etheridge
copyright_year = 2013
license = Perl_5
[MungeFile::WithDataSection]
:version = 0.003
finder = :MainModule
[@Author::ETHER]
:version = 0.103
[EnsurePrereqsInstalled]
phases = :all ; (including develop!) ; not implemented yet, but this is the default behaviour currently
[Prereqs / RuntimeRequires]
base = 2.18 ; avoid "-1, set by base.pm"
[Prereqs / DevelopRequires]
Test::Warnings = 0
; these are used in the templating code, that is replaced at dzil build time
; with the fetched author data.
; authordep HTTP::Tiny = 0
; authordep JSON::MaybeXS = 1.001000
; authordep Acme::CPANAuthors = 0.23
; authordep Acme::CPANAuthors::Factory = 0
; authordep Parse::CPAN::Whois = 0
; authordep HTML::Entities = 0
; authordep perl = 5.010
; authordep Dist::Zilla = 5.001
; authordep Dist::Zilla::Plugin::PodWeaver = 4.000
; authordep Dist::Zilla::Plugin::ReadmeAnyFromPod = 0.132962
lib/Acme/CPANAuthors/Nonhuman.pm view on Meta::CPAN
use strict;
use warnings;
package Acme::CPANAuthors::Nonhuman; # git description: v0.025-4-g5e85df3
# vim: set ts=8 sts=4 sw=4 tw=115 et :
# ABSTRACT: We are non-human CPAN authors
# KEYWORDS: acmeism cpan authors animals fun
our $VERSION = '0.026';
use utf8;
# this data was generated at build time via __DATA__ section
# and Dist::Zilla::Plugin::MungeFile::WithDataSection 0.009
my %authors = (
ETHER => 'Karen Etheridge',
VOJ => 'Jakob VoÃ',
IVANWILLS => 'Ivan Wills',
ZDM => 'Dmytro Zagashev',
MITHALDU => 'Christian Walde',
ALTREUS => 'Alastair McGowan-Douglas',
DOLMEN => 'Olivier Mengué',
HIROSE => 'HIROSE Masaaki',
KAARE => 'Kaare Rasmussen',
SIMCOP => 'Ryan Voots',
lib/Acme/CPANAuthors/Nonhuman.pm view on Meta::CPAN
EUGENEK => 'https://secure.gravatar.com/avatar/a4b9d7b53f4cdbee844f7c572fc3569c?s=80&d=identicon',
ROBMAN => 'https://secure.gravatar.com/avatar/755e4df78c1aee18b172a67659ecc870?s=80&d=identicon',
GAURAV => 'https://secure.gravatar.com/avatar/9a3fa34c402691c2f623cba58d01292e?s=80&d=identicon',
ORCHEW => 'https://secure.gravatar.com/avatar/4a66363f9a279ce1a2914752a3b02b17?s=80&d=identicon',
PERLPIE => 'https://secure.gravatar.com/avatar/cb9aa3bf6f061556cf82b103c62ebbfe?s=80&d=identicon',
SZARATE => 'https://secure.gravatar.com/avatar/236a2d411a6c0ed05f9cc9e766b3df4e?s=80&d=identicon',
ZHDA => 'https://secure.gravatar.com/avatar/404694046d02a4714216c13dce0761f4?s=80&d=identicon',
);
# end data generated at build time
sub authors { wantarray ? %authors : \%authors }
sub category { 'Nonhuman' }
sub avatar_url { return $avatar_urls{$_[1]} }
1;
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANAuthors::Nonhuman - We are non-human CPAN authors
=head1 VERSION
version 0.026
=head1 SYNOPSIS
use Acme::CPANAuthors;
use Acme::CPANAuthors::Nonhuman;
my $authors = Acme::CPANAuthors->new('Nonhuman');
my $number = $authors->count;
my @ids = $authors->id;
my @distros = $authors->distributions('ETHER');
my $url = $authors->avatar_url('MITHALDU');
my $kwalitee = $authors->kwalitee('GAURAV');
my %authorshash = Acme::CPANAuthors::Nonhuman->authors;
my $authorshashref = Acme::CPANAuthors::Nonhuman->authors;
my $category = Acme::CPANAuthors::Nonhuman->category;
=head1 DESCRIPTION
This class provides a hash of PAUSE IDs and names of non-human CPAN authors.
On the internet, no one knows you're a cat (unless your avatar gives it away)!
=begin html
<div style="text-align:center;padding:0px!important;overflow-y:hidden;
margin-left: auto; margin-right: auto; max-width: 50%">
<!-- this data was generated at build time via __DATA__ section and Dist::Zilla::Plugin::MungeFile::WithDataSection 0.009 -->
<a href="http://metacpan.org/author/ETHER"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/bdc5cd06679e732e262f6c1b450a0237?s=80&d=identicon" alt="ETHER" title="ETHER (Karen Etheridge), 219 distr...
--><a href="http://metacpan.org/author/VOJ"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="http://www.gravatar.com/avatar/9827ddb7c8cb132375cf55bf7e624250?s=80&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fdcad11c6680a6c59cc31d2bf1b...
--><a href="http://metacpan.org/author/IVANWILLS"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/c668586858d59a94f3eb761903175f27?s=80&d=identicon" alt="IVANWILLS" title="IVANWILLS (Ivan Wills),...
--><a href="http://metacpan.org/author/ZDM"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/f99956427457624457d0b626f492747d.png" alt="ZDM" title="ZDM (Dmytro Zagashev), 47 distributions" /></spa...
--><a href="http://metacpan.org/author/MITHALDU"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/d9c28af939032ab0c30fd7be8fdc1040?s=80&d=identicon" alt="MITHALDU" title="MITHALDU (Christian Walde...
--><a href="http://metacpan.org/author/ALTREUS"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://s.gravatar.com/avatar/f6ff3f40f3b6fdf036bff73832357634?s=80" alt="ALTREUS" title="ALTREUS (Alastair McGowan-Douglas), 26 distr...
--><a href="http://metacpan.org/author/DOLMEN"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/70d9b050bfe39350c234d710fadfcd39?s=80" alt="DOLMEN" title="DOLMEN (Olivier Mengué), 26 distri...
--><a href="http://metacpan.org/author/HIROSE"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/9fdc92e131d7950e81895ca892b7a384?s=80&d=identicon" alt="HIROSE" title="HIROSE (HIROSE Masaaki), 20 d...
--><a href="http://metacpan.org/author/KAARE"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/4981bb322567b621afe038246f4dce1a?s=80&d=identicon" alt="KAARE" title="KAARE (Kaare Rasmussen), 14 dis...
--><a href="http://metacpan.org/author/SIMCOP"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/064ea1cf6dd27118fdbbc2b23d12266f?s=80&d=identicon" alt="SIMCOP" title="SIMCOP (Ryan Voots), 14 distr...
--><a href="http://metacpan.org/author/AKXLIX"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/22376afdd53ef1adc944c7168349cd8d?s=80&d=identicon" alt="AKXLIX" title="AKXLIX (azuma, kuniyuki), 9 d...
--><a href="http://metacpan.org/author/BBAXTER"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/af7986efb2374332f4babfaaef3b55d4?s=80&d=identicon" alt="BBAXTER" title="BBAXTER (Brad Baxter), 9 di...
--><a href="http://metacpan.org/author/ABERNDT"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/888b4060c4844235ed6897de4946f9dd?s=80&d=identicon" alt="ABERNDT" title="ABERNDT (Alan Berndt), 8 di...
--><a href="http://metacpan.org/author/ARUNBEAR"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/dc46344b5cdbf99fb62291b4eb9c4aef?s=80&d=identicon" alt="ARUNBEAR" title="ARUNBEAR (Arun Prasaad), ...
--><a href="http://metacpan.org/author/SKINGTON"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/faf48a00fe1d8c7b282435f54f04c747?s=80&d=identicon" alt="SKINGTON" title="SKINGTON (Sam Kington), 7...
--><a href="http://metacpan.org/author/IANKENT"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/7d3b3b7b9d22aadba754cade8781518c?s=80&d=identicon" alt="IANKENT" title="IANKENT (Ian Kent), 6 distr...
--><a href="http://metacpan.org/author/JTRAMMELL"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="http://www.gravatar.com/avatar/6e8ddfd51613a0bb512abb09b64dafef?s=80&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2F7fe2f580391d8c908974...
--><a href="http://metacpan.org/author/CARLOS"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/43d81f6a54ee06bf1190d16f25a2533a?s=80&d=identicon" alt="CARLOS" title="CARLOS (Carlos Lima), 5 distr...
--><a href="http://metacpan.org/author/FGA"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/a1a232556694ed753ac491703b7df184?s=80&d=identicon" alt="FGA" title="FGA (Fabrice Gabolde), 5 distributi...
--><a href="http://metacpan.org/author/GLEACH"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/05cb19d7843c358211bfdc98be476b68?s=80&d=identicon" alt="GLEACH" title="GLEACH (Geoffrey Leach), 4 di...
--><a href="http://metacpan.org/author/AKIHITO"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/3a1bdee47e9fdca1cdf3ce4f38651ba2?s=80&d=identicon" alt="AKIHITO" title="AKIHITO (Akihito Takeda), 3...
--><a href="http://metacpan.org/author/MAXS"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/55768f8a3f6cbfde7396a0a34b590181?s=80&d=identicon" alt="MAXS" title="MAXS (Maxime Soulé), 3 dis...
--><a href="http://metacpan.org/author/ARUN"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/8a7e477f0a86af02355043e612baad57?s=80&d=identicon" alt="ARUN" title="ARUN (Arun Venkataraman), 2 distr...
--><a href="http://metacpan.org/author/CKRAS"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/4745757ad4050f5a2b1ec9c9fb2ff370?s=80&d=identicon" alt="CKRAS" title="CKRAS (Christiaan Kras), 2 dist...
--><a href="http://metacpan.org/author/EAST"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/3cda0d4a4bad85c3b735812b00f8bd23?s=80&d=identicon" alt="EAST" title="EAST (Robert Ginko), 2 distributi...
--><a href="http://metacpan.org/author/INFRARED"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/a6c59d0a6c1f0042e922ffc033710de0?s=80&d=identicon" alt="INFRARED" title="INFRARED (Michael Kroher)...
--><a href="http://metacpan.org/author/NMELNICK"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="http://en.gravatar.com/userimage/885723/e55ab962842497b9bf4b7eaf1291cb22.png" alt="NMELNICK" title="NMELNICK (Nicholas Melnick), 2 di...
--><a href="http://metacpan.org/author/BAHOOTYPR"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/297175ea2bf4953bce22d24a1aacc102?s=80&d=identicon" alt="BAHOOTYPR" title="BAHOOTYPR (Bahootyper),...
--><a href="http://metacpan.org/author/BENW"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/351511a02e1c1342d2626cb19e2bdd90?s=80&d=identicon" alt="BENW" title="BENW (Ben Wilber), 1 distribution...
--><a href="http://metacpan.org/author/BIGREDS"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/0d456579ab7f4822420e87d6159bc9fa?s=80&d=identicon" alt="BIGREDS" title="BIGREDS (Avi Greenbury), 1 ...
--><a href="http://metacpan.org/author/DAIBA"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/f64fa36a1fe3c8e7b52cf6e5a21da302?s=80&d=identicon" alt="DAIBA" title="DAIBA (台場 圭...
--><a href="http://metacpan.org/author/EUGENEK"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/a4b9d7b53f4cdbee844f7c572fc3569c?s=80&d=identicon" alt="EUGENEK" title="EUGENEK (Eugene Kuzin), 1 d...
--><a href="http://metacpan.org/author/ROBMAN"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/755e4df78c1aee18b172a67659ecc870?s=80&d=identicon" alt="ROBMAN" title="ROBMAN (Rob Manson), 1 distri...
--><a href="http://metacpan.org/author/GAURAV"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/9a3fa34c402691c2f623cba58d01292e?s=80&d=identicon" alt="GAURAV" title="GAURAV (Gaurav Vaidya), 0 dis...
--><a href="http://metacpan.org/author/ORCHEW"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/4a66363f9a279ce1a2914752a3b02b17?s=80&d=identicon" alt="ORCHEW" title="ORCHEW (Cooper Vertz), 0 dist...
--><a href="http://metacpan.org/author/PERLPIE"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/cb9aa3bf6f061556cf82b103c62ebbfe?s=80&d=identicon" alt="PERLPIE" title="PERLPIE (perlpie), 0 distri...
--><a href="http://metacpan.org/author/SZARATE"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/236a2d411a6c0ed05f9cc9e766b3df4e?s=80&d=identicon" alt="SZARATE" title="SZARATE (Santiago Zarate), ...
--><a href="http://metacpan.org/author/ZHDA"><span><img style="margin: 0 5px 5px 0;" width="80" height="80" src="https://secure.gravatar.com/avatar/404694046d02a4714216c13dce0761f4?s=80&d=identicon" alt="ZHDA" title="ZHDA (Denis Zhdanov), 0 distribut...
</div>
=end html
The original list of authors was determined via
L<The Faces of CPAN|http://hexten.net/cpan-faces/>.
=for stopwords programmatically
I wrote this module initially as a reaction to a previous L<Acme::CPANAuthors>
distribution that inappropriately highlighted a particular demographic (it has
now since been deleted). Then, I realized that so much of the content I
wanted to include in this module could be programmatically generated, so I
continued on as an exercise in templating code at build time using raw data in
the C<__DATA__> section. That support code has since been split off into its
lib/Acme/CPANAuthors/Nonhuman.pm view on Meta::CPAN
heuristic refinement in kwalitee metrics in L<Module::CPANTS::Analyse>
=item *
additional interfaces added to L<Acme::CPANAuthors>
=back
=head1 METHODS
=head2 authors
Returns the hash of authors in list context, or a hashref in scalar context.
=head2 category
Returns C<'Nonhuman'>.
=head2 avatar_url
=for stopwords gravatar
Returns the gravatar url of the id shown on L<https://metacpan.org>. Note this
lib/Acme/CPANAuthors/Nonhuman.pm view on Meta::CPAN
=over 4
=item *
L<Acme::CPANAuthors> - the main class to manipulate this one.
=back
=head1 SUPPORT
It may well be the case that some of the authors listed here are B<not>
actually non-human, in which case this absolutely must be reported immediately
so this module can be corrected! We of the furry and clawed will not stand for
imposters in our midst.
On the other hand, occasionally new brothers and sisters join the Perl family
and are not recognized here -- please let me know so they can be added to the
list.
Bugs may be submitted through L<the RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANAuthors-Nonhuman>
(or L<bug-Acme-CPANAuthors-Nonhuman@rt.cpan.org|mailto:bug-Acme-CPANAuthors-Nonhuman@rt.cpan.org>).
t/01-basic.t view on Meta::CPAN
use warnings;
use Test::More 0.88;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
BEGIN { plan skip_all => 'Need a built version of Acme::CPANAuthors::Nonhuman for this test' if -d '.git' }
use Test::Deep;
use Acme::CPANAuthors 0.16;
my $authors = Acme::CPANAuthors->new('Nonhuman');
isa_ok($authors, 'Acme::CPANAuthors');
ok(()= $authors->id, 'we have ids');
cmp_deeply(
[ $authors->id ],
superbagof('ETHER'),
'ETHER is in the list of ids returned',
);
cmp_deeply(
[ Acme::CPANAuthors->look_for('ETHER') ],
superbagof({
id => 'ETHER',
name => 'Karen Etheridge',
category => 'Nonhuman'
}),
'ETHER is found in this author package',
);
done_testing;
t/02-siblings.t view on Meta::CPAN
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
BEGIN { plan skip_all => 'Need a built version of Acme::CPANAuthors::Nonhuman for this test' if -d '.git' }
{
package # hide from PAUSE
Foo;
use Module::Pluggable
search_path => ['Acme::CPANAuthors'],
sub_name => 'authors';
use Module::Runtime 'use_module';
::diag 'all installed modules in the Acme::CPANAuthors namespace:'
. "\n"
. join("\n", map {
$_ . ' '
. do {
# this is intentionally set up as a failable test, so I see
# reports that indicate what the bad module(s) are -- e.g.
# http://www.cpantesters.org/cpan/report/e7d622fc-2527-11e3-b8b2-96b61dda783b
t/02-siblings.t view on Meta::CPAN
if ($_ eq 'Acme::CPANAuthors::You::re_using' and (not $version or $version < '0.08')) {
::diag($error);
}
else {
::fail($_);
}
$version = 'unknown' if not defined $version;
}
defined $version ? $version : 'undef';
}
} sort { $a cmp $b } __PACKAGE__->authors);
}
pass 'oh hai!';
done_testing;
t/03-direct.t view on Meta::CPAN
use warnings;
use Test::More 0.88;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
BEGIN { plan skip_all => 'Need a built version of Acme::CPANAuthors::Nonhuman for this test' if -d '.git' }
use Test::Deep;
use Acme::CPANAuthors::Nonhuman;
my $authors = 'Acme::CPANAuthors::Nonhuman';
cmp_deeply(
{ $authors->authors },
superhashof({ ETHER => 'Karen Etheridge' }),
'ETHER is in the list of ids returned (list context)',
);
cmp_deeply(
scalar $authors->authors,
superhashof({ ETHER => 'Karen Etheridge' }),
'ETHER is in the hashref of ids returned (scalar context)',
);
is($authors->category, 'Nonhuman', 'respect the "category" interface');
# old: http://www.gravatar.com/avatar/bdc5cd06679e732e262f6c1b450a0237?d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fbdc5cd06679e732e262f6c1b450a0237
# new: https://secure.gravatar.com/avatar/bdc5cd06679e732e262f6c1b450a0237?s=80&d=identicon
like($authors->avatar_url('ETHER'), qr{^https://}, 'we (via metacpan) return secure gravatars, rather than the junky old ones');
done_testing;
xt/author/eol.t view on Meta::CPAN
use Test::More 0.88;
use Test::EOL;
my @files = (
'lib/Acme/CPANAuthors/Nonhuman.pm',
't/00-report-prereqs.dd',
't/00-report-prereqs.t',
't/01-basic.t',
't/02-siblings.t',
't/03-direct.t',
'xt/author/00-compile.t',
'xt/author/clean-namespaces.t',
'xt/author/eol.t',
'xt/author/kwalitee.t',
'xt/author/mojibake.t',
'xt/author/no-tabs.t',
'xt/author/pod-coverage.t',
'xt/author/pod-spell.t',
'xt/author/pod-syntax.t',
'xt/author/portability.t',
'xt/release/changes_has_content.t',
'xt/release/cpan-changes.t',
'xt/release/distmeta.t',
'xt/release/minimum-version.t'
);
eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
done_testing;
xt/author/no-tabs.t view on Meta::CPAN
use Test::More 0.88;
use Test::NoTabs;
my @files = (
'lib/Acme/CPANAuthors/Nonhuman.pm',
't/00-report-prereqs.dd',
't/00-report-prereqs.t',
't/01-basic.t',
't/02-siblings.t',
't/03-direct.t',
'xt/author/00-compile.t',
'xt/author/clean-namespaces.t',
'xt/author/eol.t',
'xt/author/kwalitee.t',
'xt/author/mojibake.t',
'xt/author/no-tabs.t',
'xt/author/pod-coverage.t',
'xt/author/pod-spell.t',
'xt/author/pod-syntax.t',
'xt/author/portability.t',
'xt/release/changes_has_content.t',
'xt/release/cpan-changes.t',
'xt/release/distmeta.t',
'xt/release/minimum-version.t'
);
notabs_ok($_) foreach @files;
done_testing;