view release on metacpan or search on metacpan
- Updated POD, README, and Makefile.
- Faster mechanism for importing and configuring, Replaced custom
Bubblegum::Exception with Throwable::Error version, Removed
Devel::StackTrace, Module::Find, and Try::Tiny, Added Throwable
- Fixed documentation errors in Bubblegum::Object::Universal.
0.31 2014-08-19T09:24:15
- v0.31
- Updated POD, README, and Makefile.
- Completely refactored Bubblegum::Contraints, Update related
documentation, Added namespace::autoclean to classes importing
functions.
0.30 2014-08-18T17:40:29
- v0.30
- Updated Contributors List, POD, README, and Makefile
- Updated POD, README, and Makefile.
- Updated miscellaneous sections of documentation.
- Added new methods, append, concat, and contains, to
Bubblegum::Object::String.
- Added print and say methods to Bubblegum::Object::Scalar
requires:
Class::Load: '0.21'
Clone: '0'
Exporter::Tiny: '0.030'
Import::Into: '1.001001'
Moo: '1.003001'
Throwable: '0.200011'
Type::Tiny: '0.032'
autobox: '0'
autodie: '0'
namespace::autoclean: '0.19'
perl: v5.10.0
utf8::all: '0'
resources:
bugtracker: https://github.com/alnewkirk/Bubblegum/issues
homepage: http://metacpan.org/release/Bubblegum/
repository: git://github.com/alnewkirk/Bubblegum.git
version: '0.45'
x_authority: cpan:AWNCORP
x_contributors:
- 'Toby Inkster <tobyink@cpan.org>'
Makefile.PL view on Meta::CPAN
"PREREQ_PM" => {
"Class::Load" => "0.21",
"Clone" => 0,
"Exporter::Tiny" => "0.030",
"Import::Into" => "1.001001",
"Moo" => "1.003001",
"Throwable" => "0.200011",
"Type::Tiny" => "0.032",
"autobox" => 0,
"autodie" => 0,
"namespace::autoclean" => "0.19",
"utf8::all" => 0
},
"VERSION" => "0.45",
"test" => {
"TESTS" => "t/*.t t/bubblegum/*.t t/bubblegum/object/*.t t/bubblegum/object/role/*.t t/bubblegum/role/*.t t/bubblegum/wrapper/*.t t/gum/*.t"
}
);
my %FallbackPrereqs = (
"Class::Load" => "0.21",
"Clone" => 0,
"Exporter::Tiny" => "0.030",
"Import::Into" => "1.001001",
"Moo" => "1.003001",
"Throwable" => "0.200011",
"Type::Tiny" => "0.032",
"autobox" => 0,
"autodie" => 0,
"namespace::autoclean" => "0.19",
"utf8::all" => 0
);
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
delete $WriteMakefileArgs{TEST_REQUIRES};
delete $WriteMakefileArgs{BUILD_REQUIRES};
$WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
requires "Class::Load" => "0.21";
requires "Clone" => "0";
requires "Exporter::Tiny" => "0.030";
requires "Import::Into" => "1.001001";
requires "Moo" => "1.003001";
requires "Throwable" => "0.200011";
requires "Type::Tiny" => "0.032";
requires "autobox" => "0";
requires "autodie" => "0";
requires "namespace::autoclean" => "0.19";
requires "perl" => "v5.10.0";
requires "utf8::all" => "0";
on 'test' => sub {
requires "perl" => "v5.10.0";
};
on 'configure' => sub {
requires "ExtUtils::MakeMaker" => "0";
};
lib/Bubblegum.pm view on Meta::CPAN
# ABSTRACT: Opinionated Modern Perl Development Framework
package Bubblegum;
use 5.10.0;
use namespace::autoclean;
use Moo 'with';
with 'Bubblegum::Role::Configuration';
our $VERSION = '0.45'; # VERSION
sub import {
my $target = caller;
my $class = shift;
lib/Bubblegum/Class.pm view on Meta::CPAN
# ABSTRACT: Object Orientation for Bubblegum via Moo
package Bubblegum::Class;
use 5.10.0;
use namespace::autoclean;
use Moo 'with';
with 'Bubblegum::Role::Configuration';
our $VERSION = '0.45'; # VERSION
sub import {
my $target = caller;
my $class = shift;
lib/Bubblegum/Object/Array.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Array References
package Bubblegum::Object::Array;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
use Scalar::Util 'looks_like_number';
with 'Bubblegum::Object::Role::Defined';
with 'Bubblegum::Object::Role::Indexed';
with 'Bubblegum::Object::Role::List';
with 'Bubblegum::Object::Role::Ref';
lib/Bubblegum/Object/Code.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Code References
package Bubblegum::Object::Code;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Defined';
with 'Bubblegum::Object::Role::Ref';
with 'Bubblegum::Object::Role::Coercive';
with 'Bubblegum::Object::Role::Output';
our @ISA = (); # non-object
lib/Bubblegum/Object/Float.pm view on Meta::CPAN
package Bubblegum::Object::Float;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
with 'Bubblegum::Object::Role::Value';
our @ISA = (); # non-object
our $VERSION = '0.45'; # VERSION
# needs formatting routines ... not implemented yet
lib/Bubblegum/Object/Hash.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Hash References
package Bubblegum::Object::Hash;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Defined';
with 'Bubblegum::Object::Role::Keyed';
with 'Bubblegum::Object::Role::Ref';
with 'Bubblegum::Object::Role::Coercive';
with 'Bubblegum::Object::Role::Output';
lib/Bubblegum/Object/Integer.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Integers
package Bubblegum::Object::Integer;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Defined';
with 'Bubblegum::Object::Role::Comparison';
with 'Bubblegum::Object::Role::Value';
our @ISA = (); # non-object
lib/Bubblegum/Object/Number.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Numbers
package Bubblegum::Object::Number;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Coercive';
with 'Bubblegum::Object::Role::Value';
our @ISA = (); # non-object
our $VERSION = '0.45'; # VERSION
lib/Bubblegum/Object/Role/Coercive.pm view on Meta::CPAN
package Bubblegum::Object::Role::Coercive;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role;
use Carp 'confess';
our $VERSION = '0.45'; # VERSION
my $coercable = {
'UNDEF' => {
'UNDEF' => sub { $_[0] },
'CODE' => sub { my $this = $_[0]; sub { $this } },
lib/Bubblegum/Object/Role/Collection.pm view on Meta::CPAN
package Bubblegum::Object::Role::Collection;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'requires', 'with';
with 'Bubblegum::Object::Role::Item';
our $VERSION = '0.45'; # VERSION
requires 'defined';
requires 'each';
requires 'each_key';
lib/Bubblegum/Object/Role/Comparison.pm view on Meta::CPAN
package Bubblegum::Object::Role::Comparison;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'requires', 'with';
with 'Bubblegum::Object::Role::Item';
our $VERSION = '0.45'; # VERSION
requires 'eq';
requires 'eqtv';
requires 'gt';
lib/Bubblegum/Object/Role/Defined.pm view on Meta::CPAN
package Bubblegum::Object::Role::Defined;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'with';
with 'Bubblegum::Object::Role::Item';
our $VERSION = '0.45'; # VERSION
sub defined {
return 1
}
lib/Bubblegum/Object/Role/Indexed.pm view on Meta::CPAN
package Bubblegum::Object::Role::Indexed;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'requires', 'with';
with 'Bubblegum::Object::Role::Collection';
our $VERSION = '0.45'; # VERSION
requires 'slice';
1;
lib/Bubblegum/Object/Role/Item.pm view on Meta::CPAN
package Bubblegum::Object::Role::Item;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'requires';
use Bubblegum::Namespace;
our $VERSION = '0.45'; # VERSION
requires 'defined';
sub class {
my $self = CORE::shift;
lib/Bubblegum/Object/Role/Keyed.pm view on Meta::CPAN
package Bubblegum::Object::Role::Keyed;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'with';
with 'Bubblegum::Object::Role::Collection';
our $VERSION = '0.45'; # VERSION
1;
lib/Bubblegum/Object/Role/List.pm view on Meta::CPAN
package Bubblegum::Object::Role::List;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'requires', 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Value';
our $VERSION = '0.45'; # VERSION
requires 'defined';
requires 'grep';
lib/Bubblegum/Object/Role/Output.pm view on Meta::CPAN
package Bubblegum::Object::Role::Output;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'requires', 'with';
with 'Bubblegum::Object::Role::Defined';
our $VERSION = '0.45'; # VERSION
requires 'print';
requires 'say';
lib/Bubblegum/Object/Role/Ref.pm view on Meta::CPAN
package Bubblegum::Object::Role::Ref;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'with';
use Bubblegum::Constraints -isas, -types;
use Scalar::Util ();
with 'Bubblegum::Object::Role::Defined';
our $VERSION = '0.45'; # VERSION
lib/Bubblegum/Object/Role/Value.pm view on Meta::CPAN
package Bubblegum::Object::Role::Value;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Role 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Defined';
our $VERSION = '0.45'; # VERSION
sub do {
my $self = CORE::shift;
lib/Bubblegum/Object/Scalar.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Scalars
package Bubblegum::Object::Scalar;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
with 'Bubblegum::Object::Role::Output';
with 'Bubblegum::Object::Role::Value';
our @ISA = (); # non-object
our $VERSION = '0.45'; # VERSION
lib/Bubblegum/Object/String.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Strings
package Bubblegum::Object::String;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
use Bubblegum::Constraints -isas, -types;
use Carp 'confess';
use Scalar::Util 'looks_like_number';
with 'Bubblegum::Object::Role::Defined';
with 'Bubblegum::Object::Role::Comparison';
with 'Bubblegum::Object::Role::Coercive';
lib/Bubblegum/Object/Undef.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Undefined Values
package Bubblegum::Object::Undef;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Class 'with';
with 'Bubblegum::Object::Role::Item';
with 'Bubblegum::Object::Role::Coercive';
our @ISA = (); # non-object
our $VERSION = '0.45'; # VERSION
lib/Bubblegum/Object/Universal.pm view on Meta::CPAN
# ABSTRACT: Common Methods for Operating on Defined Values
package Bubblegum::Object::Universal;
use 5.10.0;
use namespace::autoclean;
use Bubblegum::Namespace;
use Scalar::Util ();
use Types::Standard ();
use Class::Load 'load_class';
our @ISA = (); # non-object
my $TYPES = $Bubblegum::Namespace::ExtendedTypes;
lib/Bubblegum/Prototype/Instance.pm view on Meta::CPAN
# Bubblegum Prototype Instance Base Class
package Bubblegum::Prototype::Instance;
use namespace::autoclean;
use Bubblegum::Class;
use Bubblegum::Prototype::Package;
use Moo ();
use Moo::Role ();
use Class::Load 'is_class_loaded';
*proto = *prototype = sub {
lib/Bubblegum/Role.pm view on Meta::CPAN
# ABSTRACT: Class Component System for Bubblegum via Moo::Role
package Bubblegum::Role;
use 5.10.0;
use namespace::autoclean;
use Moo 'with';
with 'Bubblegum::Role::Configuration';
our $VERSION = '0.45'; # VERSION
sub import {
my $target = caller;
my $class = shift;
lib/Bubblegum/Role/Configuration.pm view on Meta::CPAN
package Bubblegum::Role::Configuration;
use 5.10.0;
use namespace::autoclean;
use strict;
use utf8::all;
use warnings;
use Import::Into;
use Moo::Role;
use Bubblegum::Namespace ();
use feature ();
view all matches for this distributionview release on metacpan - search on metacpan