The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
.travis.yml 025
Changes 034
MANIFEST 920
META.json 128461
META.yml 125381
Makefile.PL 2360
README 7101
SIGNATURE 2838
cpanfile 046
dist.ini 31
lib/MooseX/AttributeShortcuts.pm 50219
t/00-check-deps.t 017
t/00-compile.t 6735
t/000-report-versions-tiny.t 915
t/constraint.t 051
t/deprecated/inline_typing.t 049
t/inline_coercion-back-compat.t 092
t/inline_coercion.t 087
t/inline_subtyping.t 02
t/inline_subtyping_with_coercion.t 081
t/inline_typing.t 430
t/isa_instance_of.t 032
t/release-consistent-version.t 180
t/release-eol.t 160
t/release-has-version.t 250
t/release-no-smart-comments.t 310
t/release-no-tabs.t 160
t/release-pod-coverage.t 300
t/release-pod-syntax.t 240
t/release-portability.t 250
xt/author/pod-spell.t 033
xt/release/consistent-version.t 010
xt/release/eol.t 08
xt/release/has-version.t 017
xt/release/minimum-version.t 017
xt/release/no-smart-comments.t 023
xt/release/no-tabs.t 014
xt/release/pod-coverage.t 016
xt/release/pod-linkcheck.t 029
xt/release/pod-syntax.t 015
40 files changed (This is a version diff) 6772029
@@ -0,0 +1,25 @@
+language: perl
+perl:
+   - "5.8"
+   - "5.10"
+   - "5.12"
+   - "5.14"
+   - "5.16"
+   - "5.18"
+
+matrix:
+   allow_failures:
+      - perl: "5.8"
+
+before_install:
+   # git bits sometimes needed...
+   - git config user.name 'Travis-CI'
+   - git config user.email 'travis@nowhere.dne'
+
+install:
+   # not so much install our package as all its prereqs
+   - cpanm --installdeps . || { cat ~/.cpanm/build.log ; false ; }
+
+script:
+   - perl Makefile.PL
+   - make test
@@ -1,5 +1,39 @@
 Revision history for MooseX-AttributeShortcuts
 
+0.024     2014-05-02 12:50:57 PDT-0700
+	* Make the undocumented isa_* options "deprecated" ...which seems like
+	  better karma than no warning, as people really shouldn't be using these
+	  anyways, but better nice than to have it done to me someday :)
+
+0.023     2014-04-04 21:23:33 PDT-0700
+	* Add isa_instance_of attribute option.
+
+0.022     2013-09-29 00:08:39 PDT-0700
+	* No code changes -- released with refreshed test suite
+
+0.021     2013-09-08 23:32:09 PDT-0700
+	* Drop MXCPA entirely, and incorporate the subtyping functionality
+
+0.020_01  2013-08-26 13:33:44 PDT-0700
+	* Keep MXCPA quiet, for now.  This is evil (hence the dev release), but
+	  should keep things status-quo until we properly integrate MXCPA
+	  functionality into MXAS proper.
+
+0.020     2013-08-19 21:51:02 PDT-0700
+	* Bump CoercePerAttribute version requirement to 1.000 and update docs
+
+0.019     2013-04-20 21:50:05 PDT-0700
+	* Better support inline subtyping and coercions (people who are inclined
+	  to shoot themselves in their foot will do it regardless)
+	* Additional tests for coercions
+
+0.018     2013-01-09 10:20:25 PST8PDT
+	* ~~ TRIAL ~~
+	* If a constraint coderef is given and coercion is requested, we now copy
+	  the parent type's coercions to the anonymous child type.
+	* Better document the constraint option and how it interacts with simple
+	  coercion.
+
 0.017     2012-10-28 20:53:52 PST8PDT
 	* make actually make classes immutable during tests
 	* add initial primitive anonymous inline subtyping support; this needs to
@@ -1,3 +1,5 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.015.
+.travis.yml
 Changes
 INSTALL
 LICENSE
@@ -7,8 +9,10 @@ META.yml
 Makefile.PL
 README
 SIGNATURE
+cpanfile
 dist.ini
 lib/MooseX/AttributeShortcuts.pm
+t/00-check-deps.t
 t/00-compile.t
 t/000-report-versions-tiny.t
 t/01-basic.t
@@ -19,15 +23,22 @@ t/05-extend.t
 t/06-role.t
 t/07-trigger.t
 t/anon-builder.t
+t/constraint.t
+t/deprecated/inline_typing.t
 t/funcs.pm
 t/handles-metaclass.t
+t/inline_coercion-back-compat.t
+t/inline_coercion.t
 t/inline_subtyping.t
-t/inline_typing.t
-t/release-consistent-version.t
-t/release-eol.t
-t/release-has-version.t
-t/release-no-smart-comments.t
-t/release-no-tabs.t
-t/release-pod-coverage.t
-t/release-pod-syntax.t
-t/release-portability.t
+t/inline_subtyping_with_coercion.t
+t/isa_instance_of.t
+xt/author/pod-spell.t
+xt/release/consistent-version.t
+xt/release/eol.t
+xt/release/has-version.t
+xt/release/minimum-version.t
+xt/release/no-smart-comments.t
+xt/release/no-tabs.t
+xt/release/pod-coverage.t
+xt/release/pod-linkcheck.t
+xt/release/pod-syntax.t
@@ -4,7 +4,7 @@
       "Chris Weyl <cweyl@alumni.drew.edu>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300028, CPAN::Meta::Converter version 2.120921",
+   "generated_by" : "Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.133380",
    "license" : [
       "lgpl_2_1"
    ],
@@ -28,6 +28,8 @@
       "develop" : {
          "requires" : {
             "Pod::Coverage::TrustPod" : "0",
+            "Test::More" : "0",
+            "Test::NoTabs" : "0",
             "Test::Pod" : "1.41",
             "Test::Pod::Coverage" : "1.08",
             "version" : "0.9901"
@@ -35,6 +37,7 @@
       },
       "runtime" : {
          "requires" : {
+            "List::AllUtils" : "0",
             "Moose" : "0",
             "Moose::Exporter" : "0",
             "Moose::Util::MetaRole" : "0",
@@ -42,6 +45,9 @@
             "MooseX::Role::Parameterized" : "0",
             "MooseX::Types::Common::String" : "0",
             "MooseX::Types::Moose" : "0",
+            "Package::DeprecationManager" : "0",
+            "autobox::Core" : "0",
+            "autobox::Junctions" : "0",
             "namespace::autoclean" : "0",
             "perl" : "5.006",
             "strict" : "0",
@@ -50,25 +56,32 @@
       },
       "test" : {
          "requires" : {
-            "File::Find" : "0",
-            "File::Temp" : "0",
+            "File::Spec" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
             "Moose::Role" : "0",
+            "Moose::Util" : "0",
+            "MooseX::Types::Path::Class" : "0",
+            "Path::Class" : "0",
+            "Test::CheckDeps" : "0.010",
             "Test::Fatal" : "0",
             "Test::Moose" : "0",
-            "Test::Moose::More" : "0.017",
-            "Test::More" : "0.88",
-            "constant" : "0"
+            "Test::Moose::More" : "0.018",
+            "Test::More" : "0.94",
+            "Test::Warn" : "0",
+            "constant" : "0",
+            "perl" : "5.006"
          }
       }
    },
    "provides" : {
       "MooseX::AttributeShortcuts" : {
          "file" : "lib/MooseX/AttributeShortcuts.pm",
-         "version" : "0.017"
+         "version" : "0.024"
       },
       "MooseX::AttributeShortcuts::Trait::Attribute" : {
          "file" : "lib/MooseX/AttributeShortcuts.pm",
-         "version" : "0.017"
+         "version" : "0.024"
       }
    },
    "release_status" : "stable",
@@ -76,303 +89,619 @@
       "bugtracker" : {
          "web" : "https://github.com/RsrchBoy/moosex-attributeshortcuts/issues"
       },
-      "homepage" : "http://metacpan.org/release/MooseX-AttributeShortcuts/",
+      "homepage" : "https://github.com/RsrchBoy/moosex-attributeshortcuts",
       "repository" : {
          "type" : "git",
-         "url" : "git://github.com/RsrchBoy/moosex-attributeshortcuts.git",
+         "url" : "https://github.com/RsrchBoy/moosex-attributeshortcuts.git",
          "web" : "https://github.com/RsrchBoy/moosex-attributeshortcuts"
       }
    },
-   "version" : "0.017",
+   "version" : "0.024",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.016001"
+         "version" : "5.018001"
       },
       "plugins" : [
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
-            "name" : "@Filter/Dist::Zilla::Plugin::NextRelease",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/NextRelease",
+            "version" : "5.015"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::Check",
-            "name" : "@Filter/@Git/Check",
-            "version" : "2.001"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::Git::Commit",
-            "name" : "@Filter/@Git/Commit",
-            "version" : "2.001"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::Git::Tag",
-            "name" : "@Filter/@Git/Tag",
-            "version" : "2.001"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::Git::Push",
-            "name" : "@Filter/@Git/Push",
-            "version" : "2.001"
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+            "name" : "@RSRCHBOY/Git::NextVersion",
+            "version" : "2.019"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
-            "name" : "@Filter/Dist::Zilla::Plugin::Git::NextVersion",
-            "version" : "2.001"
+            "class" : "Dist::Zilla::Plugin::ContributorsFromGit",
+            "name" : "@RSRCHBOY/ContributorsFromGit",
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
-            "name" : "@Filter/@Git::CheckFor/Git::CheckFor::CorrectBranch",
-            "version" : "0.005"
+            "name" : "@RSRCHBOY/@Git::CheckFor/Git::CheckFor::CorrectBranch",
+            "version" : "0.008"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CheckFor::Fixups",
-            "name" : "@Filter/@Git::CheckFor/Git::CheckFor::Fixups",
-            "version" : "0.005"
+            "name" : "@RSRCHBOY/@Git::CheckFor/Git::CheckFor::Fixups",
+            "version" : "0.008"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
+            "name" : "@RSRCHBOY/@Git::CheckFor/Git::CheckFor::MergeConflicts",
+            "version" : "0.008"
          },
          {
             "class" : "Dist::Zilla::Plugin::GatherDir",
-            "name" : "@Filter/Dist::Zilla::Plugin::GatherDir",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/GatherDir",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::PromptIfStale",
+            "config" : {
+               "Dist::Zilla::Plugin::PromptIfStale" : {
+                  "check_all_plugins" : 0,
+                  "check_all_prereqs" : 0,
+                  "modules" : [
+                     "Dist::Zilla",
+                     "Dist::Zilla::PluginBundle::RSRCHBOY"
+                  ],
+                  "phase" : "build",
+                  "skip" : []
+               }
+            },
+            "name" : "@RSRCHBOY/PromptIfStale",
+            "version" : "0.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
-            "name" : "@Filter/Dist::Zilla::Plugin::PruneCruft",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/PruneCruft",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Describe",
+            "name" : "@RSRCHBOY/Git::Describe",
+            "version" : "0.003"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
-            "name" : "@Filter/Dist::Zilla::Plugin::ExecDir",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/ExecDir",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
-            "name" : "@Filter/Dist::Zilla::Plugin::ShareDir",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/ShareDir",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
-            "name" : "@Filter/Dist::Zilla::Plugin::MakeMaker",
-            "version" : "4.300028"
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 1
+               }
+            },
+            "name" : "@RSRCHBOY/MakeMaker",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::InstallGuide",
-            "name" : "@Filter/Dist::Zilla::Plugin::InstallGuide",
-            "version" : "1.200000"
+            "name" : "@RSRCHBOY/InstallGuide",
+            "version" : "1.200002"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
-            "name" : "@Filter/Dist::Zilla::Plugin::Manifest",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/Manifest",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::SurgicalPkgVersion",
-            "name" : "@Filter/Dist::Zilla::Plugin::SurgicalPkgVersion",
+            "name" : "@RSRCHBOY/SurgicalPkgVersion",
             "version" : "0.0019"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeFromPod",
-            "name" : "@Filter/Dist::Zilla::Plugin::ReadmeFromPod",
-            "version" : "0.16"
+            "name" : "@RSRCHBOY/ReadmeFromPod",
+            "version" : "0.21"
          },
          {
             "class" : "Dist::Zilla::Plugin::MinimumPerl",
-            "name" : "@Filter/Dist::Zilla::Plugin::MinimumPerl",
+            "name" : "@RSRCHBOY/MinimumPerl",
             "version" : "1.003"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
-            "name" : "@Filter/Dist::Zilla::Plugin::ReportVersions::Tiny",
-            "version" : "1.08"
+            "name" : "@RSRCHBOY/ReportVersions::Tiny",
+            "version" : "1.10"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
-            "name" : "@Filter/Dist::Zilla::Plugin::AutoPrereqs",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/AutoPrereqs",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prepender",
-            "name" : "@Filter/Dist::Zilla::Plugin::Prepender",
+            "name" : "@RSRCHBOY/Prepender",
             "version" : "1.112280"
          },
          {
+            "class" : "Dist::Zilla::Plugin::Test::PodSpelling",
+            "name" : "@RSRCHBOY/Test::PodSpelling",
+            "version" : "2.006002"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::ConsistentVersionTest",
-            "name" : "@Filter/Dist::Zilla::Plugin::ConsistentVersionTest",
+            "name" : "@RSRCHBOY/ConsistentVersionTest",
             "version" : "0.02"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::PodCoverageTests",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/PodCoverageTests",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::PodSyntaxTests",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/PodSyntaxTests",
+            "version" : "5.015"
          },
          {
-            "class" : "Dist::Zilla::Plugin::NoTabsTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::NoTabsTests",
-            "version" : "0.01"
+            "class" : "Dist::Zilla::Plugin::Test::NoTabs",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::NoTabs" : {
+                  "module_finder" : [
+                     ":InstallModules"
+                  ],
+                  "script_finder" : [
+                     ":ExecFiles"
+                  ]
+               }
+            },
+            "name" : "@RSRCHBOY/Test::NoTabs",
+            "version" : "0.06"
          },
          {
             "class" : "Dist::Zilla::Plugin::EOLTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::EOLTests",
+            "name" : "@RSRCHBOY/EOLTests",
             "version" : "0.02"
          },
          {
             "class" : "Dist::Zilla::Plugin::HasVersionTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::HasVersionTests",
+            "name" : "@RSRCHBOY/HasVersionTests",
             "version" : "1.101420"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Compile",
-            "name" : "@Filter/Dist::Zilla::Plugin::Test::Compile",
-            "version" : "1.112820"
+            "config" : {
+               "Dist::Zilla::Plugin::Test::Compile" : {
+                  "filename" : "t/00-compile.t",
+                  "module_finder" : [
+                     ":InstallModules"
+                  ],
+                  "script_finder" : [
+                     ":ExecFiles"
+                  ]
+               }
+            },
+            "name" : "@RSRCHBOY/Test::Compile",
+            "version" : "2.039"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Test::Portability",
-            "name" : "@Filter/Dist::Zilla::Plugin::Test::Portability",
-            "version" : "2.000003"
+            "class" : "Dist::Zilla::Plugin::NoSmartCommentsTests",
+            "name" : "@RSRCHBOY/NoSmartCommentsTests",
+            "version" : "0.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ExtraTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::ExtraTests",
-            "version" : "4.300028"
+            "class" : "Dist::Zilla::Plugin::Test::Pod::LinkCheck",
+            "name" : "@RSRCHBOY/Test::Pod::LinkCheck",
+            "version" : "1.001"
          },
          {
-            "class" : "Dist::Zilla::Plugin::NoSmartCommentsTests",
-            "name" : "@Filter/Dist::Zilla::Plugin::NoSmartCommentsTests",
-            "version" : "0.006"
+            "class" : "Dist::Zilla::Plugin::RunExtraTests",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 1
+               }
+            },
+            "name" : "@RSRCHBOY/RunExtraTests",
+            "version" : "0.016"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckExtraTests",
+            "name" : "@RSRCHBOY/CheckExtraTests",
+            "version" : "0.016"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
+            "name" : "@RSRCHBOY/Test::MinimumVersion",
+            "version" : "2.000005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Authority",
+            "name" : "@RSRCHBOY/Authority",
+            "version" : "1.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
-            "name" : "@Filter/Dist::Zilla::Plugin::MetaConfig",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/MetaConfig",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
-            "name" : "@Filter/Dist::Zilla::Plugin::MetaJSON",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/MetaJSON",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
-            "name" : "@Filter/Dist::Zilla::Plugin::MetaYAML",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/MetaYAML",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaNoIndex",
-            "name" : "@Filter/Dist::Zilla::Plugin::MetaNoIndex",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/MetaNoIndex",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : "@RSRCHBOY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
-            "name" : "@Filter/Dist::Zilla::Plugin::MetaProvides::Package",
-            "version" : "1.14000001"
+            "config" : {
+               "Dist::Zilla::Plugin::MetaProvides::Package" : {},
+               "Dist::Zilla::Role::MetaProvider::Provider" : {
+                  "inherit_missing" : "1",
+                  "inherit_version" : "1",
+                  "meta_noindex" : "1"
+               }
+            },
+            "name" : "@RSRCHBOY/MetaProvides::Package",
+            "version" : "1.15000001"
          },
          {
-            "class" : "Dist::Zilla::Plugin::GitHub::Meta",
-            "name" : "@Filter/Dist::Zilla::Plugin::GitHub::Meta",
-            "version" : "0.27"
+            "class" : "Dist::Zilla::Plugin::GithubMeta",
+            "name" : "@RSRCHBOY/GithubMeta",
+            "version" : "0.42"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
-            "name" : "@Filter/Dist::Zilla::Plugin::TestRelease",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/TestRelease",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
-            "name" : "@Filter/Dist::Zilla::Plugin::CheckChangesHasContent",
+            "name" : "@RSRCHBOY/CheckChangesHasContent",
             "version" : "0.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
-            "name" : "@Filter/Dist::Zilla::Plugin::CheckPrereqsIndexed",
+            "name" : "@RSRCHBOY/CheckPrereqsIndexed",
+            "version" : "0.010"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Remote::Update",
+            "name" : "@RSRCHBOY/GitFetchOrigin",
+            "version" : "0.1.2"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Remote::Check",
+            "name" : "@RSRCHBOY/GitCheckReleaseBranchSync",
+            "version" : "0.1.2"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Remote::Check",
+            "name" : "@RSRCHBOY/GitCheckMasterBranchSync",
+            "version" : "0.1.2"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Check",
+            "name" : "@RSRCHBOY/Git::Check",
+            "version" : "2.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Commit",
+            "name" : "@RSRCHBOY/Git::Commit",
+            "version" : "2.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Test::CheckDeps",
+            "name" : "@RSRCHBOY/Test::CheckDeps",
+            "version" : "0.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CheckSelfDependency",
+            "config" : {
+               "Dist::Zilla::Plugin::CheckSelfDependency" : {
+                  "finder" : [
+                     ":InstallModules"
+                  ]
+               }
+            },
+            "name" : "@RSRCHBOY/CheckSelfDependency",
             "version" : "0.007"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ConfirmRelease",
-            "name" : "@Filter/Dist::Zilla::Plugin::ConfirmRelease",
-            "version" : "4.300028"
+            "class" : "Dist::Zilla::Plugin::Travis::ConfigForReleaseBranch",
+            "name" : "@RSRCHBOY/Travis::ConfigForReleaseBranch",
+            "version" : "0.001"
          },
          {
-            "class" : "Dist::Zilla::Plugin::GitHub::Update",
-            "name" : "@Filter/Dist::Zilla::Plugin::GitHub::Update",
-            "version" : "0.27"
+            "class" : "Dist::Zilla::Plugin::SchwartzRatio",
+            "name" : "@RSRCHBOY/SchwartzRatio",
+            "version" : "0.2.0"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Tag",
+            "name" : "@RSRCHBOY/Git::Tag",
+            "version" : "2.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CommitBuild",
+            "name" : "@RSRCHBOY/Git::CommitBuild::Build",
+            "version" : "2.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::CommitBuild",
+            "name" : "@RSRCHBOY/Git::CommitBuild::Release",
+            "version" : "2.019"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::Push",
+            "name" : "@RSRCHBOY/Git::Push",
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
-            "name" : "@Filter/Dist::Zilla::Plugin::UploadToCPAN",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/UploadToCPAN",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::Signature",
-            "name" : "@Filter/Dist::Zilla::Plugin::Signature",
+            "name" : "@RSRCHBOY/Signature",
             "version" : "1.100930"
          },
          {
             "class" : "Dist::Zilla::Plugin::Twitter",
-            "name" : "@Filter/Dist::Zilla::Plugin::Twitter",
-            "version" : "0.017"
+            "name" : "@RSRCHBOY/Twitter",
+            "version" : "0.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::InstallRelease",
-            "name" : "@Filter/Dist::Zilla::Plugin::InstallRelease",
+            "name" : "@RSRCHBOY/InstallRelease",
             "version" : "0.008"
          },
          {
+            "class" : "Dist::Zilla::Plugin::GitHub::Update",
+            "name" : "@RSRCHBOY/GitHub::Update",
+            "version" : "0.36"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::ArchiveRelease",
-            "name" : "@Filter/Dist::Zilla::Plugin::ArchiveRelease",
+            "name" : "@RSRCHBOY/ArchiveRelease",
             "version" : "4.00"
          },
          {
+            "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+            "name" : "@RSRCHBOY/ConfirmRelease",
+            "version" : "5.015"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::License",
-            "name" : "@Filter/Dist::Zilla::Plugin::License",
-            "version" : "4.300028"
+            "name" : "@RSRCHBOY/License",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::CPANFile",
+            "name" : "@RSRCHBOY/CPANFile",
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::CopyFilesFromBuild",
-            "name" : "@Filter/Dist::Zilla::Plugin::CopyFilesFromBuild",
+            "name" : "@RSRCHBOY/CopyFilesFromBuild",
             "version" : "0.103510"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
-            "name" : "@Filter/ReadmePodInRoot",
-            "version" : "0.120120"
+            "name" : "@RSRCHBOY/ReadmeMarkdownInRoot",
+            "version" : "0.133360"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
-            "name" : "@Filter/Dist::Zilla::Plugin::PodWeaver",
-            "version" : "3.101641"
+            "config" : {
+               "Dist::Zilla::Plugin::PodWeaver" : {
+                  "config_plugins" : [
+                     "@RSRCHBOY"
+                  ],
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles"
+                  ],
+                  "plugins" : [
+                     {
+                        "class" : "Pod::Weaver::Plugin::StopWords",
+                        "name" : "@RSRCHBOY/StopWords",
+                        "version" : "1.008"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::EnsurePod5",
+                        "name" : "@CorePrep/EnsurePod5",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::H1Nester",
+                        "name" : "@CorePrep/H1Nester",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "@RSRCHBOY/Name",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "@RSRCHBOY/Version",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@RSRCHBOY/prelude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "SYNOPSIS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "DESCRIPTION",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "OVERVIEW",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::RSRCHBOY::RoleParameters",
+                        "name" : "ROLE PARAMETERS",
+                        "version" : "0.048"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::RSRCHBOY::RequiredAttributes",
+                        "name" : "REQUIRED ATTRIBUTES",
+                        "version" : "0.048"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::RSRCHBOY::LazyAttributes",
+                        "name" : "LAZY ATTRIBUTES",
+                        "version" : "0.048"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "ATTRIBUTES",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "METHODS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "REQUIRED METHODS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "FUNCTIONS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "TYPES",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "TEST_FUNCTIONS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Leftovers",
+                        "name" : "@RSRCHBOY/Leftovers",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "@RSRCHBOY/postlude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::SeeAlso",
+                        "name" : "@RSRCHBOY/SeeAlso",
+                        "version" : "1.002"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::SourceGitHub",
+                        "name" : "@RSRCHBOY/SourceGitHub",
+                        "version" : "0.54"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Bugs",
+                        "name" : "@RSRCHBOY/Bugs",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::RSRCHBOY::Authors",
+                        "name" : "RSRCHBOY::Authors",
+                        "version" : "0.048"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Contributors",
+                        "name" : "@RSRCHBOY/Contributors",
+                        "version" : "0.007"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Legal",
+                        "name" : "@RSRCHBOY/Legal",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::Transformer",
+                        "name" : "@RSRCHBOY/List",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::SingleEncoding",
+                        "name" : "@RSRCHBOY/SingleEncoding",
+                        "version" : "4.006"
+                     }
+                  ]
+               }
+            },
+            "name" : "@RSRCHBOY/PodWeaver",
+            "version" : "4.005"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.300028"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "4.300028"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.300028"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.300028"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.300028"
+            "version" : "5.015"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "4.300028"
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.015"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.015"
          }
       ],
       "zilla" : {
@@ -380,8 +709,12 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "4.300028"
+         "version" : "5.015"
       }
-   }
+   },
+   "x_authority" : "cpan:RSRCHBOY",
+   "x_contributors" : [
+      "David Steinbrunner <dsteinbrunner@pobox.com>"
+   ]
 }
 
@@ -3,18 +3,25 @@ abstract: 'Shorthand for common attribute options'
 author:
   - 'Chris Weyl <cweyl@alumni.drew.edu>'
 build_requires:
-  File::Find: 0
-  File::Temp: 0
+  File::Spec: 0
+  IO::Handle: 0
+  IPC::Open3: 0
   Moose::Role: 0
+  Moose::Util: 0
+  MooseX::Types::Path::Class: 0
+  Path::Class: 0
+  Test::CheckDeps: 0.010
   Test::Fatal: 0
   Test::Moose: 0
-  Test::Moose::More: 0.017
-  Test::More: 0.88
+  Test::Moose::More: 0.018
+  Test::More: 0.94
+  Test::Warn: 0
   constant: 0
+  perl: 5.006
 configure_requires:
   ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300028, CPAN::Meta::Converter version 2.120921'
+generated_by: 'Dist::Zilla version 5.015, CPAN::Meta::Converter version 2.133380'
 license: lgpl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -27,11 +34,12 @@ no_index:
 provides:
   MooseX::AttributeShortcuts:
     file: lib/MooseX/AttributeShortcuts.pm
-    version: 0.017
+    version: 0.024
   MooseX::AttributeShortcuts::Trait::Attribute:
     file: lib/MooseX/AttributeShortcuts.pm
-    version: 0.017
+    version: 0.024
 requires:
+  List::AllUtils: 0
   Moose: 0
   Moose::Exporter: 0
   Moose::Util::MetaRole: 0
@@ -39,249 +47,497 @@ requires:
   MooseX::Role::Parameterized: 0
   MooseX::Types::Common::String: 0
   MooseX::Types::Moose: 0
+  Package::DeprecationManager: 0
+  autobox::Core: 0
+  autobox::Junctions: 0
   namespace::autoclean: 0
   perl: 5.006
   strict: 0
   warnings: 0
 resources:
   bugtracker: https://github.com/RsrchBoy/moosex-attributeshortcuts/issues
-  homepage: http://metacpan.org/release/MooseX-AttributeShortcuts/
-  repository: git://github.com/RsrchBoy/moosex-attributeshortcuts.git
-version: 0.017
+  homepage: https://github.com/RsrchBoy/moosex-attributeshortcuts
+  repository: https://github.com/RsrchBoy/moosex-attributeshortcuts.git
+version: 0.024
 x_Dist_Zilla:
   perl:
-    version: 5.016001
+    version: 5.018001
   plugins:
     -
       class: Dist::Zilla::Plugin::NextRelease
-      name: '@Filter/Dist::Zilla::Plugin::NextRelease'
-      version: 4.300028
-    -
-      class: Dist::Zilla::Plugin::Git::Check
-      name: '@Filter/@Git/Check'
-      version: 2.001
-    -
-      class: Dist::Zilla::Plugin::Git::Commit
-      name: '@Filter/@Git/Commit'
-      version: 2.001
-    -
-      class: Dist::Zilla::Plugin::Git::Tag
-      name: '@Filter/@Git/Tag'
-      version: 2.001
-    -
-      class: Dist::Zilla::Plugin::Git::Push
-      name: '@Filter/@Git/Push'
-      version: 2.001
+      name: '@RSRCHBOY/NextRelease'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
-      name: '@Filter/Dist::Zilla::Plugin::Git::NextVersion'
-      version: 2.001
+      name: '@RSRCHBOY/Git::NextVersion'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::ContributorsFromGit
+      name: '@RSRCHBOY/ContributorsFromGit'
+      version: 0.013
     -
       class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
-      name: '@Filter/@Git::CheckFor/Git::CheckFor::CorrectBranch'
-      version: 0.005
+      name: '@RSRCHBOY/@Git::CheckFor/Git::CheckFor::CorrectBranch'
+      version: 0.008
     -
       class: Dist::Zilla::Plugin::Git::CheckFor::Fixups
-      name: '@Filter/@Git::CheckFor/Git::CheckFor::Fixups'
-      version: 0.005
+      name: '@RSRCHBOY/@Git::CheckFor/Git::CheckFor::Fixups'
+      version: 0.008
+    -
+      class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
+      name: '@RSRCHBOY/@Git::CheckFor/Git::CheckFor::MergeConflicts'
+      version: 0.008
     -
       class: Dist::Zilla::Plugin::GatherDir
-      name: '@Filter/Dist::Zilla::Plugin::GatherDir'
-      version: 4.300028
+      name: '@RSRCHBOY/GatherDir'
+      version: 5.015
+    -
+      class: Dist::Zilla::Plugin::PromptIfStale
+      config:
+        Dist::Zilla::Plugin::PromptIfStale:
+          check_all_plugins: 0
+          check_all_prereqs: 0
+          modules:
+            - Dist::Zilla
+            - Dist::Zilla::PluginBundle::RSRCHBOY
+          phase: build
+          skip: []
+      name: '@RSRCHBOY/PromptIfStale'
+      version: 0.015
     -
       class: Dist::Zilla::Plugin::PruneCruft
-      name: '@Filter/Dist::Zilla::Plugin::PruneCruft'
-      version: 4.300028
+      name: '@RSRCHBOY/PruneCruft'
+      version: 5.015
+    -
+      class: Dist::Zilla::Plugin::Git::Describe
+      name: '@RSRCHBOY/Git::Describe'
+      version: 0.003
     -
       class: Dist::Zilla::Plugin::ExecDir
-      name: '@Filter/Dist::Zilla::Plugin::ExecDir'
-      version: 4.300028
+      name: '@RSRCHBOY/ExecDir'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::ShareDir
-      name: '@Filter/Dist::Zilla::Plugin::ShareDir'
-      version: 4.300028
+      name: '@RSRCHBOY/ShareDir'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::MakeMaker
-      name: '@Filter/Dist::Zilla::Plugin::MakeMaker'
-      version: 4.300028
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 1
+      name: '@RSRCHBOY/MakeMaker'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::InstallGuide
-      name: '@Filter/Dist::Zilla::Plugin::InstallGuide'
-      version: 1.200000
+      name: '@RSRCHBOY/InstallGuide'
+      version: 1.200002
     -
       class: Dist::Zilla::Plugin::Manifest
-      name: '@Filter/Dist::Zilla::Plugin::Manifest'
-      version: 4.300028
+      name: '@RSRCHBOY/Manifest'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::SurgicalPkgVersion
-      name: '@Filter/Dist::Zilla::Plugin::SurgicalPkgVersion'
+      name: '@RSRCHBOY/SurgicalPkgVersion'
       version: 0.0019
     -
       class: Dist::Zilla::Plugin::ReadmeFromPod
-      name: '@Filter/Dist::Zilla::Plugin::ReadmeFromPod'
-      version: 0.16
+      name: '@RSRCHBOY/ReadmeFromPod'
+      version: 0.21
     -
       class: Dist::Zilla::Plugin::MinimumPerl
-      name: '@Filter/Dist::Zilla::Plugin::MinimumPerl'
+      name: '@RSRCHBOY/MinimumPerl'
       version: 1.003
     -
       class: Dist::Zilla::Plugin::ReportVersions::Tiny
-      name: '@Filter/Dist::Zilla::Plugin::ReportVersions::Tiny'
-      version: 1.08
+      name: '@RSRCHBOY/ReportVersions::Tiny'
+      version: 1.10
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
-      name: '@Filter/Dist::Zilla::Plugin::AutoPrereqs'
-      version: 4.300028
+      name: '@RSRCHBOY/AutoPrereqs'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::Prepender
-      name: '@Filter/Dist::Zilla::Plugin::Prepender'
+      name: '@RSRCHBOY/Prepender'
       version: 1.112280
     -
+      class: Dist::Zilla::Plugin::Test::PodSpelling
+      name: '@RSRCHBOY/Test::PodSpelling'
+      version: 2.006002
+    -
       class: Dist::Zilla::Plugin::ConsistentVersionTest
-      name: '@Filter/Dist::Zilla::Plugin::ConsistentVersionTest'
+      name: '@RSRCHBOY/ConsistentVersionTest'
       version: 0.02
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
-      name: '@Filter/Dist::Zilla::Plugin::PodCoverageTests'
-      version: 4.300028
+      name: '@RSRCHBOY/PodCoverageTests'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
-      name: '@Filter/Dist::Zilla::Plugin::PodSyntaxTests'
-      version: 4.300028
-    -
-      class: Dist::Zilla::Plugin::NoTabsTests
-      name: '@Filter/Dist::Zilla::Plugin::NoTabsTests'
-      version: 0.01
+      name: '@RSRCHBOY/PodSyntaxTests'
+      version: 5.015
+    -
+      class: Dist::Zilla::Plugin::Test::NoTabs
+      config:
+        Dist::Zilla::Plugin::Test::NoTabs:
+          module_finder:
+            - ':InstallModules'
+          script_finder:
+            - ':ExecFiles'
+      name: '@RSRCHBOY/Test::NoTabs'
+      version: 0.06
     -
       class: Dist::Zilla::Plugin::EOLTests
-      name: '@Filter/Dist::Zilla::Plugin::EOLTests'
+      name: '@RSRCHBOY/EOLTests'
       version: 0.02
     -
       class: Dist::Zilla::Plugin::HasVersionTests
-      name: '@Filter/Dist::Zilla::Plugin::HasVersionTests'
+      name: '@RSRCHBOY/HasVersionTests'
       version: 1.101420
     -
       class: Dist::Zilla::Plugin::Test::Compile
-      name: '@Filter/Dist::Zilla::Plugin::Test::Compile'
-      version: 1.112820
-    -
-      class: Dist::Zilla::Plugin::Test::Portability
-      name: '@Filter/Dist::Zilla::Plugin::Test::Portability'
-      version: 2.000003
-    -
-      class: Dist::Zilla::Plugin::ExtraTests
-      name: '@Filter/Dist::Zilla::Plugin::ExtraTests'
-      version: 4.300028
+      config:
+        Dist::Zilla::Plugin::Test::Compile:
+          filename: t/00-compile.t
+          module_finder:
+            - ':InstallModules'
+          script_finder:
+            - ':ExecFiles'
+      name: '@RSRCHBOY/Test::Compile'
+      version: 2.039
     -
       class: Dist::Zilla::Plugin::NoSmartCommentsTests
-      name: '@Filter/Dist::Zilla::Plugin::NoSmartCommentsTests'
+      name: '@RSRCHBOY/NoSmartCommentsTests'
       version: 0.006
     -
+      class: Dist::Zilla::Plugin::Test::Pod::LinkCheck
+      name: '@RSRCHBOY/Test::Pod::LinkCheck'
+      version: 1.001
+    -
+      class: Dist::Zilla::Plugin::RunExtraTests
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 1
+      name: '@RSRCHBOY/RunExtraTests'
+      version: 0.016
+    -
+      class: Dist::Zilla::Plugin::CheckExtraTests
+      name: '@RSRCHBOY/CheckExtraTests'
+      version: 0.016
+    -
+      class: Dist::Zilla::Plugin::Test::MinimumVersion
+      name: '@RSRCHBOY/Test::MinimumVersion'
+      version: 2.000005
+    -
+      class: Dist::Zilla::Plugin::Authority
+      name: '@RSRCHBOY/Authority'
+      version: 1.006
+    -
       class: Dist::Zilla::Plugin::MetaConfig
-      name: '@Filter/Dist::Zilla::Plugin::MetaConfig'
-      version: 4.300028
+      name: '@RSRCHBOY/MetaConfig'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::MetaJSON
-      name: '@Filter/Dist::Zilla::Plugin::MetaJSON'
-      version: 4.300028
+      name: '@RSRCHBOY/MetaJSON'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::MetaYAML
-      name: '@Filter/Dist::Zilla::Plugin::MetaYAML'
-      version: 4.300028
+      name: '@RSRCHBOY/MetaYAML'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::MetaNoIndex
-      name: '@Filter/Dist::Zilla::Plugin::MetaNoIndex'
-      version: 4.300028
+      name: '@RSRCHBOY/MetaNoIndex'
+      version: 5.015
     -
-      class: Dist::Zilla::Plugin::MetaProvides::Package
-      name: '@Filter/Dist::Zilla::Plugin::MetaProvides::Package'
-      version: 1.14000001
+      class: Dist::Zilla::Plugin::FinderCode
+      name: '@RSRCHBOY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+      version: 5.015
     -
-      class: Dist::Zilla::Plugin::GitHub::Meta
-      name: '@Filter/Dist::Zilla::Plugin::GitHub::Meta'
-      version: 0.27
+      class: Dist::Zilla::Plugin::MetaProvides::Package
+      config:
+        Dist::Zilla::Plugin::MetaProvides::Package: {}
+        Dist::Zilla::Role::MetaProvider::Provider:
+          inherit_missing: 1
+          inherit_version: 1
+          meta_noindex: 1
+      name: '@RSRCHBOY/MetaProvides::Package'
+      version: 1.15000001
+    -
+      class: Dist::Zilla::Plugin::GithubMeta
+      name: '@RSRCHBOY/GithubMeta'
+      version: 0.42
     -
       class: Dist::Zilla::Plugin::TestRelease
-      name: '@Filter/Dist::Zilla::Plugin::TestRelease'
-      version: 4.300028
+      name: '@RSRCHBOY/TestRelease'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::CheckChangesHasContent
-      name: '@Filter/Dist::Zilla::Plugin::CheckChangesHasContent'
+      name: '@RSRCHBOY/CheckChangesHasContent'
       version: 0.006
     -
       class: Dist::Zilla::Plugin::CheckPrereqsIndexed
-      name: '@Filter/Dist::Zilla::Plugin::CheckPrereqsIndexed'
+      name: '@RSRCHBOY/CheckPrereqsIndexed'
+      version: 0.010
+    -
+      class: Dist::Zilla::Plugin::Git::Remote::Update
+      name: '@RSRCHBOY/GitFetchOrigin'
+      version: 0.1.2
+    -
+      class: Dist::Zilla::Plugin::Git::Remote::Check
+      name: '@RSRCHBOY/GitCheckReleaseBranchSync'
+      version: 0.1.2
+    -
+      class: Dist::Zilla::Plugin::Git::Remote::Check
+      name: '@RSRCHBOY/GitCheckMasterBranchSync'
+      version: 0.1.2
+    -
+      class: Dist::Zilla::Plugin::Git::Check
+      name: '@RSRCHBOY/Git::Check'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::Git::Commit
+      name: '@RSRCHBOY/Git::Commit'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::Test::CheckDeps
+      name: '@RSRCHBOY/Test::CheckDeps'
+      version: 0.012
+    -
+      class: Dist::Zilla::Plugin::CheckSelfDependency
+      config:
+        Dist::Zilla::Plugin::CheckSelfDependency:
+          finder:
+            - ':InstallModules'
+      name: '@RSRCHBOY/CheckSelfDependency'
       version: 0.007
     -
-      class: Dist::Zilla::Plugin::ConfirmRelease
-      name: '@Filter/Dist::Zilla::Plugin::ConfirmRelease'
-      version: 4.300028
+      class: Dist::Zilla::Plugin::Travis::ConfigForReleaseBranch
+      name: '@RSRCHBOY/Travis::ConfigForReleaseBranch'
+      version: 0.001
     -
-      class: Dist::Zilla::Plugin::GitHub::Update
-      name: '@Filter/Dist::Zilla::Plugin::GitHub::Update'
-      version: 0.27
+      class: Dist::Zilla::Plugin::SchwartzRatio
+      name: '@RSRCHBOY/SchwartzRatio'
+      version: 0.2.0
+    -
+      class: Dist::Zilla::Plugin::Git::Tag
+      name: '@RSRCHBOY/Git::Tag'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::Git::CommitBuild
+      name: '@RSRCHBOY/Git::CommitBuild::Build'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::Git::CommitBuild
+      name: '@RSRCHBOY/Git::CommitBuild::Release'
+      version: 2.019
+    -
+      class: Dist::Zilla::Plugin::Git::Push
+      name: '@RSRCHBOY/Git::Push'
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
-      name: '@Filter/Dist::Zilla::Plugin::UploadToCPAN'
-      version: 4.300028
+      name: '@RSRCHBOY/UploadToCPAN'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::Signature
-      name: '@Filter/Dist::Zilla::Plugin::Signature'
+      name: '@RSRCHBOY/Signature'
       version: 1.100930
     -
       class: Dist::Zilla::Plugin::Twitter
-      name: '@Filter/Dist::Zilla::Plugin::Twitter'
-      version: 0.017
+      name: '@RSRCHBOY/Twitter'
+      version: 0.024
     -
       class: Dist::Zilla::Plugin::InstallRelease
-      name: '@Filter/Dist::Zilla::Plugin::InstallRelease'
+      name: '@RSRCHBOY/InstallRelease'
       version: 0.008
     -
+      class: Dist::Zilla::Plugin::GitHub::Update
+      name: '@RSRCHBOY/GitHub::Update'
+      version: 0.36
+    -
       class: Dist::Zilla::Plugin::ArchiveRelease
-      name: '@Filter/Dist::Zilla::Plugin::ArchiveRelease'
+      name: '@RSRCHBOY/ArchiveRelease'
       version: 4.00
     -
+      class: Dist::Zilla::Plugin::ConfirmRelease
+      name: '@RSRCHBOY/ConfirmRelease'
+      version: 5.015
+    -
       class: Dist::Zilla::Plugin::License
-      name: '@Filter/Dist::Zilla::Plugin::License'
-      version: 4.300028
+      name: '@RSRCHBOY/License'
+      version: 5.015
+    -
+      class: Dist::Zilla::Plugin::CPANFile
+      name: '@RSRCHBOY/CPANFile'
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::CopyFilesFromBuild
-      name: '@Filter/Dist::Zilla::Plugin::CopyFilesFromBuild'
+      name: '@RSRCHBOY/CopyFilesFromBuild'
       version: 0.103510
     -
       class: Dist::Zilla::Plugin::ReadmeAnyFromPod
-      name: '@Filter/ReadmePodInRoot'
-      version: 0.120120
+      name: '@RSRCHBOY/ReadmeMarkdownInRoot'
+      version: 0.133360
     -
       class: Dist::Zilla::Plugin::PodWeaver
-      name: '@Filter/Dist::Zilla::Plugin::PodWeaver'
-      version: 3.101641
+      config:
+        Dist::Zilla::Plugin::PodWeaver:
+          config_plugins:
+            - '@RSRCHBOY'
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+          plugins:
+            -
+              class: Pod::Weaver::Plugin::StopWords
+              name: '@RSRCHBOY/StopWords'
+              version: 1.008
+            -
+              class: Pod::Weaver::Plugin::EnsurePod5
+              name: '@CorePrep/EnsurePod5'
+              version: 4.006
+            -
+              class: Pod::Weaver::Plugin::H1Nester
+              name: '@CorePrep/H1Nester'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Name
+              name: '@RSRCHBOY/Name'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Version
+              name: '@RSRCHBOY/Version'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Region
+              name: '@RSRCHBOY/prelude'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: SYNOPSIS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: DESCRIPTION
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: OVERVIEW
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::RSRCHBOY::RoleParameters
+              name: 'ROLE PARAMETERS'
+              version: 0.048
+            -
+              class: Pod::Weaver::Section::RSRCHBOY::RequiredAttributes
+              name: 'REQUIRED ATTRIBUTES'
+              version: 0.048
+            -
+              class: Pod::Weaver::Section::RSRCHBOY::LazyAttributes
+              name: 'LAZY ATTRIBUTES'
+              version: 0.048
+            -
+              class: Pod::Weaver::Section::Collect
+              name: ATTRIBUTES
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: METHODS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: 'REQUIRED METHODS'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: FUNCTIONS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: TYPES
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: TEST_FUNCTIONS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Leftovers
+              name: '@RSRCHBOY/Leftovers'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Region
+              name: '@RSRCHBOY/postlude'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::SeeAlso
+              name: '@RSRCHBOY/SeeAlso'
+              version: 1.002
+            -
+              class: Pod::Weaver::Section::SourceGitHub
+              name: '@RSRCHBOY/SourceGitHub'
+              version: 0.54
+            -
+              class: Pod::Weaver::Section::Bugs
+              name: '@RSRCHBOY/Bugs'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::RSRCHBOY::Authors
+              name: RSRCHBOY::Authors
+              version: 0.048
+            -
+              class: Pod::Weaver::Section::Contributors
+              name: '@RSRCHBOY/Contributors'
+              version: 0.007
+            -
+              class: Pod::Weaver::Section::Legal
+              name: '@RSRCHBOY/Legal'
+              version: 4.006
+            -
+              class: Pod::Weaver::Plugin::Transformer
+              name: '@RSRCHBOY/List'
+              version: 4.006
+            -
+              class: Pod::Weaver::Plugin::SingleEncoding
+              name: '@RSRCHBOY/SingleEncoding'
+              version: 4.006
+      name: '@RSRCHBOY/PodWeaver'
+      version: 4.005
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.300028
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: 4.300028
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.300028
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.300028
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.300028
+      version: 5.015
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: 4.300028
+      version: 5.015
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: 5.015
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: 5.015
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 4.300028
+    version: 5.015
+x_authority: cpan:RSRCHBOY
+x_contributors:
+  - 'David Steinbrunner <dsteinbrunner@pobox.com>'
@@ -1,4 +1,5 @@
 
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.015.
 use strict;
 use warnings;
 
@@ -11,16 +12,7 @@ use ExtUtils::MakeMaker 6.30;
 my %WriteMakefileArgs = (
   "ABSTRACT" => "Shorthand for common attribute options",
   "AUTHOR" => "Chris Weyl <cweyl\@alumni.drew.edu>",
-  "BUILD_REQUIRES" => {
-    "File::Find" => 0,
-    "File::Temp" => 0,
-    "Moose::Role" => 0,
-    "Test::Fatal" => 0,
-    "Test::Moose" => 0,
-    "Test::Moose::More" => "0.017",
-    "Test::More" => "0.88",
-    "constant" => 0
-  },
+  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
     "ExtUtils::MakeMaker" => "6.30"
   },
@@ -29,6 +21,7 @@ my %WriteMakefileArgs = (
   "LICENSE" => "lgpl",
   "NAME" => "MooseX::AttributeShortcuts",
   "PREREQ_PM" => {
+    "List::AllUtils" => 0,
     "Moose" => 0,
     "Moose::Exporter" => 0,
     "Moose::Util::MetaRole" => 0,
@@ -36,28 +29,72 @@ my %WriteMakefileArgs = (
     "MooseX::Role::Parameterized" => 0,
     "MooseX::Types::Common::String" => 0,
     "MooseX::Types::Moose" => 0,
+    "Package::DeprecationManager" => 0,
+    "autobox::Core" => 0,
+    "autobox::Junctions" => 0,
     "namespace::autoclean" => 0,
     "strict" => 0,
     "warnings" => 0
   },
-  "VERSION" => "0.017",
+  "TEST_REQUIRES" => {
+    "File::Spec" => 0,
+    "IO::Handle" => 0,
+    "IPC::Open3" => 0,
+    "Moose::Role" => 0,
+    "Moose::Util" => 0,
+    "MooseX::Types::Path::Class" => 0,
+    "Path::Class" => 0,
+    "Test::CheckDeps" => "0.010",
+    "Test::Fatal" => 0,
+    "Test::Moose" => 0,
+    "Test::Moose::More" => "0.018",
+    "Test::More" => "0.94",
+    "Test::Warn" => 0,
+    "constant" => 0
+  },
+  "VERSION" => "0.024",
   "test" => {
-    "TESTS" => "t/*.t"
+    "TESTS" => "t/*.t t/deprecated/*.t"
   }
 );
 
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
-  my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM};
-  for my $mod ( keys %$br ) {
-    if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
-    }
-    else {
-      $pp->{$mod} = $br->{$mod};
-    }
-  }
+my %FallbackPrereqs = (
+  "File::Spec" => 0,
+  "IO::Handle" => 0,
+  "IPC::Open3" => 0,
+  "List::AllUtils" => 0,
+  "Moose" => 0,
+  "Moose::Exporter" => 0,
+  "Moose::Role" => 0,
+  "Moose::Util" => 0,
+  "Moose::Util::MetaRole" => 0,
+  "Moose::Util::TypeConstraints" => 0,
+  "MooseX::Role::Parameterized" => 0,
+  "MooseX::Types::Common::String" => 0,
+  "MooseX::Types::Moose" => 0,
+  "MooseX::Types::Path::Class" => 0,
+  "Package::DeprecationManager" => 0,
+  "Path::Class" => 0,
+  "Test::CheckDeps" => "0.010",
+  "Test::Fatal" => 0,
+  "Test::Moose" => 0,
+  "Test::Moose::More" => "0.018",
+  "Test::More" => "0.94",
+  "Test::Warn" => 0,
+  "autobox::Core" => 0,
+  "autobox::Junctions" => 0,
+  "constant" => 0,
+  "namespace::autoclean" => 0,
+  "strict" => 0,
+  "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  delete $WriteMakefileArgs{TEST_REQUIRES};
+  delete $WriteMakefileArgs{BUILD_REQUIRES};
+  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
 }
 
 delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
@@ -2,8 +2,8 @@ NAME
     MooseX::AttributeShortcuts - Shorthand for common attribute options
 
 VERSION
-    This document describes version 0.017 of MooseX::AttributeShortcuts -
-    released October 28, 2012 as part of MooseX-AttributeShortcuts.
+    This document describes version 0.024 of MooseX::AttributeShortcuts -
+    released May 02, 2014 as part of MooseX-AttributeShortcuts.
 
 SYNOPSIS
         package Some::Class;
@@ -182,12 +182,30 @@ NEW ATTRIBUTE OPTIONS
         has foo => (is => 'ro', builder => '_build_foo');
         sub _build_foo { 'bar!' }
 
-  constraint => sub { ... }
-    Specifying the constraint option with a coderef will cause a new type
+  isa_instance_of => ...
+    Given a package name, this option will create an "isa" type constraint
+    that requires the value of the attribute be an instance of the class (or
+    a descendant class) given. That is,
+
+        has foo => (is => 'ro', isa_instance_of => 'SomeThing');
+
+    ...is effectively the same as:
+
+        use Moose::TypeConstraints 'class_type';
+        has foo => (
+            is  => 'ro',
+            isa => class_type('SomeThing'),
+        );
+
+    ...but a touch less awkward.
+
+  isa => ..., constraint => sub { ... }
+    Specifying the constraint option with a coderef will cause a new subtype
     constraint to be created, with the parent type being the type specified
     in the "isa" option and the constraint being the coderef supplied here.
 
-    Example:
+    For example, only integers greater than 10 will pass this attribute's
+    type constraint:
 
         # value must be an integer greater than 10 to pass the constraint
         has thinger => (
@@ -198,10 +216,69 @@ NEW ATTRIBUTE OPTIONS
 
     Note that if you supply a constraint, you must also provide an "isa".
 
+  isa => ..., constraint => sub { ... }, coerce => 1
+    Supplying a constraint and asking for coercion will "Just Work", that
+    is, any coercions that the "isa" type has will still work.
+
+    For example, let's say that you're using the "File" type constraint from
+    MooseX::Types::Path::Class, and you want an additional constraint that
+    the file must exist:
+
+        has thinger => (
+            is         => 'ro',
+            isa        => File,
+            constraint => sub { !! $_->stat },
+            coerce     => 1,
+        );
+
+    "thinger" will correctly coerce the string "/etc/passwd" to a
+    "Path::Class:File", and will only accept the coerced result as a value
+    if the file exists.
+
+  coerce => [ Type => sub { ...coerce... }, ... ]
+    Specifying the coerce option with a hashref will cause a new subtype to
+    be created and used (just as with the constraint option, above), with
+    the specified coercions added to the list. In the passed hashref, the
+    keys are Moose types (well, strings resolvable to Moose types), and the
+    values are coderefs that will coerce a given type to our type.
+
+        has bar => (
+            is     => 'ro',
+            isa    => 'Str',
+            coerce => [
+                Int    => sub { "$_"                       },
+                Object => sub { 'An instance of ' . ref $_ },
+            ],
+        );
+
+ANONYMOUS SUBTYPING AND COERCION
+        "Abusus non tollit usum."
+
+    Note that we create new, anonymous subtypes whenever the constraint or
+    coercion options are specified in such a way that the Shortcuts trait
+    (this one) is invoked. It's fully supported to use both constraint and
+    coerce options at the same time.
+
+    This facility is intended to assist with the creation of one-off type
+    constraints and coercions. It is not possible to deliberately reuse the
+    subtypes we create, and if you find yourself using a particular isa /
+    constraint / coerce option triplet in more than one place you should
+    really think about creating a type that you can reuse. MooseX::Types
+    provides the facilities to easily do this, or even a simple constant
+    definition at the package level with an anonymous type stashed away for
+    local use.
+
+SEE ALSO
+    Please see those modules/websites for more information related to this
+    module.
+
+    *   MooseX::Types
+
 SOURCE
     The development version is on github at
-    <http://github.com/RsrchBoy/moosex-attributeshortcuts> and may be cloned
-    from <git://github.com/RsrchBoy/moosex-attributeshortcuts.git>
+    <http://https://github.com/RsrchBoy/moosex-attributeshortcuts> and may
+    be cloned from
+    <git://https://github.com/RsrchBoy/moosex-attributeshortcuts.git>
 
 BUGS
     Please report any bugs or feature requests on the bugtracker website
@@ -213,6 +290,23 @@ BUGS
 AUTHOR
     Chris Weyl <cweyl@alumni.drew.edu>
 
+  SAYING THANKS IN A MATERIALISTIC WAY
+    Please note I do not expect to be gittip'ed or flattr'ed for this work,
+    rather it is simply a very pleasant surprise. I largely create and
+    release works like this because I need them or I find it enjoyable;
+    however, don't let that stop you giving me money if you feel like it ;)
+
+    flattr this!
+    <https://flattr.com/submit/auto?user_id=RsrchBoy&url=https%3A%2F%2Fgithu
+    b.com%2FRsrchBoy%2Fmoosex-attributeshortcuts&title=RsrchBoy's%20CPAN%20M
+    ooseX-AttributeShortcuts&tags=%22RsrchBoy's%20MooseX-AttributeShortcuts%
+    20in%20the%20CPAN%22> gittip me! <https://www.gittip.com/RsrchBoy/>
+    Amazon Wishlist
+    <http://www.amazon.com/gp/registry/wishlist/3G2DQFPBA57L6>
+
+CONTRIBUTOR
+    David Steinbrunner <dsteinbrunner@pobox.com>
+
 COPYRIGHT AND LICENSE
     This software is Copyright (c) 2011 by Chris Weyl.
 
@@ -1,5 +1,5 @@
 This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.68.
+signed via the Module::Signature module, version 0.73.
 
 To verify the content in this distribution, first make sure you have
 Module::Signature installed, then type:
@@ -14,18 +14,21 @@ not run its Makefile.PL or Build.PL.
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 27707c7d1544a5a3cbca43bf443f39e2bb154cf5 Changes
+SHA1 55ac697642a18dd7d974736a3d06fd531aa82382 .travis.yml
+SHA1 fbacd4395233d580271cfa5dcca16419e75e745d Changes
 SHA1 0b16c282a427d2bf87e66bc839170a89d1f2f99f INSTALL
 SHA1 514760f01d379ad532c49a196f1c6f7912b65556 LICENSE
-SHA1 9944816edd6c0fd7fcd278bbeba15c4c7cb7bc14 MANIFEST
-SHA1 ad33268042d92c4c6e7539ff6d4a6f934e865831 META.json
-SHA1 9c88e60e0b7552c561fb87768b6eef39bb6994ee META.yml
-SHA1 1cec4bf30e32924dd19f502664b25f386a70c888 Makefile.PL
-SHA1 e0c405d042b5c758544b421e2f53dc7213a413ae README
-SHA1 8a912f6044f65135fee0bf30346887f5b81deae5 dist.ini
-SHA1 6aa4fded8f6dc033b20b785ab8a6fc0219ee1109 lib/MooseX/AttributeShortcuts.pm
-SHA1 ad5c40aecbdd618e03450b94dd5685a030036c0d t/00-compile.t
-SHA1 10adce6ca9e0c6692003e60696984e341b1426f9 t/000-report-versions-tiny.t
+SHA1 43a15cb1ab22471411c9c8913021a109450a21c6 MANIFEST
+SHA1 87144f798dc484ba838d291a2ae114dea9c98be5 META.json
+SHA1 ad3a8706bb0a3d2f675f39641d5c3359b4d49295 META.yml
+SHA1 5a7817c98c54042069a43ea19afea4fdd4050a5f Makefile.PL
+SHA1 f43c086ef5ea577704033710abd84e46aa1ffbce README
+SHA1 e61a9a7e55e6a1bf13af32281209f0d68438e6fb cpanfile
+SHA1 5dafee4fc2c3642d0de8db57ec01d89d67fa5979 dist.ini
+SHA1 1a9158683de46e86291f008f7c5d289e253e640f lib/MooseX/AttributeShortcuts.pm
+SHA1 c522c3928158e64bd97d34d20cbfe0b5305a7eb2 t/00-check-deps.t
+SHA1 b11f763c07b435260a9652fa6709b758072a66f0 t/00-compile.t
+SHA1 8ed46fb3819911e3cdaddff2889c9fdda2ec580a t/000-report-versions-tiny.t
 SHA1 b201b29194c8e2d174032993fbf9b989d204943c t/01-basic.t
 SHA1 feb9ac405e94777b2eccb564c75e81b303877592 t/02-parameterized.t
 SHA1 8b3de3014b22392c176c297ec6169376b4c7d080 t/03-lazy.t
@@ -34,26 +37,33 @@ SHA1 dcdac8f250e53b097c3727c6d4e5ccf2d7512277 t/05-extend.t
 SHA1 aeead510300b711df372bf0c026a60099d330927 t/06-role.t
 SHA1 141674978f422f7ae85a333e45b6984fdad9a1e8 t/07-trigger.t
 SHA1 2983277e0687e4cf8119b46779afb8b11b3d6329 t/anon-builder.t
+SHA1 cdb770dcc3e7834ebfef966b99b65696b4bebfe9 t/constraint.t
+SHA1 d7713ee1fd02d36e9a6a1ec196664e0badddafa6 t/deprecated/inline_typing.t
 SHA1 0693757ec019aebd05fc427a757294136889cf74 t/funcs.pm
 SHA1 2a3a2473622b9bd48532a52cfb1aafe72a0d34af t/handles-metaclass.t
-SHA1 74940219af9b6d674b7fbe3189b8172a57e6d5a9 t/inline_subtyping.t
-SHA1 1f404d2af0d38f521691a6154e35de264d9ab3a0 t/inline_typing.t
-SHA1 9c3627ff37f4fd5bddc34bf46cf3359eaf76a060 t/release-consistent-version.t
-SHA1 a032c41ef6887fab1b900669c2d304fab46680e2 t/release-eol.t
-SHA1 0c566db92a9f12450c1e962d885634aa2cf1e8ca t/release-has-version.t
-SHA1 4953bba5de90d892df5886383ac42c42c167d9d9 t/release-no-smart-comments.t
-SHA1 455d1dd1867212a665ad5ea4126b572411de300c t/release-no-tabs.t
-SHA1 e9e8e7e3e707ce9bd2046a7dd3817cd5555e8874 t/release-pod-coverage.t
-SHA1 7ff128eaa77cb3639c774c44cf3e0128d691d480 t/release-pod-syntax.t
-SHA1 64fc59ae48fee3f56172b7104cb123b2e5964ba3 t/release-portability.t
+SHA1 0328d316dd8c93e5844876266892bef23adaad9a t/inline_coercion-back-compat.t
+SHA1 78aee97e4cb5687712f41fae37fd800cd1fe3ac7 t/inline_coercion.t
+SHA1 efa514912dc489236506a5a9aca8414a6b661e52 t/inline_subtyping.t
+SHA1 2b9133942088af2b4b6926c65d7b2da8beb1f2b6 t/inline_subtyping_with_coercion.t
+SHA1 801cfa02cf426ab31f6b1f9465cbc89d78822743 t/isa_instance_of.t
+SHA1 727b9eb563daa686fb01f5cf3388f1b751701468 xt/author/pod-spell.t
+SHA1 a7948d34cfaad400286ea5d5fa6206c4c7e2552c xt/release/consistent-version.t
+SHA1 b3915eaac65e18e6a048b34a4b873beccab326b4 xt/release/eol.t
+SHA1 cd1efd4a6edcf18422a226628e6c7a87f2ffb7df xt/release/has-version.t
+SHA1 6b9989c3e0d0e9348ab8e83a25912816be52efc0 xt/release/minimum-version.t
+SHA1 4d54f55f6d47c12d114e576d6e006f1e25924f4d xt/release/no-smart-comments.t
+SHA1 e76851a3108b15055f81ccdc5cd7b05788c5aa8d xt/release/no-tabs.t
+SHA1 9ff2bd29987b01440cfe648807df8cdbeedc289c xt/release/pod-coverage.t
+SHA1 1e6adb7e320c9a83e7e5ed59fbe4080e1d029256 xt/release/pod-linkcheck.t
+SHA1 a0c20421984c072fd1701d1639592f2d7c4ff226 xt/release/pod-syntax.t
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
-iQEcBAEBAgAGBQJQjf3UAAoJEOd5N1CvIgQkz7MH/i2XMxfa9UChaOoaq/RX08Uy
-QYIUXmChTkfawQ1Lur80VSZ8au+LwT86XSREzH9icFn0UPqbK1QdfQjzIKztp6Mp
-AQoxkpNeDrsJYeI/0ThUSkcTd02o8dt/CQc4mXLg2RLnF0HlCj3SnE6rr10Ch5z+
-Snx0QUxTNxbrvxmlm/FK3Gl7LeHyz0/PiNmsS+cXHghQ25jtixOuEPQ43Q4AZM+w
-/amp05VLYUmarNW5ZMqsYL1AGek8EP4wygauPZKFKOwLEqGq+8quW9Whr2pbz+r9
-Pamqkjau5Fz8HZwW8zHXhZ0KPBScZ+bwxh/g0yrFjKVWzN8Nex0yThrhtz/PGfA=
-=WYrO
+iQEcBAEBAgAGBQJTY/cqAAoJEOd5N1CvIgQk7m8IALJVKw0xYlFsrze8A5kH4278
+KobP86kK07d4aCkZdJc8e3CkcH0qW1AlO9KhOeKTf0/MLvZcECPuaBXsMlqXkDHj
+WxZgoMqjSx93lXsliRBzCRU5khmCehwKcNVZkG04E5R/T/gtguntGcqAhvsL4qVZ
+mXkQT47hWLFDVWiVdYzsQrek8TXpc5qVpGAzMsb/spsmL04OQEWjz4/jj75q6b0w
++0lVjlxWi1S/48GXh2KuSzSDI1nvFPyrjcpHN3Fp3KSr3/RvPMNixXiCjezzNrAH
+pYATDflteaujn0Enn9S5bngUaOw6h8691YRu5L4DR74dQsTbQts9YhsAoJRI0HM=
+=q336
 -----END PGP SIGNATURE-----
@@ -0,0 +1,46 @@
+requires "List::AllUtils" => "0";
+requires "Moose" => "0";
+requires "Moose::Exporter" => "0";
+requires "Moose::Util::MetaRole" => "0";
+requires "Moose::Util::TypeConstraints" => "0";
+requires "MooseX::Role::Parameterized" => "0";
+requires "MooseX::Types::Common::String" => "0";
+requires "MooseX::Types::Moose" => "0";
+requires "Package::DeprecationManager" => "0";
+requires "autobox::Core" => "0";
+requires "autobox::Junctions" => "0";
+requires "namespace::autoclean" => "0";
+requires "perl" => "5.006";
+requires "strict" => "0";
+requires "warnings" => "0";
+
+on 'test' => sub {
+  requires "File::Spec" => "0";
+  requires "IO::Handle" => "0";
+  requires "IPC::Open3" => "0";
+  requires "Moose::Role" => "0";
+  requires "Moose::Util" => "0";
+  requires "MooseX::Types::Path::Class" => "0";
+  requires "Path::Class" => "0";
+  requires "Test::CheckDeps" => "0.010";
+  requires "Test::Fatal" => "0";
+  requires "Test::Moose" => "0";
+  requires "Test::Moose::More" => "0.018";
+  requires "Test::More" => "0.94";
+  requires "Test::Warn" => "0";
+  requires "constant" => "0";
+  requires "perl" => "5.006";
+};
+
+on 'configure' => sub {
+  requires "ExtUtils::MakeMaker" => "6.30";
+};
+
+on 'develop' => sub {
+  requires "Pod::Coverage::TrustPod" => "0";
+  requires "Test::More" => "0";
+  requires "Test::NoTabs" => "0";
+  requires "Test::Pod" => "1.41";
+  requires "Test::Pod::Coverage" => "1.08";
+  requires "version" => "0.9901";
+};
@@ -4,8 +4,6 @@ license = LGPL_2_1
 copyright_holder = Chris Weyl
 copyright_year   = 2011
 
-[@Filter]
--bundle = @RSRCHBOY
--remove = Test::PodSpelling
+[@RSRCHBOY]
 autoprereqs_skip = ^(funcs|TestClass.*|TestRole.*)$
 tweet = 1
@@ -8,9 +8,11 @@
 #   The GNU Lesser General Public License, Version 2.1, February 1999
 #
 package MooseX::AttributeShortcuts;
-{
-  $MooseX::AttributeShortcuts::VERSION = '0.017';
+BEGIN {
+  $MooseX::AttributeShortcuts::AUTHORITY = 'cpan:RSRCHBOY';
 }
+# git description: 0.023-5-gff63e05
+$MooseX::AttributeShortcuts::VERSION = '0.024';
 
 # ABSTRACT: Shorthand for common attribute options
 
@@ -24,21 +26,28 @@ use Moose::Exporter;
 use Moose::Util::MetaRole;
 use Moose::Util::TypeConstraints;
 
-# debug...
-#use Smart::Comments;
-
 {
     package MooseX::AttributeShortcuts::Trait::Attribute;
-{
-  $MooseX::AttributeShortcuts::Trait::Attribute::VERSION = '0.017';
+BEGIN {
+  $MooseX::AttributeShortcuts::Trait::Attribute::AUTHORITY = 'cpan:RSRCHBOY';
 }
+# git description: 0.023-5-gff63e05
+$MooseX::AttributeShortcuts::Trait::Attribute::VERSION = '0.024';
     use namespace::autoclean;
     use MooseX::Role::Parameterized;
-    use Moose::Util::TypeConstraints qw{ class_type role_type enum };
+    use Moose::Util::TypeConstraints  ':all';
     use MooseX::Types::Moose          ':all';
     use MooseX::Types::Common::String ':all';
 
-    sub _find_or_create_isa_type_constraint { goto \&Moose::Util::TypeConstraints::find_or_create_isa_type_constraint }
+    use autobox::Core;
+    use autobox::Junctions;
+    use List::AllUtils 'any';
+
+    use Package::DeprecationManager -deprecations => {
+        'undocumented-isa-constraints' => '0.23',
+    };
+
+    sub _acquire_isa_tc { goto \&Moose::Util::TypeConstraints::find_or_create_isa_type_constraint }
 
     parameter writer_prefix  => (isa => NonEmptySimpleStr, default => '_set_');
     parameter builder_prefix => (isa => NonEmptySimpleStr, default => '_build_');
@@ -109,45 +118,100 @@ use Moose::Util::TypeConstraints;
                 }
             }
 
-            # TODO isa_class - anon class_type generation
-            # TODO isa_role  - anon role_type generation
-            # TODO isa_enum  - anon enum generation
-            # TODO coerce_via - anon coercion (type -> anon subtype+coercion
+            if (any { $options->keys->any eq $_ } (qw{ isa_class isa_role isa_enum })) {
+
+                # (more than) fair warning...
+                deprecated(
+                    feature => 'undocumented-isa-constraints',
+                    message => 'Naughty! isa_class, isa_role, and isa_enum will be removed on or after 01 July 2014!',
+                );
+
+                # XXX undocumented -- not sure this is a great idea
+                $options->{isa} = class_type(delete $options->{isa_class})
+                    if $_has->('isa_class');
+                $options->{isa} = role_type(delete $options->{isa_role})
+                    if $_has->('isa_role');
+                $options->{isa} = enum(delete $options->{isa_enum})
+                    if $_has->('isa_enum');
+            }
+
+            # aka: isa => class_type(...)
+            if ($_has->('isa_instance_of')) {
+
+                if ($_has->('isa')) {
 
-            # XXX we also ignore conflicts here -- last in wins
-            #confess q{conflict 'isa' and 'isa_class' or 'isa_role'}
-                #if $_has->('isa')
+                    $class->throw_error(
+                        q{Cannot use 'isa_instance_of' and 'isa' together for attribute }
+                        . $_opt->('definition_context')->{package} . '::' . $name
+                    );
+                }
 
-            # XXX undocumented -- not sure this is a great idea
-            $options->{isa} = class_type(delete $options->{isa_class})
-                if $_has->('isa_class');
-            $options->{isa} = role_type(delete $options->{isa_role})
-                if $_has->('isa_role');
-            $options->{isa} = enum(delete $options->{isa_enum})
-                if $_has->('isa_enum');
+                $options->{isa} = class_type(delete $options->{isa_instance_of});
+            }
 
-            $class->throw_error('You must specify an isa when declaring a constraint')
-                if $_has->('constraint') && !$_has->('isa');
+            ### the pretty business of on-the-fly subtyping...
+            my $our_type;
 
-            if (my $isa = $_opt->('isa')) {
+            if ($_has->('constraint')) {
 
-                my @opts;
+                # check for errors...
+                $class->throw_error('You must specify an "isa" when declaring a "constraint"')
+                    if !$_has->('isa');
+                $class->throw_error('"constraint" must be a CODE reference')
+                    if $_ref->('constraint') ne 'CODE';
 
                 # constraint checking! XXX message, etc?
-                push @opts, constraint => $_opt->('constraint')
+                push my @opts, constraint => $_opt->('constraint')
                     if $_ref->('constraint') eq 'CODE';
 
-                if (@opts) {
+                # stash our original option away and construct our new one
+                my $isa     = $options->{original_isa} = $_opt->('isa');
+                $our_type ||= _acquire_isa_tc($isa)->create_child_type(@opts);
+            }
+
+            # "fix" the case of the hashref....  *sigh*
+            # FIXME TODO check for potential conflicts and warn!
+            $options->{coerce} = [ %{ $options->{coerce} } ]
+                if $_ref->('coerce') eq 'HASH';
+
+            if ($_ref->('coerce') eq 'ARRAY') {
 
-                    # stash our original option away and construct our new one
-                    $options->{original_isa} = $isa;
-                    $options->{isa}
-                        = _find_or_create_isa_type_constraint($isa)
-                        ->create_child_type(@opts)
-                        ;
+                ### must be type => sub { ... } pairs...
+                my @coercions = @{ $_opt->('coerce') };
+                confess 'You must specify an "isa" when declaring "coercion"'
+                    unless $_has->('isa');
+                confess 'coercion array must be in pairs!'
+                    if @coercions % 2;
+                confess 'must define at least one coercion pair!'
+                    unless @coercions > 0;
+
+                my $our_coercion = Moose::Meta::TypeCoercion->new;
+                $our_type ||= _acquire_isa_tc($_opt->('isa'))->create_child_type;
+
+                $our_coercion->add_type_coercions(@coercions);
+                $our_type->coercion($our_coercion);
+                $options->{coerce} = 1;
+            }
+
+            if ($our_type && !$our_type->has_coercion) {
+
+                my $isa_type = _acquire_isa_tc($_opt->('isa'));
+
+                if ($isa_type->has_coercion && !$_ref->('coerce') && $_opt->('coerce') eq "1") {
+
+                    # create our coercion as a copy of the parent
+                    $our_type->coercion(Moose::Meta::TypeCoercion->new(
+                        type_constraint   => $our_type,
+                        type_coercion_map => [ @{ $isa_type->coercion->type_coercion_map } ],
+                    ));
                 }
+
             }
 
+            # fin constraint mucking....
+            do { $options->{original_isa} = $_opt->('isa'); $options->{isa} = $our_type }
+                if $our_type;
+
             if ($options->{lazy_build} && $options->{lazy_build} eq 'private') {
 
                 $options->{lazy_build} = 1;
@@ -264,10 +328,10 @@ sub init_meta {
     die "Class $for_class has no metaclass!"
         unless Class::MOP::class_of($for_class);
 
-    # If we're given paramaters to pass on to construct a role with, we build
+    # If we're given parameters to pass on to construct a role with, we build
     # it out here rather than pass them on and allowing apply_metaroles() to
-    # handle it, as there are Very Loud Warnings about how paramatized roles
-    # are non-cachable when generated on the fly.
+    # handle it, as there are Very Loud Warnings about how parameterized roles
+    # are non-cacheable when generated on the fly.
 
     ### $params
     my $role
@@ -279,10 +343,12 @@ sub init_meta {
         ;
 
     Moose::Util::MetaRole::apply_metaroles(
-        for             => $for_class,
-        class_metaroles => { attribute         => [ $role ] },
         # TODO add attribute trait here to create builder method if found
-        role_metaroles  => { applied_attribute => [ $role ] },
+        for                          => $for_class,
+        class_metaroles              => { attribute         => [ $role ] },
+        role_metaroles               => { applied_attribute => [ $role ] },
+        parameter_metaroles          => { applied_attribute => [ $role ] },
+        parameterized_role_metaroles => { applied_attribute => [ $role ] },
     );
 
     return Class::MOP::class_of($for_class);
@@ -294,9 +360,12 @@ __END__
 
 =pod
 
-=encoding utf-8
+=encoding UTF-8
 
-=for :stopwords Chris Weyl
+=for :stopwords Chris Weyl David Steinbrunner GitHub attribute's isa one's rwp SUBTYPING
+foo
+
+=for :stopwords Wishlist flattr flattr'ed gittip gittip'ed
 
 =head1 NAME
 
@@ -304,7 +373,7 @@ MooseX::AttributeShortcuts - Shorthand for common attribute options
 
 =head1 VERSION
 
-This document describes version 0.017 of MooseX::AttributeShortcuts - released October 28, 2012 as part of MooseX-AttributeShortcuts.
+This document describes version 0.024 of MooseX::AttributeShortcuts - released May 02, 2014 as part of MooseX-AttributeShortcuts.
 
 =head1 SYNOPSIS
 
@@ -357,6 +426,8 @@ This package causes an attribute trait to be applied to all attributes defined
 to the using class.  This trait extends the attribute option processing to
 handle the above variations.
 
+=for Pod::Coverage init_meta
+
 =head1 USAGE
 
 This package automatically applies an attribute metaclass trait.  Unless you
@@ -497,13 +568,32 @@ e.g., in your class,
     has foo => (is => 'ro', builder => '_build_foo');
     sub _build_foo { 'bar!' }
 
-=head2 constraint => sub { ... }
+=head2 isa_instance_of => ...
+
+Given a package name, this option will create an C<isa> type constraint that
+requires the value of the attribute be an instance of the class (or a
+descendant class) given.  That is,
+
+    has foo => (is => 'ro', isa_instance_of => 'SomeThing');
 
-Specifying the constraint option with a coderef will cause a new type
+...is effectively the same as:
+
+    use Moose::TypeConstraints 'class_type';
+    has foo => (
+        is  => 'ro',
+        isa => class_type('SomeThing'),
+    );
+
+...but a touch less awkward.
+
+=head2 isa => ..., constraint => sub { ... }
+
+Specifying the constraint option with a coderef will cause a new subtype
 constraint to be created, with the parent type being the type specified in the
 C<isa> option and the constraint being the coderef supplied here.
 
-Example:
+For example, only integers greater than 10 will pass this attribute's type
+constraint:
 
     # value must be an integer greater than 10 to pass the constraint
     has thinger => (
@@ -514,12 +604,76 @@ Example:
 
 Note that if you supply a constraint, you must also provide an C<isa>.
 
-=for Pod::Coverage init_meta
+=head2 isa => ..., constraint => sub { ... }, coerce => 1
+
+Supplying a constraint and asking for coercion will "Just Work", that is, any
+coercions that the C<isa> type has will still work.
+
+For example, let's say that you're using the C<File> type constraint from
+L<MooseX::Types::Path::Class>, and you want an additional constraint that the
+file must exist:
+
+    has thinger => (
+        is         => 'ro',
+        isa        => File,
+        constraint => sub { !! $_->stat },
+        coerce     => 1,
+    );
+
+C<thinger> will correctly coerce the string "/etc/passwd" to a
+C<Path::Class:File>, and will only accept the coerced result as a value if
+the file exists.
+
+=head2 coerce => [ Type => sub { ...coerce... }, ... ]
+
+Specifying the coerce option with a hashref will cause a new subtype to be
+created and used (just as with the constraint option, above), with the
+specified coercions added to the list.  In the passed hashref, the keys are
+Moose types (well, strings resolvable to Moose types), and the values are
+coderefs that will coerce a given type to our type.
+
+    has bar => (
+        is     => 'ro',
+        isa    => 'Str',
+        coerce => [
+            Int    => sub { "$_"                       },
+            Object => sub { 'An instance of ' . ref $_ },
+        ],
+    );
+
+=head1 ANONYMOUS SUBTYPING AND COERCION
+
+    "Abusus non tollit usum."
+
+Note that we create new, anonymous subtypes whenever the constraint or
+coercion options are specified in such a way that the Shortcuts trait (this
+one) is invoked.  It's fully supported to use both constraint and coerce
+options at the same time.
+
+This facility is intended to assist with the creation of one-off type
+constraints and coercions.  It is not possible to deliberately reuse the
+subtypes we create, and if you find yourself using a particular isa /
+constraint / coerce option triplet in more than one place you should really
+think about creating a type that you can reuse.  L<MooseX::Types> provides
+the facilities to easily do this, or even a simple L<constant> definition at
+the package level with an anonymous type stashed away for local use.
+
+=head1 SEE ALSO
+
+Please see those modules/websites for more information related to this module.
+
+=over 4
+
+=item *
+
+L<MooseX::Types|MooseX::Types>
+
+=back
 
 =head1 SOURCE
 
-The development version is on github at L<http://github.com/RsrchBoy/moosex-attributeshortcuts>
-and may be cloned from L<git://github.com/RsrchBoy/moosex-attributeshortcuts.git>
+The development version is on github at L<http://https://github.com/RsrchBoy/moosex-attributeshortcuts>
+and may be cloned from L<git://https://github.com/RsrchBoy/moosex-attributeshortcuts.git>
 
 =head1 BUGS
 
@@ -534,6 +688,21 @@ feature.
 
 Chris Weyl <cweyl@alumni.drew.edu>
 
+=head2 SAYING THANKS IN A MATERIALISTIC WAY
+
+Please note B<I do not expect to be gittip'ed or flattr'ed for this work>,
+rather B<it is simply a very pleasant surprise>. I largely create and release
+works like this because I need them or I find it enjoyable; however, don't let
+that stop you giving me money if you feel like it ;)
+
+L<flattr this!|https://flattr.com/submit/auto?user_id=RsrchBoy&url=https%3A%2F%2Fgithub.com%2FRsrchBoy%2Fmoosex-attributeshortcuts&title=RsrchBoy's%20CPAN%20MooseX-AttributeShortcuts&tags=%22RsrchBoy's%20MooseX-AttributeShortcuts%20in%20the%20CPAN%22>
+L<gittip me!|https://www.gittip.com/RsrchBoy/>
+L<Amazon Wishlist|http://www.amazon.com/gp/registry/wishlist/3G2DQFPBA57L6>
+
+=head1 CONTRIBUTOR
+
+David Steinbrunner <dsteinbrunner@pobox.com>
+
 =head1 COPYRIGHT AND LICENSE
 
 This software is Copyright (c) 2011 by Chris Weyl.
@@ -0,0 +1,17 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::CheckDeps 0.012
+
+use Test::More 0.94;
+use Test::CheckDeps 0.010;
+
+
+check_dependencies('suggests');
+
+
+if (1) {
+    BAIL_OUT("Missing dependencies") if !Test::More->builder->is_passing;
+}
+
+done_testing;
@@ -1,82 +1,50 @@
-#!perl
-#
-# This file is part of MooseX-AttributeShortcuts
-#
-# This software is Copyright (c) 2011 by Chris Weyl.
-#
-# This is free software, licensed under:
-#
-#   The GNU Lesser General Public License, Version 2.1, February 1999
-#
-
+use 5.006;
 use strict;
 use warnings;
 
-use Test::More;
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.039
 
+use Test::More  tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
 
 
-use File::Find;
-use File::Temp qw{ tempdir };
 
-my @modules;
-find(
-  sub {
-    return if $File::Find::name !~ /\.pm\z/;
-    my $found = $File::Find::name;
-    $found =~ s{^lib/}{};
-    $found =~ s{[/\\]}{::}g;
-    $found =~ s/\.pm$//;
-    # nothing to skip
-    push @modules, $found;
-  },
-  'lib',
+my @module_files = (
+    'MooseX/AttributeShortcuts.pm'
 );
 
-sub _find_scripts {
-    my $dir = shift @_;
-
-    my @found_scripts = ();
-    find(
-      sub {
-        return unless -f;
-        my $found = $File::Find::name;
-        # nothing to skip
-        open my $FH, '<', $_ or do {
-          note( "Unable to open $found in ( $! ), skipping" );
-          return;
-        };
-        my $shebang = <$FH>;
-        return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
-        push @found_scripts, $found;
-      },
-      $dir,
-    );
-
-    return @found_scripts;
-}
 
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
-    for qw{ bin script scripts };
 
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
+# no fake home requested
+
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
 
+my @warnings;
+for my $lib (@module_files)
 {
-    # fake home for cpan-testers
-    # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
-    like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
-        for sort @modules;
-
-    SKIP: {
-        eval "use Test::Script 1.05; 1;";
-        skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
-        foreach my $file ( @scripts ) {
-            my $script = $file;
-            $script =~ s!.*/!!;
-            script_compiles( $file, "$script script compiles" );
-        }
+    # see L<perlfaq8/How can I capture STDERR from an external command?>
+    my $stderr = IO::Handle->new;
+
+    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+    my @_warnings = <$stderr>;
+    waitpid($pid, 0);
+    is($?, 0, "$lib loaded ok");
+
+    if (@_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
     }
 }
+
+
+
+is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+
+
@@ -9,7 +9,7 @@ our $success = 0;
 END { $success && done_testing; }
 
 # List our own version used to generate this
-my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08\n";
+my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n";
 
 eval {                     # no excuses!
     # report our Perl details
@@ -49,27 +49,33 @@ sub pmver {
 }
 
 eval { $v .= pmver('ExtUtils::MakeMaker','6.30') };
-eval { $v .= pmver('File::Find','any version') };
-eval { $v .= pmver('File::Temp','any version') };
+eval { $v .= pmver('File::Spec','any version') };
+eval { $v .= pmver('IO::Handle','any version') };
+eval { $v .= pmver('IPC::Open3','any version') };
+eval { $v .= pmver('List::AllUtils','any version') };
 eval { $v .= pmver('Moose','any version') };
 eval { $v .= pmver('Moose::Exporter','any version') };
 eval { $v .= pmver('Moose::Role','any version') };
+eval { $v .= pmver('Moose::Util','any version') };
 eval { $v .= pmver('Moose::Util::MetaRole','any version') };
 eval { $v .= pmver('Moose::Util::TypeConstraints','any version') };
 eval { $v .= pmver('MooseX::Role::Parameterized','any version') };
 eval { $v .= pmver('MooseX::Types::Common::String','any version') };
 eval { $v .= pmver('MooseX::Types::Moose','any version') };
-eval { $v .= pmver('Pod::Coverage::TrustPod','any version') };
+eval { $v .= pmver('MooseX::Types::Path::Class','any version') };
+eval { $v .= pmver('Package::DeprecationManager','any version') };
+eval { $v .= pmver('Path::Class','any version') };
+eval { $v .= pmver('Test::CheckDeps','0.010') };
 eval { $v .= pmver('Test::Fatal','any version') };
 eval { $v .= pmver('Test::Moose','any version') };
-eval { $v .= pmver('Test::Moose::More','0.017') };
-eval { $v .= pmver('Test::More','0.88') };
-eval { $v .= pmver('Test::Pod','1.41') };
-eval { $v .= pmver('Test::Pod::Coverage','1.08') };
+eval { $v .= pmver('Test::Moose::More','0.018') };
+eval { $v .= pmver('Test::More','0.94') };
+eval { $v .= pmver('Test::Warn','any version') };
+eval { $v .= pmver('autobox::Core','any version') };
+eval { $v .= pmver('autobox::Junctions','any version') };
 eval { $v .= pmver('constant','any version') };
 eval { $v .= pmver('namespace::autoclean','any version') };
 eval { $v .= pmver('strict','any version') };
-eval { $v .= pmver('version','0.9901') };
 eval { $v .= pmver('warnings','any version') };
 
 
@@ -0,0 +1,51 @@
+use strict;
+use warnings;
+
+# test our new constraint option
+#
+# this test is perhaps a bit redundnant, given t/inline_*.t, but it's kinda
+# where I'd like to see it go when Test::Moose::More is retrofitted with
+# isa/type_constraint checking support.
+
+use Test::More;
+use Test::Moose::More;
+use Moose::Util;
+use Moose::Util::TypeConstraints;
+
+my $shortcuts;
+
+{
+    package TestClass;
+
+    use Moose;
+    use namespace::autoclean;
+    use MooseX::AttributeShortcuts;
+
+    $shortcuts = Shortcuts;
+
+    has foo => (
+        is         => 'rw',
+        isa        => 'Str',
+        constraint => sub { /^Hi/ },
+    );
+
+}
+
+my $tc =
+    Moose::Util::TypeConstraints::find_or_create_isa_type_constraint('Str')
+    ->create_child_type(constraint => sub { /^Hi/ })
+    ;
+
+validate_class TestClass => (
+    attributes => [
+        foo => {
+            -does           => [ $shortcuts ],
+            accessor        => 'foo',
+            original_isa    => 'Str',
+            type_constraint => $tc,
+            isa             => $tc,
+        },
+    ],
+);
+
+done_testing;
@@ -0,0 +1,49 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Moose::More;
+
+{
+    package TestClass;
+
+    use Moose;
+    use namespace::autoclean;
+    use MooseX::AttributeShortcuts;
+    use Test::Warn;
+
+    warnings_exist {
+            has bar => (is => 'ro',  isa_class => 'SomeClass');
+            has baz => (is => 'rwp', isa_role  => 'SomeRole');
+        }
+        [ qr/Naughty! isa_class, isa_role, and isa_enum will be removed on or after 01 July 2014!/ ],
+        'expected warnings thrown for isa_class, isa_role usage',
+        ;
+}
+
+# TODO shift the constraint checking out into TMM?
+
+validate_class TestClass => (
+    attributes => [ qw{ bar baz } ],
+);
+
+subtest 'isa_class check' => sub {
+    my $att = 'bar';
+    my $meta = TestClass->meta->get_attribute($att);
+    ok $meta->has_type_constraint, "$att has a type constraint";
+    my $tc = $meta->type_constraint;
+    isa_ok $tc, 'Moose::Meta::TypeConstraint::Class';
+    is $tc->class, 'SomeClass', 'tc looks for correct class';
+};
+
+subtest 'isa_role check' => sub {
+    my $att = 'baz';
+    my $meta = TestClass->meta->get_attribute($att);
+    ok $meta->has_type_constraint, "$att has a type constraint";
+    my $tc = $meta->type_constraint;
+    isa_ok $tc, 'Moose::Meta::TypeConstraint::Role';
+    is $tc->role, 'SomeRole', 'tc looks for correct role';
+};
+
+
+done_testing;
@@ -0,0 +1,92 @@
+use strict;
+use warnings;
+
+# small, minimal test to ensure our hashref-based attribute matching is still
+# working as expected
+#
+# That is to say, working unless you hit a nasty bug.
+
+{ package TestClass::From; use Moose; }
+
+my $i = 0;
+my $sc_trait;
+
+{
+    package TestClass;
+
+    use Moose;
+    use namespace::autoclean;
+    use MooseX::AttributeShortcuts;
+    use Path::Class;
+    use MooseX::Types::Path::Class ':all';
+
+    $sc_trait = Shortcuts;
+
+    has bar => (
+        is     => 'rw',
+        isa    => File,
+        coerce => {
+            'TestClass::From' => sub { $i++; return file('foo') },
+            'Str'             => sub { $i++; file $_ },
+        },
+    );
+}
+
+use Test::More;
+use Test::Moose::More 0.018;
+use Test::Fatal;
+use Path::Class;
+use MooseX::Types::Path::Class ':all';
+
+# TODO shift the constraint checking out into TMM?
+
+validate_class TestClass => (
+    attributes => [
+        bar => {
+            -does        => [ $sc_trait ],
+            reader       => undef,
+            writer       => undef,
+            accessor     => 'bar',
+            isa          => File,
+            original_isa => 'MooseX::Types::Path::Class::File',
+            coerce       => 1,
+            required     => undef,
+        },
+    ],
+);
+
+subtest 'Str coercion OK' => sub {
+
+    my $tc;
+    my $msg = exception { $tc = TestClass->new(bar => 'foo') };
+    is $msg, undef, 'does not die on construction';
+    my $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'foo', 'value is correct';
+
+    $msg = exception { $tc->bar('baz') };
+    is $msg, undef, 'does not die on setting';
+    $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'baz', 'value is correct';
+};
+
+subtest 'TestClass::From coercion OK' => sub {
+
+    my $tc;
+    my $tf = TestClass::From->new();
+    my $msg = exception { $tc = TestClass->new(bar => $tf) };
+    is $msg, undef, 'does not die on construction';
+    my $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'foo', 'value is correct';
+
+    $msg = exception { $tc->bar($tf) };
+    is $msg, undef, 'does not die on setting';
+    $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    # yeah, I know, just go with it for now
+    is "$bar", 'foo', 'value is correct';
+};
+
+done_testing;
@@ -0,0 +1,87 @@
+use strict;
+use warnings;
+
+{ package TestClass::From; use Moose; }
+
+my $i = 0;
+my $sc_trait;
+
+{
+    package TestClass;
+
+    use Moose;
+    use namespace::autoclean;
+    use MooseX::AttributeShortcuts;
+    use Path::Class;
+    use MooseX::Types::Path::Class ':all';
+
+    $sc_trait = Shortcuts;
+
+    has bar => (
+        is     => 'rw',
+        isa    => File,
+        coerce => [
+            'TestClass::From' => sub { $i++; return file('foo') },
+            'Str'             => sub { $i++; file $_ },
+        ],
+    );
+}
+
+use Test::More;
+use Test::Moose::More 0.018;
+use Test::Fatal;
+use Path::Class;
+use MooseX::Types::Path::Class ':all';
+
+# TODO shift the constraint checking out into TMM?
+
+validate_class TestClass => (
+    attributes => [
+        bar => {
+            -does        => [ $sc_trait ],
+            reader       => undef,
+            writer       => undef,
+            accessor     => 'bar',
+            isa          => File,
+            original_isa => 'MooseX::Types::Path::Class::File',
+            coerce       => 1,
+            required     => undef,
+        },
+    ],
+);
+
+subtest 'Str coercion OK' => sub {
+
+    my $tc;
+    my $msg = exception { $tc = TestClass->new(bar => 'foo') };
+    is $msg, undef, 'does not die on construction';
+    my $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'foo', 'value is correct';
+
+    $msg = exception { $tc->bar('baz') };
+    is $msg, undef, 'does not die on setting';
+    $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'baz', 'value is correct';
+};
+
+subtest 'TestClass::From coercion OK' => sub {
+
+    my $tc;
+    my $tf = TestClass::From->new();
+    my $msg = exception { $tc = TestClass->new(bar => $tf) };
+    is $msg, undef, 'does not die on construction';
+    my $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'foo', 'value is correct';
+
+    $msg = exception { $tc->bar($tf) };
+    is $msg, undef, 'does not die on setting';
+    $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    # yeah, I know, just go with it for now
+    is "$bar", 'foo', 'value is correct';
+};
+
+done_testing;
@@ -53,6 +53,7 @@ subtest 'value NOT OK' => sub {
 
     my $tc;
     my $msg = exception { $tc = TestClass->new(bar => -10) };
+    ok !!$msg, 'dies on bad value';
     like $msg, $error, 'dies with expected message';
 
     $msg = exception { $tc = TestClass->new(bar => 10) };
@@ -60,6 +61,7 @@ subtest 'value NOT OK' => sub {
     is $tc->bar, 10, 'value is correct';
 
     $msg = exception { $tc->bar(-10) };
+    ok !!$msg, 'dies on bad value';
     like $msg, $error, 'dies with expected message';
 };
 
@@ -0,0 +1,81 @@
+use strict;
+use warnings;
+
+{
+    package TestClass;
+
+    use Moose;
+    use namespace::autoclean;
+    use MooseX::AttributeShortcuts;
+
+    use MooseX::Types::Path::Class ':all';
+
+    has bar => (
+        is         => 'rw',
+        isa        => File,
+        coerce     => 1,
+        constraint => sub { "$_" =~ /foo|baz/ },
+    );
+}
+
+use Test::More;
+use Test::Moose::More 0.018;
+use Test::Fatal;
+use Path::Class;
+use MooseX::Types::Path::Class ':all';
+
+# TODO shift the constraint checking out into TMM?
+
+validate_class TestClass => (
+    attributes => [
+        bar => {
+            reader       => undef,
+            writer       => undef,
+            accessor     => 'bar',
+            original_isa => File,
+            coerce       => 1,
+            required     => undef,
+        },
+    ],
+);
+
+
+subtest 'value OK' => sub {
+
+    my $tc;
+    my $msg = exception { $tc = TestClass->new(bar => 'foo') };
+    is $msg, undef, 'does not die on construction';
+    my $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'foo', 'value is correct';
+
+    $msg = exception { $tc->bar('baz') };
+    is $msg, undef, 'does not die on setting';
+    $bar = $tc->bar;
+    isa_ok $bar, 'Path::Class::File';
+    is "$bar", 'baz', 'value is correct';
+};
+
+subtest 'value NOT OK' => sub {
+
+    my $error = qr/Attribute \(bar\) does not pass the type constraint/;
+
+    my $tc;
+    my $msg = exception { $tc = TestClass->new(bar => 'bip') };
+    ok !!$msg, 'dies on bad value';
+    like $msg, $error, 'dies with expected message';
+
+    $msg = exception { $tc = TestClass->new(bar => file('bip')) };
+    ok !!$msg, 'dies on bad value';
+    like $msg, $error, 'dies with expected message';
+
+    $tc = TestClass->new;
+    $msg = exception { $tc->bar('bip') };
+    ok !!$msg, 'dies on bad value';
+    like $msg, $error, 'dies with expected message';
+    $msg = exception { $tc->bar(file 'bip') };
+    ok !!$msg, 'dies on bad value';
+    like $msg, $error, 'dies with expected message';
+};
+
+done_testing;
@@ -1,43 +0,0 @@
-use strict;
-use warnings;
-
-{
-    package TestClass;
-
-    use Moose;
-    use namespace::autoclean;
-    use MooseX::AttributeShortcuts;
-
-    has bar => (is => 'ro',  isa_class => 'SomeClass');
-    has baz => (is => 'rwp', isa_role  => 'SomeRole');
-}
-
-use Test::More;
-use Test::Moose::More;
-
-# TODO shift the constraint checking out into TMM?
-
-validate_class TestClass => (
-    attributes => [ qw{ bar baz } ],
-);
-
-subtest 'isa_class check' => sub {
-    my $att = 'bar';
-    my $meta = TestClass->meta->get_attribute($att);
-    ok $meta->has_type_constraint, "$att has a type constraint";
-    my $tc = $meta->type_constraint;
-    isa_ok $tc, 'Moose::Meta::TypeConstraint::Class';
-    is $tc->class, 'SomeClass', 'tc looks for correct class';
-};
-
-subtest 'isa_role check' => sub {
-    my $att = 'baz';
-    my $meta = TestClass->meta->get_attribute($att);
-    ok $meta->has_type_constraint, "$att has a type constraint";
-    my $tc = $meta->type_constraint;
-    isa_ok $tc, 'Moose::Meta::TypeConstraint::Role';
-    is $tc->role, 'SomeRole', 'tc looks for correct role';
-};
-
-
-done_testing;
@@ -0,0 +1,32 @@
+use strict;
+use warnings;
+
+{
+    package TestClass;
+
+    use Moose;
+    use namespace::autoclean;
+    use MooseX::AttributeShortcuts;
+
+    has bar => (is => 'ro',  isa_instance_of => 'SomeClass');
+}
+
+use Test::More;
+use Test::Moose::More;
+
+# TODO shift the constraint checking out into TMM?
+
+validate_class TestClass => (
+    attributes => [ qw{ bar } ],
+);
+
+subtest 'isa_instance_of check' => sub {
+    my $att = 'bar';
+    my $meta = TestClass->meta->get_attribute($att);
+    ok $meta->has_type_constraint, "$att has a type constraint";
+    my $tc = $meta->type_constraint;
+    isa_ok $tc, 'Moose::Meta::TypeConstraint::Class';
+    is $tc->class, 'SomeClass', 'tc looks for correct class';
+};
+
+done_testing;
@@ -1,18 +0,0 @@
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval "use Test::ConsistentVersion";
-plan skip_all => "Test::ConsistentVersion required for this test"
-    if $@;
-
-Test::ConsistentVersion::check_consistent_versions();
@@ -1,16 +0,0 @@
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use strict;
-use warnings;
-use Test::More;
-
-eval 'use Test::EOL';
-plan skip_all => 'Test::EOL required' if $@;
-
-all_perl_files_ok({ trailing_whitespace => 1 });
@@ -1,25 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-#
-# This file is part of MooseX-AttributeShortcuts
-#
-# This software is Copyright (c) 2011 by Chris Weyl.
-#
-# This is free software, licensed under:
-#
-#   The GNU Lesser General Public License, Version 2.1, February 1999
-#
-
-use Test::More;
-
-eval "use Test::HasVersion";
-plan skip_all => "Test::HasVersion required for testing version numbers"
-  if $@;
-all_pm_version_ok();
@@ -1,31 +0,0 @@
-#!/usr/bin/env perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-#
-# This file is part of MooseX-AttributeShortcuts
-#
-# This software is Copyright (c) 2011 by Chris Weyl.
-#
-# This is free software, licensed under:
-#
-#   The GNU Lesser General Public License, Version 2.1, February 1999
-#
-
-use strict;
-use warnings;
-
-use Test::More 0.88;
-
-eval "use Test::NoSmartComments";
-plan skip_all => 'Test::NoSmartComments required for checking comment IQ'
-    if $@;
-
-no_smart_comments_in_all();
-
-done_testing();
@@ -1,16 +0,0 @@
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-use strict;
-use warnings;
-use Test::More;
-
-eval 'use Test::NoTabs';
-plan skip_all => 'Test::NoTabs required' if $@;
-
-all_perl_files_ok();
@@ -1,30 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-#
-# This file is part of MooseX-AttributeShortcuts
-#
-# This software is Copyright (c) 2011 by Chris Weyl.
-#
-# This is free software, licensed under:
-#
-#   The GNU Lesser General Public License, Version 2.1, February 1999
-#
-
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
-  if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
-  if $@;
-
-all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
@@ -1,24 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-#
-# This file is part of MooseX-AttributeShortcuts
-#
-# This software is Copyright (c) 2011 by Chris Weyl.
-#
-# This is free software, licensed under:
-#
-#   The GNU Lesser General Public License, Version 2.1, February 1999
-#
-use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
-
-all_pod_files_ok();
@@ -1,25 +0,0 @@
-#!perl
-
-BEGIN {
-  unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
-  }
-}
-
-#
-# This file is part of MooseX-AttributeShortcuts
-#
-# This software is Copyright (c) 2011 by Chris Weyl.
-#
-# This is free software, licensed under:
-#
-#   The GNU Lesser General Public License, Version 2.1, February 1999
-#
-
-use Test::More;
-
-eval 'use Test::Portability::Files';
-plan skip_all => 'Test::Portability::Files required for testing portability'
-    if $@;
-run_tests();
@@ -0,0 +1,33 @@
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006002
+use Test::Spelling 0.12;
+use Pod::Wordlist;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib  ) );
+__DATA__
+AFAICT
+ABEND
+RSRCHBOY
+RSRCHBOY's
+gpg
+ini
+metaclass
+metaclasses
+parameterized
+parameterization
+subclasses
+coderef
+Chris
+Weyl
+cweyl
+David
+Steinbrunner
+dsteinbrunner
+lib
+MooseX
+AttributeShortcuts
@@ -0,0 +1,10 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+eval "use Test::ConsistentVersion";
+plan skip_all => "Test::ConsistentVersion required for this test"
+    if $@;
+
+Test::ConsistentVersion::check_consistent_versions();
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+use Test::More;
+
+eval 'use Test::EOL';
+plan skip_all => 'Test::EOL required' if $@;
+
+all_perl_files_ok({ trailing_whitespace => 1 });
@@ -0,0 +1,17 @@
+#!perl
+#
+# This file is part of MooseX-AttributeShortcuts
+#
+# This software is Copyright (c) 2011 by Chris Weyl.
+#
+# This is free software, licensed under:
+#
+#   The GNU Lesser General Public License, Version 2.1, February 1999
+#
+
+use Test::More;
+
+eval "use Test::HasVersion";
+plan skip_all => "Test::HasVersion required for testing version numbers"
+  if $@;
+all_pm_version_ok();
@@ -0,0 +1,17 @@
+#!perl
+#
+# This file is part of MooseX-AttributeShortcuts
+#
+# This software is Copyright (c) 2011 by Chris Weyl.
+#
+# This is free software, licensed under:
+#
+#   The GNU Lesser General Public License, Version 2.1, February 1999
+#
+
+use Test::More;
+
+eval "use Test::MinimumVersion";
+plan skip_all => "Test::MinimumVersion required for testing minimum versions"
+  if $@;
+all_minimum_version_ok( qq{5.008008} );
@@ -0,0 +1,23 @@
+#!/usr/bin/env perl
+#
+# This file is part of MooseX-AttributeShortcuts
+#
+# This software is Copyright (c) 2011 by Chris Weyl.
+#
+# This is free software, licensed under:
+#
+#   The GNU Lesser General Public License, Version 2.1, February 1999
+#
+
+use strict;
+use warnings;
+
+use Test::More 0.88;
+
+eval "use Test::NoSmartComments";
+plan skip_all => 'Test::NoSmartComments required for checking comment IQ'
+    if $@;
+
+no_smart_comments_in_all();
+
+done_testing();
@@ -0,0 +1,14 @@
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.06
+
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+    'lib/MooseX/AttributeShortcuts.pm'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
@@ -0,0 +1,16 @@
+#!perl
+#
+# This file is part of MooseX-AttributeShortcuts
+#
+# This software is Copyright (c) 2011 by Chris Weyl.
+#
+# This is free software, licensed under:
+#
+#   The GNU Lesser General Public License, Version 2.1, February 1999
+#
+# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.
+
+use Test::Pod::Coverage 1.08;
+use Pod::Coverage::TrustPod;
+
+all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
@@ -0,0 +1,29 @@
+#!perl
+#
+# This file is part of MooseX-AttributeShortcuts
+#
+# This software is Copyright (c) 2011 by Chris Weyl.
+#
+# This is free software, licensed under:
+#
+#   The GNU Lesser General Public License, Version 2.1, February 1999
+#
+
+use strict;
+use warnings;
+use Test::More;
+
+foreach my $env_skip ( qw(
+  SKIP_POD_LINKCHECK
+) ){
+  plan skip_all => "\$ENV{$env_skip} is set, skipping"
+    if $ENV{$env_skip};
+}
+
+eval "use Test::Pod::LinkCheck";
+if ( $@ ) {
+  plan skip_all => 'Test::Pod::LinkCheck required for testing POD';
+}
+else {
+  Test::Pod::LinkCheck->new->all_pod_ok;
+}
@@ -0,0 +1,15 @@
+#!perl
+#
+# This file is part of MooseX-AttributeShortcuts
+#
+# This software is Copyright (c) 2011 by Chris Weyl.
+#
+# This is free software, licensed under:
+#
+#   The GNU Lesser General Public License, Version 2.1, February 1999
+#
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+use Test::More;
+use Test::Pod 1.41;
+
+all_pod_files_ok();