DBIx::SQLEngine::Record::Accessors - Add Methods for Columns


DBIx-SQLEngine documentation Contained in the DBIx-SQLEngine distribution.

Index


Code Index:

NAME

Top

DBIx::SQLEngine::Record::Accessors - Add Methods for Columns

SYNOPSIS

Top

Setup: Several ways to create a class.

  my $sqldb = DBIx::SQLEngine->new( ... );

  $class_name = $sqldb->record_class( $table_name, undef, 'Accessors' );

  $sqldb->record_class( $table_name, 'My::Record', 'Accessors' );

  package My::Record;
  use DBIx::SQLEngine::Record::Class '-isasubclass', 'Accessors';  
  My::Record->table( $sqldb->table($table_name) );

Accessors: Create methods for columns.

  $class_name->install_accessors( %column_info );




DESCRIPTION

Top

This package provides automatic method generation for DBIx::SQLEngine::Record objects.

Don't use this module directly; instead, pass its name as a trait when you create a new record class. This package provides a multiply-composable collection of functionality for Record classes. It is combined with the base class and other traits by DBIx::SQLEngine::Record::Class.

This package is not yet complete.

ACCESSORS INTERFACE

Top

Autoloader

AUTOLOAD

Provided by Class::MakeMethods::Autoload. Generates scalar accessor methods using Class::MakeMethods::Standard::Hash.

SIMPLE RECORD INTERFACE

Top

Getting and Changing Values

Simple interface for applying changes.

get_values()
  $record->get_values( key1 ) : $value
  $record->get_values( key1, key2, ... ) : $values_joined_with_comma
  $record->get_values( key1, key2, ... ) : @values

Returns the values associated with the keys in the provided record.

change_values
  $record->change_values( method1 => value1, ... ); 

Call provided method names with supplied values. (Class::MakeMethods::Standard::Universal:call_methods).

SEE ALSO

Top

For more about the Record classes, see DBIx::SQLEngine::Record::Class.

See DBIx::SQLEngine for the overall interface and developer documentation.

See DBIx::SQLEngine::Docs::ReadMe for general information about this distribution, including installation and license information.


DBIx-SQLEngine documentation Contained in the DBIx-SQLEngine distribution.
########################################################################

package DBIx::SQLEngine::Record::Accessors;

use strict;
use Carp;

########################################################################

########################################################################

use Class::MakeMethods::Autoload 'Standard::Hash:scalar';

########################################################################

########################################################################

sub get_values {
  my $self = shift;
  ref($self) or croak("Can't call this object method on a record class");
  my @values = map $self->$_(), @_;
  wantarray ? @values : join(', ', @values)
}

use Class::MakeMethods ( 
  'Standard::Universal:call_methods' => 'change_values',
);

########################################################################

########################################################################

########################################################################

1;