[libclass-tiny-perl] 05/07: update dist.ini and support files

gregor herrmann gregoa at debian.org
Sun May 31 14:03:20 UTC 2015


This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to annotated tag release-0.007
in repository libclass-tiny-perl.

commit 202906fe7bcb7a0a4e90feeefee2013a1ee9deaf
Author: David Golden <dagolden at cpan.org>
Date:   Sat Sep 7 16:43:21 2013 -0400

    update dist.ini and support files
---
 META.json   |  99 -----------------
 README.mkdn |   1 +
 README.pod  | 357 ------------------------------------------------------------
 cpanfile    |  33 ++++++
 dist.ini    |   4 +-
 5 files changed, 35 insertions(+), 459 deletions(-)

diff --git a/META.json b/META.json
deleted file mode 100644
index 501d577..0000000
--- a/META.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
-   "abstract" : "Minimalist class construction",
-   "author" : [
-      "David Golden <dagolden at cpan.org>"
-   ],
-   "dynamic_config" : 1,
-   "generated_by" : "Dist::Zilla version 4.300037, CPAN::Meta::Converter version 2.132140",
-   "license" : [
-      "apache_2_0"
-   ],
-   "meta-spec" : {
-      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
-      "version" : "2"
-   },
-   "name" : "Class-Tiny",
-   "no_index" : {
-      "directory" : [
-         "t",
-         "xt",
-         "examples",
-         "corpus"
-      ],
-      "package" : [
-         "DB"
-      ]
-   },
-   "prereqs" : {
-      "configure" : {
-         "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
-         }
-      },
-      "develop" : {
-         "requires" : {
-            "Pod::Coverage::TrustPod" : "0",
-            "Test::CPAN::Meta" : "0",
-            "Test::Pod" : "1.41",
-            "Test::Pod::Coverage" : "1.08"
-         }
-      },
-      "runtime" : {
-         "requires" : {
-            "Carp" : "0",
-            "perl" : "5.008001",
-            "strict" : "0",
-            "warnings" : "0"
-         }
-      },
-      "test" : {
-         "recommends" : {
-            "Test::FailWarnings" : "0"
-         },
-         "requires" : {
-            "Exporter" : "0",
-            "ExtUtils::MakeMaker" : "0",
-            "File::Spec::Functions" : "0",
-            "File::Temp" : "0",
-            "IO::Handle" : "0",
-            "IPC::Open3" : "0",
-            "List::Util" : "0",
-            "Test::More" : "0.96",
-            "base" : "0",
-            "lib" : "0",
-            "subs" : "0"
-         }
-      }
-   },
-   "provides" : {
-      "Class::Tiny" : {
-         "file" : "lib/Class/Tiny.pm",
-         "version" : "0.006"
-      },
-      "Class::Tiny::Object" : {
-         "file" : "lib/Class/Tiny.pm",
-         "version" : "0.006"
-      }
-   },
-   "release_status" : "stable",
-   "resources" : {
-      "bugtracker" : {
-         "web" : "https://github.com/dagolden/class-tiny/issues"
-      },
-      "homepage" : "https://metacpan.org/release/Class-Tiny",
-      "repository" : {
-         "type" : "git",
-         "url" : "git://github.com/dagolden/class-tiny.git",
-         "web" : "https://github.com/dagolden/class-tiny"
-      }
-   },
-   "version" : "0.006",
-   "x_authority" : "cpan:DAGOLDEN",
-   "x_contributors" : [
-      "Karen Etheridge <ether at cpan.org>",
-      "Matt S Trout <mstrout at cpan.org>",
-      "Olivier Mengu\u00e9 <dolmen at cpan.org>",
-      "Toby Inkster <tobyink at cpan.org>"
-   ]
-}
-
diff --git a/README.mkdn b/README.mkdn
new file mode 120000
index 0000000..73dfc33
--- /dev/null
+++ b/README.mkdn
@@ -0,0 +1 @@
+CONTRIBUTING
\ No newline at end of file
diff --git a/README.pod b/README.pod
deleted file mode 100644
index ef7ec6a..0000000
--- a/README.pod
+++ /dev/null
@@ -1,357 +0,0 @@
-=pod
-
-=encoding utf-8
-
-=head1 NAME
-
-Class::Tiny - Minimalist class construction
-
-=head1 VERSION
-
-version 0.006
-
-=head1 SYNOPSIS
-
-In F<Person.pm>:
-
-  package Person;
-
-  use Class::Tiny qw( name );
-
-  1;
-
-In F<Employee.pm>:
-
-  package Employee;
-  use parent 'Person';
-
-  use Class::Tiny qw( ssn ), {
-    timestamp => sub { time }   # attribute with default
-  };
-
-  1;
-
-In F<example.pl>:
-
-  use Employee;
-
-  my $obj = Employee->new( name => "Larry", ssn => "111-22-3333" );
-
-  # unknown attributes are fatal:
-  eval { Employee->new( name => "Larry", OS => "Linux" ) };
-  die "Error creating Employee: $@" if $@;
-
-=head1 DESCRIPTION
-
-This module offers a minimalist class construction kit in around 100 lines of
-code.  Here is a list of features:
-
-=over 4
-
-=item *
-
-defines attributes via import arguments
-
-=item *
-
-generates read-write accessors
-
-=item *
-
-supports lazy attribute defaults
-
-=item *
-
-supports custom accessors
-
-=item *
-
-superclass provides a standard C<new> constructor
-
-=item *
-
-C<new> takes a hash reference or list of key/value pairs
-
-=item *
-
-C<new> has heuristics to catch constructor attribute typos
-
-=item *
-
-C<new> calls C<BUILD> for each class from parent to child
-
-=item *
-
-superclass provides a C<DESTROY> method
-
-=item *
-
-C<DESTROY> calls C<DEMOLISH> for each class from child to parent
-
-=back
-
-It uses no non-core modules for any recent Perl. On Perls older than v5.10 it
-requires L<MRO::Compat>. On Perls older than v5.14, it requires
-L<Devel::GlobalDestruction>.
-
-=for Pod::Coverage new get_all_attributes_for get_all_attribute_defaults_for
-prepare_class create_attributes
-
-=head1 USAGE
-
-=head2 Defining attributes
-
-Define attributes as a list of import arguments:
-
-    package Foo::Bar;
-
-    use Class::Tiny qw(
-        name
-        id
-        height
-        weight
-    );
-
-For each attribute, a read-write accessor is created unless a subroutine of that
-name already exists:
-
-    $obj->name;               # getter
-    $obj->name( "John Doe" ); # setter
-
-Attribute names must be valid subroutine identifiers or an exception will
-be thrown.
-
-You can specify lazy defaults by defining attributes with a hash reference.
-Keys define attribute names and values are constants or code references that
-will be evaluated when the attribute is first accessed if no value has been
-set.  The object is passed as an argument to a code reference.
-
-    package Foo::WithDefaults;
-
-    use Class::Tiny qw/name id/, {
-        title     => 'Peon',
-        skills    => sub { [] },
-        hire_date => sub { $_[0]->_build_hire_date }, 
-    };
-
-To make your own custom accessors, just pre-declare the method name before
-loading Class::Tiny:
-
-    package Foo::Bar;
-
-    use subs 'id';
-
-    use Class::Tiny qw( name id );
-
-    sub id { ... }
-
-By declaring C<id> also with Class::Tiny, you include it in the list of known
-attributes for introspection.  Default values will not be set for custom
-accessors unless you handle that yourself.
-
-=head2 Class::Tiny::Object is your base class
-
-If your class B<does not> already inherit from some class, then
-Class::Tiny::Object will be added to your C<@ISA> to provide C<new> and
-C<DESTROY>.
-
-If your class B<does> inherit from something, then no additional inheritance is
-set up.  If the parent subclasses Class::Tiny::Object, then all is well.  If
-not, then you'll get accessors set up but no constructor or destructor. Don't
-do that unless you really have a special need for it.
-
-Define subclasses as normal.  It's best to define them with L<base>, L<parent>
-or L<superclass> before defining attributes with Class::Tiny so the C<@ISA>
-array is already populated at compile-time:
-
-    package Foo::Bar::More;
-
-    use parent 'Foo::Bar';
-
-    use Class::Tiny qw( shoe_size );
-
-=head2 Object construction
-
-If your class inherits from Class::Tiny::Object (as it should if you followed
-the advice above), it provides the C<new> constructor for you.
-
-Objects can be created with attributes given as a hash reference or as a list
-of key/value pairs:
-
-    $obj = Foo::Bar->new( name => "David" );
-
-    $obj = Foo::Bar->new( { name => "David" } );
-
-If a reference is passed as a single argument, it must be able to be
-dereferenced as a hash or an exception is thrown.  A shallow copy is made of
-the reference provided.
-
-In order to help catch typos in constructor arguments, any argument that it is
-not also a valid method (e.g. an accessor or other method) will result in a
-fatal exception.  This is not perfect, but should catch typical transposition
-typos. Also see L</BUILD> for how to explicitly hide non-attribute, non-method
-arguments if desired.
-
-=head2 BUILD
-
-If your class or any superclass defines a C<BUILD> method, it will be called
-by the constructor from the furthest parent class down to the child class after
-the object has been created.
-
-It is passed the constructor arguments as a hash reference.  The return value
-is ignored.  Use C<BUILD> for validation or setting default values.
-
-    sub BUILD {
-        my ($self, $args) = @_;
-        $self->foo(42) unless defined $self->foo;
-        croak "Foo must be non-negative" if $self->foo < 0;
-    }
-
-If you want to hide a non-attribute constructor argument from validation,
-delete it from the passed-in argument hash reference.
-
-    sub BUILD {
-        my ($self, $args) = @_;
-
-        if ( delete $args->{do_something_special} ) {
-            ...
-        }
-    }
-
-The argument reference is a copy, so deleting elements won't affect data in the
-object. You have to delete it from both if that's what you want.
-
-    sub BUILD {
-        my ($self, $args) = @_;
-
-        if ( delete $args->{do_something_special} ) {
-            delete $self->{do_something_special};
-            ...
-        }
-    }
-
-=head2 DEMOLISH
-
-Class::Tiny provides a C<DESTROY> method.  If your class or any superclass
-defines a C<DEMOLISH> method, they will be called from the child class to the
-furthest parent class during object destruction.  It is provided a single
-boolean argument indicating whether Perl is in global destruction.  Return
-values and errors are ignored.
-
-    sub DEMOLISH {
-        my ($self, $global_destruct) = @_;
-        $self->cleanup();
-    }
-
-=head2 Introspection and internals
-
-You can retrieve an unsorted list of valid attributes known to Class::Tiny
-for a class and its superclasses with the C<get_all_attributes_for> class
-method.
-
-    my @attrs = Class::Tiny->get_all_attributes_for("Employee");
-    # returns qw/name ssn timestamp/
-
-Likewise, a hash reference of all valid attributes and default values (or code
-references) may be retrieved with the C<get_all_attribute_defaults_for> class
-method.  Any attributes without a default will be C<undef>.
-
-    my $def = Class::Tiny->get_all_attribute_defaults_for("Employee");
-    # returns {
-    #   name => undef,
-    #   ssn => undef
-    #   timestamp => $coderef
-    # }
-
-The C<import> method uses two class methods, C<prepare_class> and
-C<create_attributes> to set up the C<@ISA> array and attributes.  Anyone
-attempting to extend Class::Tiny itself should use these instead of mocking up
-a call to C<import>.
-
-=head1 RATIONALE
-
-=head2 Why this instead of Object::Tiny or Class::Accessor or something else?
-
-I wanted something so simple that it could potentially be used by core Perl
-modules I help maintain (or hope to write), most of which either use
-L<Class::Struct> or roll-their-own OO framework each time.
-
-L<Object::Tiny> and L<Object::Tiny::RW> were close to what I wanted, but
-lacking some features I deemed necessary, and their maintainers have an even
-more strict philosophy against feature creep than I have.
-
-I looked for something like it on CPAN, but after checking a dozen class
-creators I realized I could implement it exactly how I wanted faster than I
-could search CPAN for something merely sufficient.  Compared to everything
-else, this is smaller in implementation and simpler in API.
-
-=head2 Why this instead of Moose or Moo?
-
-L<Moose> and L<Moo> are both excellent OO frameworks.  Moose offers a powerful
-meta-object protocol (MOP), but is slow to start up and has about 30 non-core
-dependencies including XS modules.  Moo is faster to start up and has about 10
-pure Perl dependencies but provides no true MOP, relying instead on its ability
-to transparently upgrade Moo to Moose when Moose's full feature set is
-required.
-
-By contrast, Class::Tiny has no MOP and has B<zero> non-core dependencies for
-Perls in the L<support window|perlpolicy>.  It has far less code, less
-complexity and no learning curve. If you don't need or can't afford what Moo or
-Moose offer, this is a intended to be a reasonable fallback.
-
-That said, Class::Tiny offers Moose-like conventions for things like C<BUILD>
-and C<DEMOLISH> for some minimal interoperability and an easier upgrade path.
-
-=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
-
-=head1 SUPPORT
-
-=head2 Bugs / Feature Requests
-
-Please report any bugs or feature requests through the issue tracker
-at L<https://github.com/dagolden/class-tiny/issues>.
-You will be notified automatically of any progress on your issue.
-
-=head2 Source Code
-
-This is open source software.  The code repository is available for
-public review and contribution under the terms of the license.
-
-L<https://github.com/dagolden/class-tiny>
-
-  git clone git://github.com/dagolden/class-tiny.git
-
-=head1 AUTHOR
-
-David Golden <dagolden at cpan.org>
-
-=head1 CONTRIBUTORS
-
-=over 4
-
-=item *
-
-Karen Etheridge <ether at cpan.org>
-
-=item *
-
-Matt S Trout <mstrout at cpan.org>
-
-=item *
-
-Olivier Mengu� <dolmen at cpan.org>
-
-=item *
-
-Toby Inkster <tobyink at cpan.org>
-
-=back
-
-=head1 COPYRIGHT AND LICENSE
-
-This software is Copyright (c) 2013 by David Golden.
-
-This is free software, licensed under:
-
-  The Apache License, Version 2.0, January 2004
-
diff --git a/cpanfile b/cpanfile
new file mode 100644
index 0000000..6ec9381
--- /dev/null
+++ b/cpanfile
@@ -0,0 +1,33 @@
+requires "Carp" => "0";
+requires "perl" => "5.008001";
+requires "strict" => "0";
+requires "warnings" => "0";
+
+on 'test' => sub {
+  requires "Exporter" => "0";
+  requires "ExtUtils::MakeMaker" => "0";
+  requires "File::Spec::Functions" => "0";
+  requires "File::Temp" => "0";
+  requires "IO::Handle" => "0";
+  requires "IPC::Open3" => "0";
+  requires "List::Util" => "0";
+  requires "Test::More" => "0.96";
+  requires "base" => "0";
+  requires "lib" => "0";
+  requires "subs" => "0";
+};
+
+on 'test' => sub {
+  recommends "Test::FailWarnings" => "0";
+};
+
+on 'configure' => sub {
+  requires "ExtUtils::MakeMaker" => "6.30";
+};
+
+on 'develop' => sub {
+  requires "Pod::Coverage::TrustPod" => "0";
+  requires "Test::CPAN::Meta" => "0";
+  requires "Test::Pod" => "1.41";
+  requires "Test::Pod::Coverage" => "1.08";
+};
diff --git a/dist.ini b/dist.ini
index 87fad5b..74ab3cc 100644
--- a/dist.ini
+++ b/dist.ini
@@ -5,9 +5,7 @@ copyright_holder = David Golden
 copyright_year   = 2013
 
 [@DAGOLDEN]
-:version = 0.048
-AutoMetaResources.bugtracker.rt = 0
-AutoMetaResources.bugtracker.github = user:dagolden
+:version = 0.050
 stopwords = destructor
 stopwords = fatpacking
 stopwords = interoperability

-- 
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