Pod-Weaver

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        - throw a (helpful?) exception when %m is used in a version format, but
          no package was found in the file

        - the Legal plugin can now be given the filename in which the dist's
          full license can be found (thanks, APOCAL!)

3.101633  2011-09-19 15:48:16 America/New_York
        - speed up performance by changing how we use PPI (thanks, Dave Rolsky)

3.101632  2010-10-19 07:49:32 America/New_York
        - add missing DateTime prereq

3.101631  2010-10-14 23:00:19 America/New_York
        - Name section now looks for a PODNAME comment if no package is found
          (hanekomu)

        - Added a Bugs section (thanks, David Golden)

        - Version, Region, and Generic are all more configurable (thanks,
          Apocalypse)

META.json  view on Meta::CPAN

            "Test::Pod" : "1.41"
         }
      },
      "runtime" : {
         "requires" : {
            "Config::MVP" : "2",
            "Config::MVP::Assembler" : "0",
            "Config::MVP::Assembler::WithBundles" : "0",
            "Config::MVP::Reader::Finder" : "0",
            "Config::MVP::Reader::INI" : "0",
            "DateTime" : "0",
            "File::Spec" : "0",
            "List::MoreUtils" : "0",
            "List::Util" : "1.33",
            "Log::Dispatchouli" : "1.100710",
            "Mixin::Linewise::Readers" : "0.103",
            "Module::Runtime" : "0",
            "Moose" : "0",
            "Moose::Role" : "0",
            "Moose::Util::TypeConstraints" : "0",
            "Params::Util" : "0",

META.yml  view on Meta::CPAN

meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: Pod-Weaver
requires:
  Config::MVP: '2'
  Config::MVP::Assembler: '0'
  Config::MVP::Assembler::WithBundles: '0'
  Config::MVP::Reader::Finder: '0'
  Config::MVP::Reader::INI: '0'
  DateTime: '0'
  File::Spec: '0'
  List::MoreUtils: '0'
  List::Util: '1.33'
  Log::Dispatchouli: '1.100710'
  Mixin::Linewise::Readers: '0.103'
  Module::Runtime: '0'
  Moose: '0'
  Moose::Role: '0'
  Moose::Util::TypeConstraints: '0'
  Params::Util: '0'

Makefile.PL  view on Meta::CPAN

  "DISTNAME" => "Pod-Weaver",
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.020000",
  "NAME" => "Pod::Weaver",
  "PREREQ_PM" => {
    "Config::MVP" => 2,
    "Config::MVP::Assembler" => 0,
    "Config::MVP::Assembler::WithBundles" => 0,
    "Config::MVP::Reader::Finder" => 0,
    "Config::MVP::Reader::INI" => 0,
    "DateTime" => 0,
    "File::Spec" => 0,
    "List::MoreUtils" => 0,
    "List::Util" => "1.33",
    "Log::Dispatchouli" => "1.100710",
    "Mixin::Linewise::Readers" => "0.103",
    "Module::Runtime" => 0,
    "Moose" => 0,
    "Moose::Role" => 0,
    "Moose::Util::TypeConstraints" => 0,
    "Params::Util" => 0,

Makefile.PL  view on Meta::CPAN

  }
);


my %FallbackPrereqs = (
  "Config::MVP" => 2,
  "Config::MVP::Assembler" => 0,
  "Config::MVP::Assembler::WithBundles" => 0,
  "Config::MVP::Reader::Finder" => 0,
  "Config::MVP::Reader::INI" => 0,
  "DateTime" => 0,
  "ExtUtils::MakeMaker" => 0,
  "File::Spec" => 0,
  "List::MoreUtils" => 0,
  "List::Util" => "1.33",
  "Log::Dispatchouli" => "1.100710",
  "Mixin::Linewise::Readers" => "0.103",
  "Module::Runtime" => 0,
  "Moose" => 0,
  "Moose::Role" => 0,
  "Moose::Util::TypeConstraints" => 0,

lib/Pod/Weaver/Section/Version.pm  view on Meta::CPAN

#pod (default: "VERSION")
#pod
#pod =cut

has header => (
  is      => 'ro',
  isa     => 'Str',
  default => 'VERSION',
);

use DateTime;

{
  # This is irritating.
  #
  # Moose::Util::TypeConstraints will turn on strict and warnings.  This will
  # undermine the setup that "use experimental" did above.  So I could move
  # this above my boilerplate pragmata.  But this is annoying too, where the
  # order of libraries is based on largely invisible factors.  I now believe
  # that "Moose stuff turns on strict!" was a mistake, even if a
  # well-intentioned one.  So it goes.

lib/Pod/Weaver/Section/Version.pm  view on Meta::CPAN


  input_processor => 'require_single_input',
  string_replacer => 'method_replace',
  codes => {
    v => sub { $_[0]->{version} },
    V => sub { $_[0]->{version}
                . ($_[0]->{is_trial}
                   ? (defined $_[1] ? $_[1] : '-TRIAL') : '') },

    d => sub {
      use_module( 'DateTime', '0.44' ); # CLDR fixes
      DateTime->from_epoch(epoch => $^T, time_zone => $_[0]->{self}->time_zone)
              ->format_cldr($_[1]),
    },
    r => sub { $_[0]->{zilla}->name },
    m => sub {
      return $_[0]->{module} if defined $_[0]->{module};
      $_[0]->{self}->log_fatal([
        "%%m format used for Version section, but no package declaration found in %s",
        $_[0]->{filename},
      ]);
    },

lib/Pod/Weaver/Section/Version.pm  view on Meta::CPAN

#pod Default: version %v
#pod
#pod The following variables are available:
#pod
#pod =begin :list
#pod
#pod * v - the version
#pod
#pod * V - the version, suffixed by "-TRIAL" if a trial release
#pod
#pod * d - the CLDR format for L<DateTime>
#pod
#pod * n - a newline
#pod
#pod * t - a tab
#pod
#pod * s - a space
#pod
#pod * r - the name of the dist, present only if you use L<Dist::Zilla> to generate
#pod       the POD!
#pod

lib/Pod/Weaver/Section/Version.pm  view on Meta::CPAN

#pod =cut

has is_verbatim => (
  is  => 'ro',
  isa => 'Bool',
  default => 0,
);

#pod =attr time_zone
#pod
#pod The timezone to use when using L<DateTime> for the format.
#pod
#pod Default: local
#pod
#pod =cut

has time_zone => (
  is  => 'ro',
  isa => 'Str', # should be more validated later -- apocal
  default => 'local',
);

lib/Pod/Weaver/Section/Version.pm  view on Meta::CPAN

=item *

v - the version

=item *

V - the version, suffixed by "-TRIAL" if a trial release

=item *

d - the CLDR format for L<DateTime>

=item *

n - a newline

=item *

t - a tab

=item *

lib/Pod/Weaver/Section/Version.pm  view on Meta::CPAN

  format = %T This is a trial release!

=head2 is_verbatim

A boolean value specifying whether the version paragraph should be verbatim or not.

Default: false

=head2 time_zone

The timezone to use when using L<DateTime> for the format.

Default: local

=head1 METHODS

=head2 build_content

  my @pod_elements = $section->build_content(\%input);

This method is passed the same C<\%input> that goes to the C<weave_section>

t/00-report-prereqs.dd  view on Meta::CPAN

                                      'Test::Pod' => '1.41'
                                    }
                    },
       'runtime' => {
                      'requires' => {
                                      'Config::MVP' => '2',
                                      'Config::MVP::Assembler' => '0',
                                      'Config::MVP::Assembler::WithBundles' => '0',
                                      'Config::MVP::Reader::Finder' => '0',
                                      'Config::MVP::Reader::INI' => '0',
                                      'DateTime' => '0',
                                      'File::Spec' => '0',
                                      'List::MoreUtils' => '0',
                                      'List::Util' => '1.33',
                                      'Log::Dispatchouli' => '1.100710',
                                      'Mixin::Linewise::Readers' => '0.103',
                                      'Module::Runtime' => '0',
                                      'Moose' => '0',
                                      'Moose::Role' => '0',
                                      'Moose::Util::TypeConstraints' => '0',
                                      'Params::Util' => '0',

t/version_options.t  view on Meta::CPAN


use Pod::Elemental;
use Pod::Weaver;

# Test various combinations of options for Section::Version
do_weave( configer( ), 'version_t1' );
do_weave( configer( is_verbatim => 1 ), 'version_t2' );
do_weave( configer( format => "%v FOOBAZ" ), 'version_t3' );
do_weave( configer( format => "%t%v%t-%t%m", is_verbatim => 1 ), 'version_t4' );

# In order to test DateTime, we have to avoid touching the time! Hence UTC and
# the weird CLDR here...
do_weave(
  configer( format => "%v - %{ZZZZ G}d", time_zone => 'UTC' ),
  'version_t5',
);

do_weave(
  configer( format => ["%v", "FOOBAZ", "", "EXPLANATION"] ),
  'version_t6',
);



( run in 0.280 second using v1.01-cache-2.11-cpan-131fc08a04b )