Bubblegum

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

 - 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

META.yml  view on Meta::CPAN

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

cpanfile  view on Meta::CPAN

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 distribution
 view release on metacpan -  search on metacpan

( run in 1.709 second using v1.00-cache-2.02-grep-82fe00e-cpan-c98054f2a92 )