Dave Rolsky > Fey-ORM-0.46 > Fey::Meta::Attribute::FromSelect

Download:
Fey-ORM-0.46.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Stalled  1
View/Report Bugs
Module Version: 0.46   Source  

NAME ^

Fey::Meta::Attribute::FromSelect - An attribute metaclass for SELECT-based attributes

VERSION ^

version 0.46

SYNOPSIS ^

  package MyApp::Song;

  has average_rating => (
      metaclass   => 'FromSelect',
      is          => 'ro',
      isa         => 'Float',
      select      => $select,
      bind_params => sub { $_[0]->song_id() },
  );

DESCRIPTION ^

This attribute metaclass allows you to set an attribute's default based on a SELECT query and optional bound parameters. This is a fairly common need when writing ORM-based classes.

OPTIONS ^

This metaclass accepts two additional parameters in addition to the normal Moose attribute options.

Note that this metaclass overrides any value you provide for "default" with a subroutine that executes the query and gets the value it returns.

METHODS ^

This class adds a few methods to those provided by Moose::Meta::Attribute:

$attr->select()

Returns the query object associated with this attribute.

$attr->bind_params()

Returns the bind_params subroutine reference associated with this attribute, if any.

ArrayRef TYPES ^

By default, the SELECT is expected to return just a single row with one column. However, if you set the type of the attribute to ArrayRef (or a subtype), then the select can return multiple rows, still with a single column.

AUTHOR ^

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2011 by Dave Rolsky.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: