Class-XSConstructor

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      },
      "develop" : {
         "recommends" : {
            "Dist::Inkt" : "0.001"
         }
      },
      "runtime" : {
         "requires" : {
            "Exporter::Tiny" : "1.000000",
            "List::Util" : "1.45",
            "Ref::Util" : "0.100",
            "perl" : "5.008008"
         }
      },
      "test" : {
         "recommends" : {
            "Types::Standard" : "1.000000"
         },
         "requires" : {
            "Test::Fatal" : "0",
            "Test::More" : "0.96",

META.yml  view on Meta::CPAN

    - t
    - xt
optional_features: {}
provides:
  Class::XSConstructor:
    file: lib/Class/XSConstructor.pm
    version: '0.009'
requires:
  Exporter::Tiny: '1.000000'
  List::Util: '1.45'
  Ref::Util: '0.100'
  perl: '5.008008'
resources:
  Identifier: http://purl.org/NET/cpan-uri/dist/Class-XSConstructor/project
  bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=Class-XSConstructor
  homepage: https://metacpan.org/release/Class-XSConstructor
  license: http://dev.perl.org/licenses/
  repository: git://github.com/tobyink/p5-class-xsconstructor.git
version: '0.009'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Makefile.PL  view on Meta::CPAN

                        configure => {
                                       recommends => { "Devel::PPPort" => 3.42 },
                                       requires   => { "ExtUtils::MakeMaker" => 6.17 },
                                     },
                        develop   => { recommends => { "Dist::Inkt" => 0.001 } },
                        runtime   => {
                                       requires => {
                                         "Exporter::Tiny" => "1.000000",
                                         "List::Util" => 1.45,
                                         "perl" => 5.008008,
                                         "Ref::Util" => "0.100",
                                       },
                                     },
                        test      => {
                                       recommends => { "Types::Standard" => "1.000000" },
                                       requires   => {
                                                       "parent"         => 0,
                                                       "Test::Fatal"    => 0,
                                                       "Test::More"     => 0.96,
                                                       "Test::Requires" => 0,
                                                     },

doap.ttl  view on Meta::CPAN

<http://dev.perl.org/licenses/>
	dc:title             "the same terms as the perl 5 programming language system itself".

<http://purl.org/NET/cpan-uri/dist/Class-XSConstructor/project>
	a                    doap:Project;
	dc:contributor       <http://purl.org/NET/cpan-uri/person/tobyink>;
	doap-deps:configure-recommendation [ doap-deps:on "Devel::PPPort 3.42"^^doap-deps:CpanId ];
	doap-deps:develop-recommendation [ doap-deps:on "Dist::Inkt 0.001"^^doap-deps:CpanId ];
	doap-deps:runtime-requirement [ doap-deps:on "perl 5.008008"^^doap-deps:CpanId ], [
		doap-deps:on "Exporter::Tiny 1.000000"^^doap-deps:CpanId;
	], [ doap-deps:on "Ref::Util 0.100"^^doap-deps:CpanId ], [ doap-deps:on "List::Util 1.45"^^doap-deps:CpanId ];
	doap-deps:test-recommendation [
		doap-deps:on "Types::Standard 1.000000"^^doap-deps:CpanId;
	];
	doap-deps:test-requirement [ doap-deps:on "Test::More 0.96"^^doap-deps:CpanId ], [ doap-deps:on "Test::Fatal"^^doap-deps:CpanId ], [ doap-deps:on "Test::Requires"^^doap-deps:CpanId ], [ doap-deps:on "parent"^^doap-deps:CpanId ];
	doap:bug-database    <http://rt.cpan.org/Dist/Display.html?Queue=Class-XSConstructor>;
	doap:created         "2018-06-19"^^xsd:date;
	doap:developer       <http://purl.org/NET/cpan-uri/person/tobyink>;
	doap:download-page   <https://metacpan.org/release/Class-XSConstructor>;
	doap:homepage        <https://metacpan.org/release/Class-XSConstructor>;
	doap:license         <http://dev.perl.org/licenses/>;

lib/Class/XSConstructor.pm  view on Meta::CPAN

use strict;
use warnings;
use XSLoader ();

package Class::XSConstructor;

our $AUTHORITY = 'cpan:TOBYINK';
our $VERSION   = '0.009';

use Exporter::Tiny 1.000000 qw( mkopt );
use Ref::Util 0.100 qw( is_plain_arrayref is_plain_hashref is_blessed_ref is_coderef );
use List::Util 1.45 qw( uniq );

sub import {
	my $class  = shift;
	my $caller = our($SETUP_FOR) || caller;
	
	if (our $REDEFINE) {
		no warnings 'redefine';
		install_constructor("$caller\::new");
	}



( run in 0.914 second using v1.01-cache-2.11-cpan-4d50c553e7e )