NAME

Salvation::MacroProcessor::MethodDescription - Method description object

DESCRIPTION

REQUIRES

Scalar::Util

Carp::Assert

MooseX::StrictConstructor

Moose

METHODS

new

 Salvation::MacroProcessor::MethodDescription -> new(
 	method => $method,
 	orig_method => $orig_method,
	associated_meta => $associated_meta,
	previously_associated_meta => $previously_associated_meta,
	query => $query,
	postfilter => $postfilter,
	required_shares => $required_shares,
	required_filters => $required_filters,
	excludes_filters => $excludes_filters,
	imported => $imported,
	connector_chain => $connector_chain
 )

Constructor.

Returns Salvation::MacroProcessor::MethodDescription instance.

Only method and associated_meta arguments are required.

Mostly all arguments documented at this section below, or at smp_add_description function documentation of Salvation::MacroProcessor module, except imported argument which is simply a boolean value where true means "this description is imported from some other class" and false means "this description is not imported from anywhere".

method

$description -> method();

Returns a name of the description. Usually matches a name of the method being described, though can be different in some cases.

orig_method

$description -> orig_method();

Returns an original name of the description. In example, if the description of method named id has been imported into another class with prefix parent_, then such description will have method equal to parent_id and orig_method equal to id.

associated_meta

$description -> associated_meta();

Returns Moose::Meta::Class or Moose::Meta::Role object instance corresponding to the object which has defined the description.

connector_chain

$description -> connector_chain();

Return an ArrayRef. Each element is another ArrayRef containing two elements:

class name

String. A name of the class where the description has been imported.

connector name

String. A name of the connector which has been used to import description.

This will hold the whole import chain for description being imported.

previously_associated_meta

$description -> previously_associated_meta();

Returns Moose::Meta::Class or Moose::Meta::Role object instance corresponding to the object which has defined the description. It is used when child class inherits a description from its parent and holds the reference to parent's class metaclass.

inherited_description

$description -> inherited_description();

Returns Salvation::MacroProcessor::MethodDescription object instance as it has been defined by a parent class if the description has been inherited.

attr

$description -> attr();

Returns Moose::Meta::Attribute object instance if the description is for attribute instead of plain method.

clone

$description -> clone();

Clones description, returning new-made clone.

excludes_filters

$description -> excludes_filters();

Returns an ArrayRef. Each element is the name of conflicting description.

postfilter

$description -> postfilter( $object, $value );

Returns boolean value. Executes custom description's post-filtering code. See postfilter argument of Salvation::MacroProcessor::smp_add_description method.

query

$description -> query( $value );
$description -> query( $shares, $value );

Returns ArrayRef which is a processed query part for this description, customized for given $value and $shares as told by query argument of Salvation::MacroProcessor::smp_add_description or Salvation::MacroProcessor::Hooks::query_from_attribute call, if any is applicable.

required_filters

$description -> required_filters();

Returns an ArrayRef. Each element is the name of required description.

required_shares

$description -> required_shares();

Returns an ArrayRef. Each element is the name of required share.