Fey::Role::HasAliasName(3)

NAME
Fey::Role::HasAliasName - A role for objects that bring an alias with them

VERSION
version 0.44

SYNOPSIS
  package My::Thing;

  use Moose 2.1200;
  with 'Fey::Role::HasAliasName'
      => { generated_alias_prefix => 'THING' };

DESCRIPTION
This role adds an "alias_name" attribute to objects, as well as some methods for making use of that alias.

PARAMETERS

  generated_alias_prefix
The prefix that generated aliases will have, e.g. "LITERAL", "FUNCTION", etc. Required.

  sql_needs_parens
If true, "sql_with_alias()" will wrap the output of "sql()" when generating its own output. Default is false.

METHODS

  $obj->alias_name()
Returns the current alias name, if any.

  $obj->set_alias_name()
  $obj->set_alias_name('my object');

Sets the current alias name.

  $obj->alias()
  $obj->alias('my object')->do_something_else(...);

Sets the current alias name, then returns the object.

  $obj->sql_with_alias()

  $obj->sql_or_alias()
Returns the appropriate SQL snippet. "sql_with_alias" will generate an alias if one has not been set (using "generated_alias_prefix", above).

BUGS
See Fey for details on how to report bugs.

Bugs may be submitted at <https://github.com/ap/Fey/issues>.

SOURCE
The source code repository for Fey can be found at <https://github.com/ap/Fey>.

AUTHOR
Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE
This software is Copyright (c) 2011 - 2025 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.