The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::Object::Base

ABSTRACT

Data-Object Base Class

SYNOPSIS

  use parent 'Data::Object::Base';

DESCRIPTION

This package provides an abstract base class used for identity and classification of Data::Object classes.

LIBRARIES

This package uses type constraints defined by:

Data::Object::Library

METHODS

This package implements the following methods.

class

  class() : Str

The class method returns the class name for the given class or object.

class example
  # given $self (Foo::Bar)

  $self->class();

  # Foo::Bar (string)

deduce

  deduce(Maybe[Any] $arg) : Object

The deduce method returns a data object for a given argument. A blessed argument will be ignored, less a RegexpRef.

deduce example
  # given $arrayref

  my $array_object = $self->deduce($arrayref);

detract

  detract(Maybe[Any] $arg) : Value

The detract method returns a raw data value for a given argument which is a type of data object. If no argument is provided the invocant will be used.

detract example
  # given $array_object

  my $arrayref = $self->detract($array_object);

space

  space(Str $arg1) : Object

The space method returns a Data::Object::Space object for the given class, object or argument.

space example
  # given $self (Foo::Bar)

  $self->space();

  # Foo::Bar (space object)

  $self->space('Foo/Baz');

  # Foo::Baz (space object)

type

  type() : Str

The type method returns object type string.

type example
  my $type = $self->type();

CREDITS

Al Newkirk, +319

Anthony Brummett, +10

Adam Hopkins, +2

José Joaquín Atria, +1

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated here, https://github.com/iamalnewkirk/do/blob/master/LICENSE.

PROJECT

Wiki

Project

Initiatives

Milestones

Contributing

Issues

SEE ALSO

To get the most out of this distribution, consider reading the following:

Do

Data::Object

Data::Object::Class

Data::Object::ClassHas

Data::Object::Role

Data::Object::RoleHas

Data::Object::Library