NAME
   Dancer2::Session::DBIC - DBIx::Class session engine for Dancer2

VERSION
   0.005

DESCRIPTION
   This module implements a session engine for Dancer2 by serializing the
   session, and storing it in a database via DBIx::Class.

   JSON was chosen as the serialization format, as it is fast, terse, and
   portable.

SYNOPSIS
   Example configuration:

       session: "DBIC"
       engines:
         session:
           DBIC:
             dsn:      "DBI:mysql:database=testing;host=127.0.0.1;port=3306" # DBI Data Source Name
             schema_class:    "Interchange6::Schema"  # DBIx::Class schema
             user:     "user"      # Username used to connect to the database
             password: "password"  # Password to connect to the database
             resultset: "MySession" # DBIx::Class resultset, defaults to Session
             id_column: "my_session_id" # defaults to sessions_id
             data_column: "my_session_data" # defaults to session_data

SESSION EXPIRATION
   A timestamp field that updates when a session is updated is recommended,
   so you can expire sessions server-side as well as client-side.

   This session engine will not automagically remove expired sessions on
   the server, but with a timestamp field as above, you should be able to
   to do this manually.

ATTRIBUTES
 schema_class
   DBIx::Class schema class, e.g. Interchange6::Schema.

 resultset
   DBIx::Class resultset, defaults to `Session'.

 id_column
   Column for session id, defaults to `sessions_id'.

 data_column
   Column for session data, defaults to `session_data'.

 dsn
   DBI dsn to connect to the database.

 user
   Database username.

 password
   Database password.

 schema
   DBIx::Class schema.

METHODS
 _flush
   Write the session to the database. Returns the session object.

 _retrieve($id)
   Look for a session with the given id.

   Returns the session object if found, `undef' if not. Dies if the session
   was found, but could not be deserialized.

 _destroy()
   Remove the current session object from the database.

SEE ALSO
   Dancer2, Dancer2::Session

AUTHOR
   Stefan Hornburg (Racke) <[email protected]>

ACKNOWLEDGEMENTS
   Based on code from Dance::Session::DBI written by James Aitken and code
   from Dance::Plugin::DBIC written by Naveed Massjouni.

COPYRIGHT AND LICENSE
   This software is copyright (c) Stefan Hornburg.

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