Moose's features supported by Coat

Coat is a rewrite of a bunch of Moose's features in native Perl 5 ; here is a summary of features supported by Coat.

The following information is based on the API of Coat version 0.310.

Coat class Moose's sister class Description Details
Coat Moose The main pragma, when used, this module makes a class with the current package and provides a set of keywords to describe the class.

Exported symbols

  • has (options)
    • is
    • isa
    • default
    • required
    • trigger
    • coerce
  • extends
  • around
  • after
  • before
Coat::Object Moose::Object The mother-class for each Coat object, provides a default constructor.

Methods

  • new
  • init
  • meta
Coat::Types Moose::Util::TypeConstraints Type constraints facility for Coat attributes.

supported type-helpers

  • type
  • subtype
  • coerce
  • enum
  • as
  • where
  • via
  • from
  • message

Builtin types

  • Any
  • Item
  • Bool
  • Undef
  • Defined
  • Value
  • Str
  • ClassName
  • Num
  • Int
  • Ref
  • FileHandle
  • ScalarRef
  • GlobRef
  • ArrayRef[]
  • HashRef[]
  • RegexpRef
  • CodeRef
  • Object

exported methods

  • register_type_constraint
  • find_type_constraint
  • list_all_type_constraints
  • list_all_builtin_type_constraints
  • create_parameterized_type_constraint
  • find_or_create_parameterized_type_constraint
Coat::Meta Moose::Meta::Class Meta class for inspecting current classes and their properties. Provides a set of static methods, mostly used when given a class-name, for introspection.

Static methods

  • Coat::Meta->classes()
  • Coat::Meta->attributes( $class )
  • Coat::Meta->class( $class )
  • Coat::Meta->exists( $class )
  • Coat::Meta->attribute( $class, $attribute, $properties )
  • Coat::Meta->has( $class, $attribute )
  • Coat::Meta->all_attributes( $class )
  • Coat::Meta->is_family( $class, $parent )
  • Coat::Meta->is_parent( $class, $parent )
  • Coat::Meta->parents( $class )
  • Coat::Meta->family( $class )
  • Coat::Meta->extends( $class, $parents )
  • Coat::Meta->modifiers( $hook, $class, $method, $code )
  • Coat::Meta->around_modifiers( $class, $method, $code )
  • Coat::Meta->before_modifiers( $class, $method, $code )
  • Coat::Meta->after_modifiers( $class, $method, $code )
Coat::Meta::TypeConstraint Moose::Meta::TypeConstraint Meta class for type-constraint objects.

Accesors

  • name
  • validation
  • coercion_map
  • message
  • parent

Methods

  • $tc->validate( $value )
  • $tc->coerce( $value )
  • $tc->has_coercion()

About Coat