[libclass-tiny-perl] 03/19: split out base class into Class::Tiny::Object
gregor herrmann
gregoa at debian.org
Sun May 31 14:03:11 UTC 2015
This is an automated email from the git hooks/post-receive script.
gregoa pushed a commit to annotated tag release-0.004
in repository libclass-tiny-perl.
commit 59c41c661a1cf5a50097894486675e262c62eb7c
Author: David Golden <dagolden at cpan.org>
Date: Tue Aug 20 16:19:56 2013 -0400
split out base class into Class::Tiny::Object
---
META.json | 4 ++++
lib/Class/Tiny.pm | 23 ++++++++++++++---------
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/META.json b/META.json
index 376ca51..52399e4 100644
--- a/META.json
+++ b/META.json
@@ -68,6 +68,10 @@
"Class::Tiny" : {
"file" : "lib/Class/Tiny.pm",
"version" : "0.004"
+ },
+ "Class::Tiny::Object" : {
+ "file" : "lib/Class/Tiny.pm",
+ "version" : "0.004"
}
},
"release_status" : "stable",
diff --git a/lib/Class/Tiny.pm b/lib/Class/Tiny.pm
index cf79a29..cf41441 100644
--- a/lib/Class/Tiny.pm
+++ b/lib/Class/Tiny.pm
@@ -8,27 +8,19 @@ package Class::Tiny;
use Carp ();
-if ( $] >= 5.010 ) {
- require "mro.pm"; ## no critic: hack to hide from min version & prereq scanners
-}
-else {
- require MRO::Compat;
-}
-
my %CLASS_ATTRIBUTES;
# adapted from Object::Tiny and Object::Tiny::RW
sub import {
no strict 'refs';
my $class = shift;
- return unless $class eq __PACKAGE__; # NOP for subclasses
my $pkg = caller;
my @attr = grep {
defined and !ref and /^[^\W\d]\w*$/s
or Carp::croak "Invalid accessor name '$_'"
} @_;
$CLASS_ATTRIBUTES{$pkg}{$_} = undef for @attr;
- @{"${pkg}::ISA"} = $class unless @{"${pkg}::ISA"};
+ @{"${pkg}::ISA"} = "Class::Tiny::Object" unless @{"${pkg}::ISA"};
#<<< No perltidy
eval join "\n", ## no critic: intentionally eval'ing subs here
"package $pkg;",
@@ -40,6 +32,19 @@ sub import {
return 1;
}
+package Class::Tiny::Object;
+# ABSTRACT: Base class for classes built with Class::Tiny
+# VERSION
+
+use Carp ();
+
+if ( $] >= 5.010 ) {
+ require "mro.pm"; ## no critic: hack to hide from min version & prereq scanners
+}
+else {
+ require MRO::Compat;
+}
+
sub new {
my $class = shift;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libclass-tiny-perl.git
More information about the Pkg-perl-cvs-commits
mailing list