Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • Home > Linux > Programming > Perl Modules

    DBIx::Class::Service 0.02

    Download button

    No screenshots available
    Downloads: 355  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Excellent (5.0/5)
    1 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Toru Yamaguchi | More programs
    Perl Artistic License / FREE
    September 18th, 2008, 13:23 GMT
    ROOT / Programming / Perl Modules

     Read user reviews (0)  Refer to a friend  Subscribe

    DBIx::Class::Service description

    Aggregate DBIC processes between multiple tables.

    DBIx::Class::Service is a Perl module to aggregate DBIC processes between multiple tables.

    SYNOPSIS

    Each service class example:

     package MySchema::Service::User;
     
     use strict;
     use warnings;
     
     use base qw(DBIx::Class::Service);
     
     sub add_user: Transaction {
     my ($class, $schema, $args) = @_;
     
     my $user_rs = $schema->resultset('User');
     
     my $user = $user_rs->create({
     user_seq => undef,
     user_id => $args->{user_id},
     password_digest => crypt($args->{password}, $args->{user_id}),
     });
     
     $user->create_related('profiles', {
     name => $args->{name},
     nickname => $args->{nickname},
     });
     
     return $user;
     }
     
     sub authenticate: DataSource {
     my ($class, $schema, $user_id, $password) = @_;
     return $schema->resultset('User')->find({ user_id => $user_id, password_digest => crypt($password, $user_id) });
     }
     
     1;


    And your schema class:

     package MySchema::Schema;
     
     use strict;
     use warnings;
     
     use base 'DBIx::Class::Schema';
     
     __PACKAGE__->load_classes;
     __PACKAGE__->load_components(qw/ServiceManager/);
     __PACKAGE__->load_services({ 'MySchema::Service' => [qw/
     User
     /] });
     
     1;


    Using:

     use MySchema::Schema;

     my $schema = MySchema::Schema->connect($dsn, $dbuser, $dbpass);
     ### note: please see arguments. do not need $schema
     $schema->service('User')->add_user($args);



    Product's homepage

    Requirements:

    · Perl

      


    TAGS:

    aggregate DBIC | Perl module | DBIC | aggregator | Perl

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM