r66406 - in /trunk/libhtml-widgets-navmenu-perl: ./ debian/ debian/patches/ debian/source/ lib/HTML/Widgets/ lib/HTML/Widgets/NavMenu/ lib/HTML/Widgets/NavMenu/Iterator/ lib/HTML/Widgets/NavMenu/Iterator/NavMenu/ lib/HTML/Widgets/NavMenu/Tree/ lib/HTML/Widgets/NavMenu/Tree/Iterator/ t/

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Sat Dec 25 23:50:51 UTC 2010


Author: jawnsy-guest
Date: Sat Dec 25 23:50:45 2010
New Revision: 66406

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=66406
Log:
builds clean, looks good, dch -r

Added:
    trunk/libhtml-widgets-navmenu-perl/debian/patches/
    trunk/libhtml-widgets-navmenu-perl/debian/patches/fix-pod-spelling.patch
    trunk/libhtml-widgets-navmenu-perl/debian/patches/series
    trunk/libhtml-widgets-navmenu-perl/debian/source/
    trunk/libhtml-widgets-navmenu-perl/debian/source/format
    trunk/libhtml-widgets-navmenu-perl/tag-release.pl
      - copied unchanged from r66400, branches/upstream/libhtml-widgets-navmenu-perl/current/tag-release.pl
Modified:
    trunk/libhtml-widgets-navmenu-perl/Build.PL
    trunk/libhtml-widgets-navmenu-perl/Changes
    trunk/libhtml-widgets-navmenu-perl/MANIFEST
    trunk/libhtml-widgets-navmenu-perl/META.yml
    trunk/libhtml-widgets-navmenu-perl/Makefile.PL
    trunk/libhtml-widgets-navmenu-perl/debian/changelog
    trunk/libhtml-widgets-navmenu-perl/debian/compat
    trunk/libhtml-widgets-navmenu-perl/debian/control
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/ExpandVal.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/Base.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu/HeaderRole.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Object.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Predicate.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/TagGen.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Item.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Stack.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Node.pm
    trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Url.pm
    trunk/libhtml-widgets-navmenu-perl/t/08tree-node.t

Modified: trunk/libhtml-widgets-navmenu-perl/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/Build.PL?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/Build.PL (original)
+++ trunk/libhtml-widgets-navmenu-perl/Build.PL Sat Dec 25 23:50:45 2010
@@ -8,10 +8,14 @@
 
 my $build = Test::Run::Builder->new(
     'module_name' => "HTML::Widgets::NavMenu",
+    configure_requires =>
+    {
+        'Module::Build' => '0.36',
+    },
     'requires' => 
     {
         'Test::More' => 0,
-        'Class::Accessor' => 0,
+        'Class::XSAccessor' => 0,
         'perl' => "5.6.1",
         'IO::Scalar' => 0,
     },
@@ -55,5 +59,6 @@
             "xhtml",
         ],
     },
+    create_makefile_pl => 'traditional',
 );
 $build->create_build_script;

Modified: trunk/libhtml-widgets-navmenu-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/Changes?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/Changes (original)
+++ trunk/libhtml-widgets-navmenu-perl/Changes Sat Dec 25 23:50:45 2010
@@ -1,4 +1,12 @@
 Revision history for Perl extension Shlomif::NavMenu.
+
+1.0501    Sun Nov 14 12:11:19 IST 2010
+    - Now generating the Makefile.PL from the Build.PL using 
+    create_makefile_pl (less error-prone).
+
+1.0500    Fri Nov 12 20:43:08 IST 2010
+    - Convert from Class::Accessor to Class::XSAccessor for extra speed.
+    - Add the tag-release.pl file.
 
 1.0400    Wed Dec  9 11:44:05 IST 2009
     - Got rid of the dependency on Error.pm.

Modified: trunk/libhtml-widgets-navmenu-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/MANIFEST?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/MANIFEST (original)
+++ trunk/libhtml-widgets-navmenu-perl/MANIFEST Sat Dec 25 23:50:45 2010
@@ -48,6 +48,7 @@
 t/16redirect.t
 t/17nav-coords-unit.t
 t/18url.t
+tag-release.pl
 t/lib/HTML/Widgets/NavMenu/Test/Data.pm
 t/lib/HTML/Widgets/NavMenu/Test/Stdout.pm
 t/lib/HTML/Widgets/NavMenu/Test/Util.pm

Modified: trunk/libhtml-widgets-navmenu-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/META.yml?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/META.yml (original)
+++ trunk/libhtml-widgets-navmenu-perl/META.yml Sat Dec 25 23:50:45 2010
@@ -1,27 +1,48 @@
 ---
+abstract: 'A Perl Module for Generating HTML Navigation Menus'
+author:
+  - "Shlomi Fish E<lt>shlomif at iglu.org.ilE<gt> \n(L<http://search.cpan.org/~shlomif/>)."
+configure_requires:
+  Module::Build: 0.36
+generated_by: 'Module::Build version 0.3617'
+keywords:
+  - arrows
+  - bar
+  - breadcrumbs
+  - css
+  - expand
+  - hidden
+  - html
+  - menu
+  - menus
+  - nav-bar
+  - navbar
+  - navigation
+  - 'navigation aids'
+  - nav-menu
+  - navmenu
+  - next
+  - prev
+  - previous
+  - pure-perl
+  - site-map
+  - skipped
+  - trail
+  - tree
+  - unexpand
+  - up
+  - widget
+  - widgets
+  - xhtml
+license: mit
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
 name: HTML-Widgets-NavMenu
-version: 1.0400
-author:
-  - |-
-    Shlomi Fish E<lt>shlomif at iglu.org.ilE<gt> 
-    (L<http://search.cpan.org/~shlomif/>).
-abstract: A Perl Module for Generating HTML Navigation Menus
-license: mit
-resources:
-  homepage: http://web-cpan.berlios.de/modules/HTML-Widgets-NavMenu/
-  license: http://www.opensource.org/licenses/mit-license.php
-  repository: http://svn.berlios.de/svnroot/repos/web-cpan/nav-menu/
-requires:
-  Class::Accessor: 0
-  IO::Scalar: 0
-  Test::More: 0
-  perl: v5.6.1
-configure_requires:
-  Module::Build: 0.35
 provides:
   HTML::Widgets::NavMenu:
     file: lib/HTML/Widgets/NavMenu.pm
-    version: 1.0400
+    version: 1.0501
   HTML::Widgets::NavMenu::Error:
     file: lib/HTML/Widgets/NavMenu.pm
   HTML::Widgets::NavMenu::Error::Redirect:
@@ -66,36 +87,13 @@
     file: lib/HTML/Widgets/NavMenu/Tree/Node.pm
   HTML::Widgets::NavMenu::Url:
     file: lib/HTML/Widgets/NavMenu/Url.pm
-generated_by: Module::Build version 0.35
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-keywords:
-  - arrows
-  - bar
-  - breadcrumbs
-  - css
-  - expand
-  - hidden
-  - html
-  - menu
-  - menus
-  - nav-bar
-  - navbar
-  - navigation
-  - navigation aids
-  - nav-menu
-  - navmenu
-  - next
-  - prev
-  - previous
-  - pure-perl
-  - site-map
-  - skipped
-  - trail
-  - tree
-  - unexpand
-  - up
-  - widget
-  - widgets
-  - xhtml
+requires:
+  Class::XSAccessor: 0
+  IO::Scalar: 0
+  Test::More: 0
+  perl: v5.6.1
+resources:
+  homepage: http://web-cpan.berlios.de/modules/HTML-Widgets-NavMenu/
+  license: http://www.opensource.org/licenses/mit-license.php
+  repository: http://svn.berlios.de/svnroot/repos/web-cpan/nav-menu/
+version: 1.0501

Modified: trunk/libhtml-widgets-navmenu-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/Makefile.PL?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/Makefile.PL (original)
+++ trunk/libhtml-widgets-navmenu-perl/Makefile.PL Sat Dec 25 23:50:45 2010
@@ -1,18 +1,17 @@
-use 5.006;
+# Note: this file was auto-generated by Module::Build::Compat version 0.36_17
+require 5.006001;
 use ExtUtils::MakeMaker;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-WriteMakefile(
-    NAME              => 'HTML::Widgets::NavMenu',
-    VERSION_FROM      => 'lib/HTML/Widgets/NavMenu.pm', # finds $VERSION
-    PREREQ_PM         =>
-    {
-        'Test::More' => 0,
-        'Class::Accessor' => 0,
-        'Error' => 0,
-        'IO::Scalar' => 0,
-    },
-    PL_FILES         => +{},
-    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
-      (AUTHOR         => 'Shlomi Fish <shlomif at iglu.org.il>') : ()),
-);
+WriteMakefile
+(
+          'NAME' => 'HTML::Widgets::NavMenu',
+          'VERSION_FROM' => 'lib/HTML/Widgets/NavMenu.pm',
+          'PREREQ_PM' => {
+                           'Class::XSAccessor' => 0,
+                           'IO::Scalar' => 0,
+                           'Test::More' => 0
+                         },
+          'INSTALLDIRS' => 'site',
+          'EXE_FILES' => [],
+          'PL_FILES' => {}
+        )
+;

Modified: trunk/libhtml-widgets-navmenu-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/debian/changelog?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/debian/changelog (original)
+++ trunk/libhtml-widgets-navmenu-perl/debian/changelog Sat Dec 25 23:50:45 2010
@@ -1,3 +1,15 @@
+libhtml-widgets-navmenu-perl (1.0501-1) unstable; urgency=low
+
+  * New upstream release
+    + Performance improvement: Class::XSAccessor used now
+  * Use debhelper 8 and build using Module::Build (prevents the
+    installation of tag-release.pl)
+  * Add patch to fix POD spelling
+  * Standards-Version 3.9.1 (no changes)
+  * Use new 3.0 (quilt) source format
+
+ -- Jonathan Yu <jawnsy at cpan.org>  Sat, 25 Dec 2010 19:07:11 -0500
+
 libhtml-widgets-navmenu-perl (1.0400-1) unstable; urgency=low
 
   [ Jonathan Yu ]

Modified: trunk/libhtml-widgets-navmenu-perl/debian/compat
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/debian/compat?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/debian/compat (original)
+++ trunk/libhtml-widgets-navmenu-perl/debian/compat Sat Dec 25 23:50:45 2010
@@ -1,1 +1,1 @@
-7
+8

Modified: trunk/libhtml-widgets-navmenu-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/debian/control?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/debian/control (original)
+++ trunk/libhtml-widgets-navmenu-perl/debian/control Sat Dec 25 23:50:45 2010
@@ -1,20 +1,20 @@
 Source: libhtml-widgets-navmenu-perl
 Section: perl
 Priority: optional
-Build-Depends: debhelper (>= 7)
+Build-Depends: debhelper (>= 8)
 Build-Depends-Indep: perl, libio-stringy-perl,
- libclass-accessor-perl, libtest-pod-perl, libtest-pod-coverage-perl
+ libclass-xsaccessor-perl, libtest-pod-perl, libtest-pod-coverage-perl
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
 Uploaders: Ryan Niebur <ryan at debian.org>, Jonathan Yu <jawnsy at cpan.org>
-Standards-Version: 3.8.3
+Standards-Version: 3.9.1
 Homepage: http://search.cpan.org/dist/HTML-Widgets-NavMenu/
 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libhtml-widgets-navmenu-perl/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/
 
 Package: libhtml-widgets-navmenu-perl
 Architecture: all
-Depends: ${perl:Depends}, ${misc:Depends},
- libio-stringy-perl, libclass-accessor-perl
+Depends: ${perl:Depends}, ${misc:Depends}, libclass-xsaccessor-perl,
+ libio-stringy-perl
 Description: module for generating HTML navigation menus
  HTML::Widgets::NavMenu generates a navigation menu for a site. It can also
  generate a complete site map, a path of leading components, and also keeps

Added: trunk/libhtml-widgets-navmenu-perl/debian/patches/fix-pod-spelling.patch
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/debian/patches/fix-pod-spelling.patch?rev=66406&op=file
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/debian/patches/fix-pod-spelling.patch (added)
+++ trunk/libhtml-widgets-navmenu-perl/debian/patches/fix-pod-spelling.patch Sat Dec 25 23:50:45 2010
@@ -1,0 +1,15 @@
+Description: fix POD spelling
+Author: Jonathan Yu <jawnsy at cpan.org>
+Origin: vendor
+Forwarded: no
+--- a/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm
++++ b/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm
+@@ -165,7 +165,7 @@
+ 
+ =head2 $self->get_node_from_sub()
+ 
+-This function can be overriden to generate a node from the sub-nodes
++This function can be overridden to generate a node from the sub-nodes
+ returned by get_node_subs() in a different way than the default.
+ 
+ =cut

Added: trunk/libhtml-widgets-navmenu-perl/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/debian/patches/series?rev=66406&op=file
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/debian/patches/series (added)
+++ trunk/libhtml-widgets-navmenu-perl/debian/patches/series Sat Dec 25 23:50:45 2010
@@ -1,0 +1,1 @@
+fix-pod-spelling.patch

Added: trunk/libhtml-widgets-navmenu-perl/debian/source/format
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/debian/source/format?rev=66406&op=file
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/debian/source/format (added)
+++ trunk/libhtml-widgets-navmenu-perl/debian/source/format Sat Dec 25 23:50:45 2010
@@ -1,0 +1,1 @@
+3.0 (quilt)

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu.pm Sat Dec 25 23:50:45 2010
@@ -3,7 +3,7 @@
 
 package HTML::Widgets::NavMenu;
 
-our $VERSION = '1.0400';
+our $VERSION = '1.0501';
 
 package HTML::Widgets::NavMenu::Error;
 
@@ -31,8 +31,8 @@
 
 use base qw(HTML::Widgets::NavMenu::Object);
 
-__PACKAGE__->mk_accessors(
-    qw(host host_url title label direct_url url_type)
+__PACKAGE__->mk_acc_ref([
+    qw(host host_url title label direct_url url_type)]
     );
 
 sub _init
@@ -41,7 +41,7 @@
 
     while (my ($k, $v) = each(%$args))
     {
-        $self->set($k,$v);
+        $self->$k($v);
     }
     
     return 0;
@@ -59,13 +59,13 @@
 
 use base 'HTML::Widgets::NavMenu::Iterator::Base';
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _item_found
     _leading_path_coords
     _ret_coords
     _temp_coords
     _tree
-    ));
+    )]);
 
 sub _init
 {
@@ -178,7 +178,7 @@
 require HTML::Widgets::NavMenu::Tree::Node;
 require HTML::Widgets::NavMenu::Predicate;
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _current_coords
     current_host
     _hosts
@@ -188,7 +188,7 @@
     _traversed_tree
     _tree_contents
     _ul_classes
-    ));
+    )]);
 
 sub _init
 {

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/ExpandVal.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/ExpandVal.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/ExpandVal.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/ExpandVal.pm Sat Dec 25 23:50:45 2010
@@ -5,8 +5,8 @@
 
 use base 'HTML::Widgets::NavMenu::Object';
 
-__PACKAGE__->mk_accessors(
-    qw(_capture),
+__PACKAGE__->mk_acc_ref([
+    qw(_capture)],
     );
 
 sub _init

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/Base.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/Base.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/Base.pm Sat Dec 25 23:50:45 2010
@@ -5,10 +5,10 @@
 
 use base qw(HTML::Widgets::NavMenu::Tree::Iterator);
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _html
     nav_menu
-    ));
+    )]);
 
 =head1 NAME
 
@@ -19,6 +19,11 @@
 For internal use only.
 
 =head1 METHODS
+
+=head2 nav_menu
+
+Internal use.
+
 =cut
 
 sub _init

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu.pm Sat Dec 25 23:50:45 2010
@@ -7,9 +7,9 @@
 
 use HTML::Widgets::NavMenu::EscapeHtml;
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _ul_classes
-    ));
+    )]);
 
 =head1 NAME
 

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu/HeaderRole.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu/HeaderRole.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu/HeaderRole.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Iterator/NavMenu/HeaderRole.pm Sat Dec 25 23:50:45 2010
@@ -5,9 +5,9 @@
 
 use base qw(HTML::Widgets::NavMenu::Iterator::NavMenu);
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _was_role
-));
+)]);
 
 =head1 NAME
 

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Object.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Object.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Object.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Object.pm Sat Dec 25 23:50:45 2010
@@ -3,14 +3,14 @@
 use strict;
 use warnings;
 
-use base 'Class::Accessor';
+use Class::XSAccessor;
 
 sub new
 {
     my $class = shift;
     my $self = {};
     
-    bless($self, $class);
+    bless $self, $class;
     
     $self->_init(@_);
     
@@ -36,6 +36,45 @@
     my $self = shift;
     
     $self->destroy_();
+}
+
+
+=head2 __PACKAGE__->mk_accessors(qw(method1 method2 method3))
+
+Equivalent to L<Class::Accessor>'s mk_accessors only using Class::XSAccessor.
+It beats running an ugly script on my code, and can be done at run-time.
+
+Gotta love dynamic languages like Perl 5.
+
+=cut
+
+sub mk_accessors
+{
+    my $package = shift;
+    return $package->mk_acc_ref([@_]); 
+}
+
+=head2 __PACKAGE__->mk_acc_ref([qw(method1 method2 method3)])
+
+Creates the accessors in the array-ref of names at run-time.
+
+=cut
+
+sub mk_acc_ref
+{
+    my $package = shift;
+    my $names = shift;
+
+    my $mapping = +{ map { $_ => $_ } @$names };
+
+    eval <<"EOF";
+package $package;
+
+Class::XSAccessor->import(
+    accessors => \$mapping,            
+);
+EOF
+
 }
 
 =head1 NAME

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Predicate.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Predicate.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Predicate.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Predicate.pm Sat Dec 25 23:50:45 2010
@@ -5,8 +5,8 @@
 
 use base 'HTML::Widgets::NavMenu::Object';
 
-__PACKAGE__->mk_accessors(
-    qw(type bool regexp callback capture),
+__PACKAGE__->mk_acc_ref([
+    qw(type bool regexp callback _capture)],
     );
 
 use HTML::Widgets::NavMenu::ExpandVal;
@@ -109,13 +109,14 @@
         die "Neither 'cb' nor 're' nor 'bool' were specified in the spec.";
     }
 
-    $self->capture(
+    $self->_capture(
         (
             (!exists($spec->{capt})) ? 1 : $spec->{capt}
         )
     );
 }
 
+
 sub _evaluate_bool
 {
     my ($self, $args) = @_;
@@ -156,7 +157,7 @@
     {
         return HTML::Widgets::NavMenu::ExpandVal->new(
             {
-                capture => $self->capture()
+                capture => $self->_capture()
             },
         );
     }
@@ -182,6 +183,22 @@
 Evaluates the predicate in the context of C<$path_info> and C<$current_host>
 and returns the result.
 
+=head2 $pred->type()
+
+The type of the predicate.
+
+=head2 $pred->bool()
+
+Sets/gets the boolean value in case the type is a boolean.
+
+=head2 $pred->callback()
+
+Sets/gets the callback in case the type is callback.
+
+=head2 $pred->regexp()
+
+Sets/gets the regular expression in case the type is "regexp".
+
 =head1 COPYRIGHT & LICENSE
 
 Copyright 2006 Shlomi Fish, all rights reserved.

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/TagGen.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/TagGen.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/TagGen.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/TagGen.pm Sat Dec 25 23:50:45 2010
@@ -7,8 +7,8 @@
 
 use HTML::Widgets::NavMenu::EscapeHtml;
 
-__PACKAGE__->mk_accessors(
-    qw(name attributes)
+__PACKAGE__->mk_acc_ref([
+    qw(name attributes)]
 );
 
 =head1 NAME
@@ -20,6 +20,15 @@
 For internal use only.
 
 =head1 METHODS
+
+=head2 name
+
+For internal use.
+
+=head2 attributes
+
+For internal use.
+
 =cut
 
 sub _init

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator.pm Sat Dec 25 23:50:45 2010
@@ -8,10 +8,10 @@
 use HTML::Widgets::NavMenu::Tree::Iterator::Stack;
 use HTML::Widgets::NavMenu::Tree::Iterator::Item;
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     coords
     stack
-    ));
+    )]);
 
 =head1 NAME
 
@@ -22,6 +22,15 @@
 For internal use only.
 
 =head1 METHODS
+
+=head2 coords
+
+Internal use.
+
+=head2 stack
+
+Internal use.
+
 =cut
 
 

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Item.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Item.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Item.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Item.pm Sat Dec 25 23:50:45 2010
@@ -5,13 +5,13 @@
 
 use base qw(HTML::Widgets::NavMenu::Object);
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _node
     _subs
     _sub_idx
     _visited
     _accum_state
-));
+)]);
 
 =head1 NAME
 

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Stack.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Stack.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Stack.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Iterator/Stack.pm Sat Dec 25 23:50:45 2010
@@ -5,7 +5,7 @@
 
 use base qw(HTML::Widgets::NavMenu::Object);
 
-__PACKAGE__->mk_accessors(qw(_items));
+__PACKAGE__->mk_acc_ref([qw(_items)]);
 
 sub _init
 {

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Node.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Node.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Node.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Tree/Node.pm Sat Dec 25 23:50:45 2010
@@ -5,9 +5,11 @@
 
 use base 'HTML::Widgets::NavMenu::Object';
 
-__PACKAGE__->mk_accessors(
-    qw(CurrentlyActive expanded hide host role rec_url_type),
-    qw(separator show_always skip subs text title url url_is_abs url_type),
+__PACKAGE__->mk_acc_ref([
+    qw(
+    CurrentlyActive expanded hide host role rec_url_type
+    separator show_always skip subs text title url url_is_abs url_type
+    )]
     );
 
 use HTML::Widgets::NavMenu::ExpandVal;
@@ -21,13 +23,78 @@
 For internal use only.
 
 =head1 METHODS
+
+=head2 CurrentlyActive
+
+Internal use.
+
+=head2 expanded
+
+Internal use.
+
+=head2 CurrentlyActive
+
+Internal use.
+
+=head2 hide
+
+Internal use.
+
+=head2 host
+
+Internal use.
+
+=head2 role
+
+Internal use.
+
+=head2 rec_url_type
+
+Internal use.
+
+=head2 separator
+
+Internal use.
+
+=head2 show_always
+
+Internal use.
+
+=head2 skip
+
+Internal use.
+
+=head2 subs
+
+Internal use.
+
+=head2 text
+
+Internal use.
+
+=head2 title
+
+Internal use.
+
+=head2 url
+
+Internal use.
+
+=head2 url_is_abs
+
+Internal use.
+
+=head2 url_type
+
+Internal use.
+
 =cut
 
 sub _init
 {
     my $self = shift;
 
-    $self->set("subs", []);
+    $self->subs([]);
 
     return $self;
 }
@@ -165,7 +232,7 @@
     {
         if (exists($sub_contents->{$key}))
         {
-            $self->set($key, $sub_contents->{$key});
+            $self->$key($sub_contents->{$key});
         }
     }
 
@@ -173,7 +240,7 @@
     {
         if ($sub_contents->{$key})
         {
-            $self->set($key, 1);
+            $self->$key(1);
         }
     }
 }

Modified: trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Url.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Url.pm?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Url.pm (original)
+++ trunk/libhtml-widgets-navmenu-perl/lib/HTML/Widgets/NavMenu/Url.pm Sat Dec 25 23:50:45 2010
@@ -5,11 +5,11 @@
 
 use base 'HTML::Widgets::NavMenu::Object';
 
-__PACKAGE__->mk_accessors(qw(
+__PACKAGE__->mk_acc_ref([qw(
     _url
     _is_dir
     _mode
-    ));
+    )]);
 
 =head1 NAME
 

Modified: trunk/libhtml-widgets-navmenu-perl/t/08tree-node.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libhtml-widgets-navmenu-perl/t/08tree-node.t?rev=66406&op=diff
==============================================================================
--- trunk/libhtml-widgets-navmenu-perl/t/08tree-node.t (original)
+++ trunk/libhtml-widgets-navmenu-perl/t/08tree-node.t Sat Dec 25 23:50:45 2010
@@ -12,17 +12,17 @@
     my $node = HTML::Widgets::NavMenu::Tree::Node->new();
     ok($node, "Constructing"); # TEST
 
-    $node->set("url", "Rabbi/Zalman/");
+    $node->url("Rabbi/Zalman/");
     is($node->url(), "Rabbi/Zalman/", "Testing for URL Setting"); # TEST
-    $node->set("text", "Trail of Innocence");
+    $node->text("Trail of Innocence");
     is($node->text(), "Trail of Innocence", "Testing for text"); # TEST
-    $node->set("show_always", 1);
+    $node->show_always(1);
     is($node->show_always(), 1, "Set/get show_always"); # TEST
-    $node->set("title", "It's Raining");
+    $node->title("It's Raining");
     is($node->title(), "It's Raining", "Set/get title"); # TEST
-    $node->set("host", "vipe");
+    $node->host("vipe");
     is($node->host(), "vipe", "Set/get host"); # TEST
-    $node->set("url_type", "site_abs");
+    $node->url_type("site_abs");
     is($node->url_type(), "site_abs", "Set/get url_type"); # TEST
 
     # Testing again for the same values to see that they are still OK.
@@ -39,7 +39,7 @@
     my $node = HTML::Widgets::NavMenu::Tree::Node->new();
 
     ok ((!$node->separator()), "Testing Node Separator - False"); # TEST
-    $node->set("separator", 1);
+    $node->separator(1);
     ok ($node->separator(), "Testing Node Separator - True"); # TEST
 }
 
@@ -47,7 +47,7 @@
     my $node = HTML::Widgets::NavMenu::Tree::Node->new();
 
     ok ((!$node->hide()), "Testing Node Hide - False"); # TEST
-    $node->set("hide", 1);
+    $node->hide(1);
     ok ($node->hide(), "Testing Node Hide - True"); # TEST
 }
 
@@ -57,7 +57,7 @@
     # TEST
     ok(!defined($node->role()), 
         "Testing that role is undeffed at start");
-    $node->set("role", "hoola");
+    $node->role("hoola");
     is($node->role(), "hoola", "Testing role setted value"); # TEST
 }
 
@@ -93,14 +93,14 @@
         "Testing emptiness of node->subs at start");
 
     my $sub_node1 = HTML::Widgets::NavMenu::Tree::Node->new();
-    $sub_node1->set("url", "Emperor/Kuzko/");
+    $sub_node1->url("Emperor/Kuzko/");
     $node->add_sub($sub_node1);
     # TEST
     is(scalar(@{$node->subs()}), 1, "node->subs len == 1");
     # TEST
     is($node->subs()->[0]->url(), "Emperor/Kuzko/", "node->subs contents");
     my $sub_node2 = HTML::Widgets::NavMenu::Tree::Node->new();
-    $sub_node2->set("url", "gimp/ressionist/");
+    $sub_node2->url("gimp/ressionist/");
     $node->add_sub($sub_node2);
     # TEST
     is(scalar(@{$node->subs()}), 2, "node->subs len == 2");




More information about the Pkg-perl-cvs-commits mailing list