package Data::Object::Class; use 5.014; use strict; use warnings; use parent 'Moo'; our $VERSION = '1.88'; # VERSION 1; =encoding utf8 =head1 NAME Data::Object::Class =cut =head1 ABSTRACT Data-Object Class Declaration =cut =head1 SYNOPSIS package Person; use Data::Object::Class; extends 'Identity'; 1; =cut =head1 DESCRIPTION This package modifies the consuming package making it a class. =cut =head1 INHERITANCE This package inherits behaviors from: L =cut =head1 INTEGRATIONS This package integrates behaviors from: L =cut =head1 LIBRARIES This package uses type constraints defined by: L =cut =head1 KEYWORDS This package provides the following keywords. =head2 extends package Person; use Data::Object 'Class'; extends 'Identity'; 1; The C keyword is used to declare superclasses your class will inherit from. See L for more information. =head2 has package Person; use Data::Object 'Class'; has fname => ( is => 'ro', isa => 'Str' ); has lname => ( is => 'ro', isa => 'Str' ); 1; The C keyword is used to declare class attributes, which can be accessed and assigned to using the built-in getter/setter or by the object constructor. See L for more information. =head2 with package Person; use Data::Object 'Class'; with 'Employable'; 1; The C keyword is used to declare roles to be used and compose into your class. See L for more information. =head1 CREDITS Al Newkirk, C<+319> Anthony Brummett, C<+10> Adam Hopkins, C<+2> José Joaquín Atria, C<+1> =cut =head1 AUTHOR Al Newkirk, C =head1 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. =head1 PROJECT L L L L L L =head1 SEE ALSO To get the most out of this distribution, consider reading the following: L L L L L L L =cut