[libcatalyst-modules-perl] 01/01: replace bundled Catalyst-Plugin-Session-Store-DBIC with a dependency on libcatalyst-plugin-session-store-dbic-perl
Damyan Ivanov
dmn at moszumanska.debian.org
Thu May 15 07:18:26 UTC 2014
This is an automated email from the git hooks/post-receive script.
dmn pushed a commit to branch master
in repository libcatalyst-modules-perl.
commit 7a49d8cb248d3b8fc52d0cc429bb75bc77aaf8bb
Author: Damyan Ivanov <dmn at debian.org>
Date: Thu May 15 07:18:19 2014 +0000
replace bundled Catalyst-Plugin-Session-Store-DBIC with a dependency on libcatalyst-plugin-session-store-dbic-perl
---
bundle/05/Catalyst-Plugin-Session-Store-DBIC | 1 -
debian/control | 1 +
debian/copyright | 5 -
sources/Catalyst-Plugin-Session-Store-DBIC/Changes | 65 ----
.../Catalyst-Plugin-Session-Store-DBIC/MANIFEST | 20 --
.../Catalyst-Plugin-Session-Store-DBIC/META.json | 58 ----
.../Catalyst-Plugin-Session-Store-DBIC/META.yml | 36 ---
.../Catalyst-Plugin-Session-Store-DBIC/MYMETA.json | 58 ----
.../Catalyst-Plugin-Session-Store-DBIC/Makefile.PL | 49 ---
.../lib/Catalyst/Plugin/Session/Store/DBIC.pm | 348 ---------------------
.../Catalyst/Plugin/Session/Store/DBIC/Delegate.pm | 158 ----------
.../Catalyst-Plugin-Session-Store-DBIC/t/01use.t | 3 -
.../Catalyst-Plugin-Session-Store-DBIC/t/02pod.t | 7 -
.../t/03podcoverage.t | 7 -
.../t/05dbic-schema.t | 82 -----
.../t/lib/SetupDB.pm | 21 --
.../t/lib/TestApp.pm | 10 -
.../t/lib/TestApp/Controller/Flash.pm | 25 --
.../t/lib/TestApp/Controller/Session.pm | 39 ---
.../t/lib/TestApp/Model/DBICSchema.pm | 21 --
.../t/lib/TestApp/Schema.pm | 9 -
.../t/lib/TestApp/Schema/Session.pm | 21 --
22 files changed, 1 insertion(+), 1043 deletions(-)
diff --git a/bundle/05/Catalyst-Plugin-Session-Store-DBIC b/bundle/05/Catalyst-Plugin-Session-Store-DBIC
deleted file mode 120000
index 6d8e67b..0000000
--- a/bundle/05/Catalyst-Plugin-Session-Store-DBIC
+++ /dev/null
@@ -1 +0,0 @@
-../../sources/Catalyst-Plugin-Session-Store-DBIC
\ No newline at end of file
diff --git a/debian/control b/debian/control
index 9658a5a..5f3c3e5 100644
--- a/debian/control
+++ b/debian/control
@@ -120,6 +120,7 @@ Depends: ${misc:Depends},
libcatalyst-plugin-session-state-cookie-perl,
libcatalyst-plugin-session-store-cache-perl,
libcatalyst-plugin-session-store-dbi-perl,
+ libcatalyst-plugin-session-store-dbic-perl,
libcatalyst-plugin-session-store-delegate-perl,
libcatalyst-plugin-session-store-fastmmap-perl,
libcatalyst-plugin-session-store-file-perl,
diff --git a/debian/copyright b/debian/copyright
index e06a928..e9bb6e2 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -9,11 +9,6 @@ Copyright: 2005-2006, Florian Ragwitz <rafl at debian.org>
2010-2013, gregor herrmann <gregoa at debian.org>
License: Artistic or GPL-1+
-Files: sources/Catalyst-Plugin-Session-Store-DBIC
-Copyright: 2006-2009, Daniel Westermann-Clark <danieltwc at cpan.org>
-X-Upstream-Maintainers: Florian Ragwitz <rafl at debian.org>
-License: Artistic or GPL-1+
-
License: Artistic
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License, which comes with Perl.
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/Changes b/sources/Catalyst-Plugin-Session-Store-DBIC/Changes
deleted file mode 100644
index bc83dd0..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/Changes
+++ /dev/null
@@ -1,65 +0,0 @@
-Revision history for Catalyst-Plugin-Session-Store-DBIC
-
-0.14 Sat Jul 27 12:29:00 PST 2013
- - Fix repository metadaa. RT#87249
-
-0.13 Fri Jun 14 17:30:00 BST 2013
- - Don't use %ENV for passing data structures to tests.
- This fixes the tests on Perl 5.18, which stringifies %ENV values
- immediately. RT#86148
-
-0.12 Thu Aug 4 23:56:00 BST 2011
- - Changed a test case to be less picky about the actual text captured
- from warnings. This was done to support some changes introduced by
- the Catalyst -> PSGI port.
-
-0.11 Fri Oct 16 15:04:07 CEST 2009
- - Convert to new session config key.
-
-0.10 Tue Jul 7 13:00:27 CEST 2009
- - Depend on a recent Store::Delegate for the NEXT -> MRO::Compat
- switch.
-
-0.09 Wed Mar 31 16:35:52 CEST 2009
- - Port from NEXT to MRO::Compat (Florian Ragwitz).
- - Remove tests relying on the deprecated DBIx::Class::DB
- (Florian Ragwitz).
-
-0.08 Wed Nov 26 10:02:52 EST 2008
- - Workaround possible errors with Storable::thaw and empty
- strings (thanks to kevin montuori for suggesting a fix)
-
-0.07 Wed Sep 24 17:08:34 EDT 2008
- - Code was silently truncating storage to MySQL, rendering the
- session unreadable. Patched to check DBIx::Class size from
- column_info (if available)
- - Wrap find_or_create calls in a transaction to (hopefully)
- avoid issues with duplicate flash rows
-
-0.06 Sat Sep 16 15:42:50 EDT 2006
- - Convert to Catalyst::Plugin::Session::Store::Delegate (with
- help from nothingmuch)
-
-0.05 Mon Jul 31 16:58:32 EDT 2006
- - Bump Catalyst::Plugin::Session dependency (tests use
- session_is_valid)
- - Fix a possible bug with passing an empty string to
- Storable::thaw
-
-0.04 Sat Jul 29 23:02:27 EDT 2006
- - Catalyst::Plugin::Session 0.06 saves the session expiration
- before the sesssion, so make sure the session row is created then
- - Minor cleanup to get_session_data and store_session_data
- methods
- - Use delete instead of delete_all to avoid object inflation
- penalty in delete_session_data and delete_expired_sessions
- - Use 'select' to fetch only the desired field from the database
-
-0.03 Mon Mar 6 21:17:38 EST 2006
- - Check the configuration earlier for a dbic_class value
-
-0.02 Sat Mar 4 15:55:30 EST 2006
- - Minor documentation update
-
-0.01 Sat Mar 4 13:02:28 EST 2006
- - Initial revision
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/MANIFEST b/sources/Catalyst-Plugin-Session-Store-DBIC/MANIFEST
deleted file mode 100644
index 1fe7f6d..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/MANIFEST
+++ /dev/null
@@ -1,20 +0,0 @@
-.gitignore
-Changes
-lib/Catalyst/Plugin/Session/Store/DBIC.pm
-lib/Catalyst/Plugin/Session/Store/DBIC/Delegate.pm
-Makefile.PL
-MANIFEST This list of files
-MYMETA.json
-t/01use.t
-t/02pod.t
-t/03podcoverage.t
-t/05dbic-schema.t
-t/lib/SetupDB.pm
-t/lib/TestApp.pm
-t/lib/TestApp/Controller/Flash.pm
-t/lib/TestApp/Controller/Session.pm
-t/lib/TestApp/Model/DBICSchema.pm
-t/lib/TestApp/Schema.pm
-t/lib/TestApp/Schema/Session.pm
-META.yml Module YAML meta-data (added by MakeMaker)
-META.json Module JSON meta-data (added by MakeMaker)
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/META.json b/sources/Catalyst-Plugin-Session-Store-DBIC/META.json
deleted file mode 100644
index ba830aa..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/META.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "abstract" : "Store your sessions via DBIx::Class",
- "author" : [
- "Daniel Westermann-Clark <danieltwc at cpan.org>"
- ],
- "dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560",
- "license" : [
- "unknown"
- ],
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "name" : "Catalyst-Plugin-Session-Store-DBIC",
- "no_index" : {
- "directory" : [
- "t",
- "inc"
- ]
- },
- "prereqs" : {
- "build" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "0"
- }
- },
- "configure" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "0"
- }
- },
- "runtime" : {
- "requires" : {
- "Carp" : "0",
- "Catalyst" : "5.65",
- "Catalyst::Exception" : "0",
- "Catalyst::Plugin::Session::Store::Delegate" : "0.05",
- "Class::Accessor::Fast" : "0",
- "DBIx::Class" : "0.07000",
- "FindBin" : "0",
- "MIME::Base64" : "0",
- "MRO::Compat" : "0",
- "Scalar::Util" : "0",
- "Storable" : "0",
- "Test::More" : "0",
- "Test::Warn" : "0.20"
- }
- }
- },
- "release_status" : "stable",
- "resources" : {
- "repository" : {
- "url" : "http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Session-Store-DBIC/"
- }
- },
- "version" : "0.14"
-}
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/META.yml b/sources/Catalyst-Plugin-Session-Store-DBIC/META.yml
deleted file mode 100644
index f41f747..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/META.yml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-abstract: 'Store your sessions via DBIx::Class'
-author:
- - 'Daniel Westermann-Clark <danieltwc at cpan.org>'
-build_requires:
- ExtUtils::MakeMaker: 0
-configure_requires:
- ExtUtils::MakeMaker: 0
-dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560'
-license: unknown
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
-name: Catalyst-Plugin-Session-Store-DBIC
-no_index:
- directory:
- - t
- - inc
-requires:
- Carp: 0
- Catalyst: 5.65
- Catalyst::Exception: 0
- Catalyst::Plugin::Session::Store::Delegate: 0.05
- Class::Accessor::Fast: 0
- DBIx::Class: 0.07000
- FindBin: 0
- MIME::Base64: 0
- MRO::Compat: 0
- Scalar::Util: 0
- Storable: 0
- Test::More: 0
- Test::Warn: 0.20
-resources:
- repository: http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Session-Store-DBIC/
-version: 0.14
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/MYMETA.json b/sources/Catalyst-Plugin-Session-Store-DBIC/MYMETA.json
deleted file mode 100644
index 2f71095..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/MYMETA.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "abstract" : "Store your sessions via DBIx::Class",
- "author" : [
- "Daniel Westermann-Clark <danieltwc at cpan.org>"
- ],
- "dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560",
- "license" : [
- "unknown"
- ],
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "name" : "Catalyst-Plugin-Session-Store-DBIC",
- "no_index" : {
- "directory" : [
- "t",
- "inc"
- ]
- },
- "prereqs" : {
- "build" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "0"
- }
- },
- "configure" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "0"
- }
- },
- "runtime" : {
- "requires" : {
- "Carp" : "0",
- "Catalyst" : "5.65",
- "Catalyst::Exception" : "0",
- "Catalyst::Plugin::Session::Store::Delegate" : "0.05",
- "Class::Accessor::Fast" : "0",
- "DBIx::Class" : "0.07000",
- "FindBin" : "0",
- "MIME::Base64" : "0",
- "MRO::Compat" : "0",
- "Scalar::Util" : "0",
- "Storable" : "0",
- "Test::More" : "0",
- "Test::Warn" : "0.20"
- }
- }
- },
- "release_status" : "stable",
- "resources" : {
- "repository" : {
- "url" : "http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Session-Store-DBIC/"
- }
- },
- "version" : "0.14"
-}
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/Makefile.PL b/sources/Catalyst-Plugin-Session-Store-DBIC/Makefile.PL
deleted file mode 100644
index 20dcd31..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/Makefile.PL
+++ /dev/null
@@ -1,49 +0,0 @@
-use strict;
-use warnings;
-use ExtUtils::MakeMaker;
-
-WriteMakefile(
- NAME => 'Catalyst::Plugin::Session::Store::DBIC',
- AUTHOR => 'Daniel Westermann-Clark <danieltwc at cpan.org>',
- VERSION_FROM => 'lib/Catalyst/Plugin/Session/Store/DBIC.pm',
- ABSTRACT_FROM => 'lib/Catalyst/Plugin/Session/Store/DBIC.pm',
- PREREQ_PM => {
- 'Carp' => 0,
- 'Catalyst' => '5.65', # For setup_finished
- 'Catalyst::Exception' => 0,
- 'Catalyst::Plugin::Session::Store::Delegate' => '0.05',
- 'Class::Accessor::Fast' => 0,
- 'DBIx::Class' => '0.07000', # For find with unique constraints
- 'MIME::Base64' => 0,
- 'MRO::Compat' => 0,
- 'Scalar::Util' => 0,
- 'Storable' => 0,
- 'FindBin' => 0,
- 'Test::More' => 0,
- 'Test::Warn' => '0.20', # so we get warnings_exist
- },
- META_MERGE => {
- resources => {
- repository => 'http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Session-Store-DBIC/',
- },
- },
- dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
- clean => { FILES => 'Catalyst-Plugin-Session-Store-DBIC-* MANIFEST META.yml README' },
-);
-
-
-package MY;
-
-sub postamble {
- return <<"...";
-cover::
- cover -delete
- HARNESS_PERL_SWITCHES=-MDevel::Cover \$(MAKE) test
- cover
-
-readme::
- perldoc -o text -d README \$(NAME)
-...
-}
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/lib/Catalyst/Plugin/Session/Store/DBIC.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/lib/Catalyst/Plugin/Session/Store/DBIC.pm
deleted file mode 100644
index 654adfb..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/lib/Catalyst/Plugin/Session/Store/DBIC.pm
+++ /dev/null
@@ -1,348 +0,0 @@
-package Catalyst::Plugin::Session::Store::DBIC;
-
-use strict;
-use warnings;
-use base qw/Catalyst::Plugin::Session::Store::Delegate/;
-use Catalyst::Exception;
-use Catalyst::Plugin::Session::Store::DBIC::Delegate;
-use MIME::Base64 ();
-use MRO::Compat;
-use Storable ();
-
-our $VERSION = '0.14';
-
-=head1 NAME
-
-Catalyst::Plugin::Session::Store::DBIC - Store your sessions via DBIx::Class
-
-=head1 SYNOPSIS
-
- # Create a table in your database for sessions
- CREATE TABLE sessions (
- id CHAR(72) PRIMARY KEY,
- session_data TEXT,
- expires INTEGER
- );
-
- # Create the corresponding table class
- package MyApp::Schema::Session;
-
- use base qw/DBIx::Class/;
-
- __PACKAGE__->load_components(qw/Core/);
- __PACKAGE__->table('sessions');
- __PACKAGE__->add_columns(qw/id session_data expires/);
- __PACKAGE__->set_primary_key('id');
-
- 1;
-
- # In your application
- use Catalyst qw/Session Session::Store::DBIC Session::State::Cookie/;
-
- __PACKAGE__->config(
- # ... other items ...
- 'Plugin::Session' => {
- dbic_class => 'DBIC::Session', # Assuming MyApp::Model::DBIC
- expires => 3600,
- },
- );
-
- # Later, in a controller action
- $c->session->{foo} = 'bar';
-
-=head1 DESCRIPTION
-
-This L<Catalyst::Plugin::Session> storage module saves session data in
-your database via L<DBIx::Class>. It's actually just a wrapper around
-L<Catalyst::Plugin::Session::Store::Delegate>; if you need complete
-control over how your sessions are stored, you probably want to use
-that instead.
-
-=head1 METHODS
-
-=head2 setup_finished
-
-Hook into the configured session class.
-
-=cut
-
-sub setup_finished {
- my $c = shift;
-
- return $c->next::method unless @_;
-
- # Try to determine id_field if it isn't set
- unless ($c->_session_plugin_config->{id_field}) {
- my $model = $c->session_store_model;
- my $rs = ref $model ? $model
- : $model->can('resultset_instance') ? $model->resultset_instance
- : $model;
- my @primary_columns = $rs->result_source->primary_columns;
-
- Catalyst::Exception->throw(
- message => __PACKAGE__ . qq/: Primary key consists of more than one column; please set id_field manually/
- ) if @primary_columns > 1;
-
- $c->_session_plugin_config->{id_field} = $primary_columns[0];
- }
-
- $c->next::method(@_);
-}
-
-=head2 session_store_dbic_class
-
-Return the L<DBIx::Class> class name to be passed to C<< $c->model >>.
-Defaults to C<DBIC::Session>.
-
-=cut
-
-sub session_store_dbic_class {
- shift->_session_plugin_config->{dbic_class} || 'DBIC::Session';
-}
-
-=head2 session_store_dbic_id_field
-
-Return the configured ID field name. Defaults to C<id>.
-
-=cut
-
-sub session_store_dbic_id_field {
- shift->_session_plugin_config->{id_field} || 'id';
-}
-
-=head2 session_store_dbic_data_field
-
-Return the configured data field name. Defaults to C<session_data>.
-
-=cut
-
-sub session_store_dbic_data_field {
- shift->_session_plugin_config->{data_field} || 'session_data';
-}
-
-=head2 session_store_dbic_expires_field
-
-Return the configured expires field name. Defaults to C<expires>.
-
-=cut
-
-sub session_store_dbic_expires_field {
- shift->_session_plugin_config->{expires_field} || 'expires';
-}
-
-=head2 session_store_model
-
-Return the model used to find a session.
-
-=cut
-
-sub session_store_model {
- my ($c, $id) = @_;
-
- my $dbic_class = $c->session_store_dbic_class;
- $c->model($dbic_class, $id) or die "Couldn't find a model named $dbic_class";
-}
-
-=head2 get_session_store_delegate
-
-Load the row corresponding to the specified session ID. If none is
-found, one is automatically created.
-
-=cut
-
-sub get_session_store_delegate {
- my ($c, $id) = @_;
-
- Catalyst::Plugin::Session::Store::DBIC::Delegate->new({
- model => $c->session_store_model($id),
- id_field => $c->session_store_dbic_id_field,
- data_field => $c->session_store_dbic_data_field,
- });
-}
-
-=head2 session_store_delegate_key_to_accessor
-
-Match the specified key and operation to the session ID and field
-name.
-
-=cut
-
-sub session_store_delegate_key_to_accessor {
- my $c = shift;
- my $key = $_[0];
- my ($field, @args) = $c->next::method(@_);
-
- my ($type) = ($key =~ /^(\w+):/);
-
- $field = $c->session_store_dbic_id_field if $field eq 'id';
- $field = $c->session_store_dbic_expires_field if $field eq 'expires';
- $field = $c->session_store_dbic_data_field if $field eq 'session' or $field eq 'flash';
-
- my $accessor = sub { shift->$type($key)->$field(@_) };
-
- if ($field eq $c->session_store_dbic_data_field) {
- @args = map { MIME::Base64::encode(Storable::nfreeze($_ || '')) } @args;
- $accessor = sub {
- my $value = shift->$type($key)->$field(@_);
- return unless $value;
- return Storable::thaw(MIME::Base64::decode($value));
- };
- }
-
- return ($accessor, @args);
-}
-
-=head2 delete_session_data
-
-Delete the specified session from the backend store.
-
-=cut
-
-sub delete_session_data {
- my ($c, $key) = @_;
-
- # expires is stored on the session row for compatibility with Store::DBI
- return if $key =~ /^expires/;
-
- $c->session_store_model->search({
- $c->session_store_dbic_id_field => $key,
- })->delete;
-}
-
-=head2 delete_expired_sessions
-
-Delete all expired sessions.
-
-=cut
-
-sub delete_expired_sessions {
- my $c = shift;
-
- $c->session_store_model->search({
- $c->session_store_dbic_expires_field => { '<', time() },
- })->delete;
-}
-
-=head1 CONFIGURATION
-
-The following parameters should be placed in your application
-configuration under the C<Plugin::Session> key.
-
-=head2 dbic_class
-
-(Required) The name of the L<DBIx::Class> that represents a session in
-the database. It is recommended that you provide only the part after
-C<MyApp::Model>, e.g. C<DBIC::Session>.
-
-If you are using L<Catalyst::Model::DBIC::Schema>, the following
-layout is recommended:
-
-=over 4
-
-=item * C<MyApp::Schema> - your L<DBIx::Class::Schema> class
-
-=item * C<MyApp::Schema::Session> - your session table class
-
-=item * C<MyApp::Model::DBIC> - your L<Catalyst::Model::DBIC::Schema> class
-
-=back
-
-This module will then use C<< $c->model >> to access the appropriate
-result source from the composed schema matching the C<dbic_class>
-name.
-
-For more information, please see L<Catalyst::Model::DBIC::Schema>.
-
-=head2 expires
-
-Number of seconds for which sessions are active.
-
-Note that no automatic cleanup is done on your session data. To
-delete expired sessions, you can use the L</delete_expired_sessions>
-method with L<Catalyst::Plugin::Scheduler>.
-
-=head2 id_field
-
-The name of the field on your sessions table which stores the session
-ID. Defaults to C<id>.
-
-=head2 data_field
-
-The name of the field on your sessions table which stores session
-data. Defaults to C<session_data> for compatibility with
-L<Catalyst::Plugin::Session::Store::DBI>.
-
-=head2 expires_field
-
-The name of the field on your sessions table which stores the
-expiration time of the session. Defaults to C<expires>.
-
-=head1 SCHEMA
-
-Your sessions table should contain the following columns:
-
- id CHAR(72) PRIMARY KEY
- session_data TEXT
- expires INTEGER
-
-The C<id> column should probably be 72 characters. It needs to handle
-the longest string that can be returned by
-L<Catalyst::Plugin::Session/generate_session_id>, plus another eight
-characters for internal use. This is less than 72 characters when
-SHA-1 or MD5 is used, but SHA-256 will need all 72 characters.
-
-The C<session_data> column should be a long text field. Session data
-is encoded using L<MIME::Base64> before being stored in the database.
-
-Note that MySQL C<TEXT> fields only store 64 kB, so if your session
-data will exceed that size you'll want to use C<MEDIUMTEXT>,
-C<MEDIUMBLOB>, or larger. If you configure your
-L<DBIx::Class::ResultSource> to include the size of the column, you
-will receive warnings for this problem:
-
- This session requires 1180 bytes of storage, but your database
- column 'session_data' can only store 200 bytes. Storing this
- session may not be reliable; increase the size of your data field
-
-See L<DBIx::Class::ResultSource/add_columns> for more information.
-
-The C<expires> column stores the future expiration time of the
-session. This may be null for per-user and flash sessions.
-
-Note that you can change the column names using the L</id_field>,
-L</data_field>, and L</expires_field> configuration parameters.
-However, the column types must match the above.
-
-=head1 AUTHOR
-
-Daniel Westermann-Clark E<lt>danieltwc at cpan.orgE<gt>
-
-=head1 ACKNOWLEDGMENTS
-
-=over 4
-
-=item * Andy Grundman, for L<Catalyst::Plugin::Session::Store::DBI>
-
-=item * David Kamholz, for most of the testing code (from
- L<Catalyst::Plugin::Authentication::Store::DBIC>)
-
-=item * Yuval Kogman, for assistance in converting to
- L<Catalyst::Plugin::Session::Store::Delegate>
-
-=item * Jay Hannah, for tests and warning when session size
- exceeds DBIx::Class storage size.
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright (c) 2006 - 2009
-the Catalyst::Plugin::Session::Store::DBIC L</AUTHOR>
-as listed above.
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-=cut
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/lib/Catalyst/Plugin/Session/Store/DBIC/Delegate.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/lib/Catalyst/Plugin/Session/Store/DBIC/Delegate.pm
deleted file mode 100644
index 013862a..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/lib/Catalyst/Plugin/Session/Store/DBIC/Delegate.pm
+++ /dev/null
@@ -1,158 +0,0 @@
-package Catalyst::Plugin::Session::Store::DBIC::Delegate;
-
-use strict;
-use warnings;
-use base qw/Class::Accessor::Fast/;
-use Carp qw/carp/;
-use Scalar::Util qw/blessed/;
-
-__PACKAGE__->mk_accessors(qw/model id_field data_field _session_row _flash_row/);
-
-=head1 NAME
-
-Catalyst::Plugin::Session::Store::DBIC::Delegate - Delegates between the session and flash rows
-
-=head1 DESCRIPTION
-
-This class delegates between two rows in your sessions table for a
-given session (session and flash). This is done for compatibility
-with L<Catalyst::Plugin::Session::Store::DBI>.
-
-=head1 METHODS
-
-=head2 session
-
-Return the session row for this delegate.
-
-=cut
-
-sub session {
- my ($self, $key) = @_;
-
- my $row = $self->_session_row;
-
- unless ($row) {
- $row = $self->_load_row($key);
- $self->_session_row($row);
- }
-
- return $row;
-}
-
-=head2 flash
-
-Return the flash row for this delegate.
-
-=cut
-
-sub flash {
- my ($self, $key) = @_;
-
- my $row = $self->_flash_row;
-
- unless ($row) {
- $row = $self->_load_row($key);
- $self->_flash_row($row);
- }
-
- return $row;
-}
-
-=head2 _load_row
-
-Load the specified session or flash row from the database. This is a
-wrapper around L<DBIx::Class::ResultSet/find_or_create> to add support
-for transactions.
-
-=cut
-
-sub _load_row {
- my ($self, $key) = @_;
-
- my $load_sub = sub {
- return $self->model->find_or_create({ $self->id_field => $key })
- };
-
- my $row;
- if (blessed $self->model and $self->model->can('result_source')) {
- $row = $self->model->result_source->schema->txn_do($load_sub);
- }
- else {
- # Fallback for DBIx::Class::DB
- $row = $load_sub->();
- }
-
- return $row;
-}
-
-=head2 expires
-
-Return the expires row for this delegate. As with
-L<Catalyst::Plugin::Session::Store::DBI>, this maps to the L</session>
-row.
-
-=cut
-
-sub expires {
- my ($self, $key) = @_;
-
- $key =~ s/^expires/session/;
- $self->session($key);
-}
-
-=head2 flush
-
-Update the session and flash data in the backend store.
-
-=cut
-
-sub flush {
- my ($self) = @_;
-
- for (qw/_session_row _flash_row/) {
- my $row = $self->$_;
- next unless $row;
-
- # Check the size if available to avoid silent trucation on e.g. MySQL
- my $data_field = $self->data_field;
- if (my $size = $row->result_source->column_info($data_field)->{size}) {
- my $total_size = length($row->$data_field);
- carp "This session requires $total_size bytes of storage, but your database column '$data_field' can only store $size bytes. Storing this session may not be reliable; increase the size of your data field"
- if $total_size > $size;
- }
-
- $row->update if $row->in_storage;
- }
-
- $self->_clear_instance_data;
-}
-
-=head2 _clear_instance_data
-
-Remove any references held by the delegate.
-
-=cut
-
-sub _clear_instance_data {
- my ($self) = @_;
-
- $self->id_field(undef);
- $self->model(undef);
- $self->_session_row(undef);
- $self->_flash_row(undef);
-}
-
-=head1 AUTHOR
-
-Daniel Westermann-Clark E<lt>danieltwc at cpan.orgE<gt>
-
-=head1 COPYRIGHT
-
-Copyright 2006-2008 Daniel Westermann-Clark, all rights reserved.
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-=cut
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/01use.t b/sources/Catalyst-Plugin-Session-Store-DBIC/t/01use.t
deleted file mode 100644
index 0b2695b..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/01use.t
+++ /dev/null
@@ -1,3 +0,0 @@
-use Test::More tests => 1;
-
-use_ok('Catalyst::Plugin::Session::Store::DBIC');
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/02pod.t b/sources/Catalyst-Plugin-Session-Store-DBIC/t/02pod.t
deleted file mode 100644
index 1647794..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/02pod.t
+++ /dev/null
@@ -1,7 +0,0 @@
-use Test::More;
-
-eval "use Test::Pod 1.14";
-plan skip_all => 'Test::Pod 1.14 required' if $@;
-plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
-
-all_pod_files_ok();
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/03podcoverage.t b/sources/Catalyst-Plugin-Session-Store-DBIC/t/03podcoverage.t
deleted file mode 100644
index d91be5e..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/03podcoverage.t
+++ /dev/null
@@ -1,7 +0,0 @@
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.04";
-plan skip_all => 'Test::Pod::Coverage 1.04 required' if $@;
-plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
-
-all_pod_coverage_ok();
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/05dbic-schema.t b/sources/Catalyst-Plugin-Session-Store-DBIC/t/05dbic-schema.t
deleted file mode 100644
index 87e1282..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/05dbic-schema.t
+++ /dev/null
@@ -1,82 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-use FindBin;
-use Test::More;
-use Test::Warn;
-
-use lib "$FindBin::Bin/lib";
-
-BEGIN {
- eval { require DBD::SQLite }
- or plan skip_all => "DBD::SQLite is required for this test";
-
- eval { require Catalyst::Plugin::Session::State::Cookie }
- or plan skip_all => "Catalyst::Plugin::Session::State::Cookie is required for this test";
-
- eval { require Test::WWW::Mechanize::Catalyst }
- or plan skip_all => "Test::WWW::Mechanize::Catalyst is required for this test";
-
- eval { require Catalyst::Model::DBIC::Schema }
- or plan skip_all => "Catalyst::Model::DBIC::Schema is required for this test";
-
- plan tests => 14;
-
- $TestApp::DB_FILE = "$FindBin::Bin/session.db";
-
- $TestApp::CONFIG = {
- name => 'TestApp',
- session => {
- dbic_class => 'DBICSchema::Session',
- data_field => 'data',
- },
- };
-
- $TestApp::PLUGINS = [qw/
- Session
- Session::State::Cookie
- Session::Store::DBIC
- /];
-}
-
-use SetupDB;
-use Test::WWW::Mechanize::Catalyst 'TestApp';
-
-my $mech = Test::WWW::Mechanize::Catalyst->new;
-
-my $key = 'schema';
-my $value = scalar localtime;
-
-# Setup session
-$mech->get_ok("http://localhost/session/setup?key=$key&value=$value", 'request to set session value');
-$mech->content_is('ok', 'set session value');
-
-# Setup flash
-$mech->get_ok("http://localhost/flash/setup?key=$key&value=$value", 'request to set flash value');
-$mech->content_is('ok', 'set session value');
-
-# Check flash
-$mech->get_ok("http://localhost/flash/output?key=$key", 'request to get flash value');
-$mech->content_is($value, 'got session value back');
-
-# Check session
-$mech->get_ok("http://localhost/session/output?key=$key", 'request to get session value');
-$mech->content_is($value, 'got session value back');
-
-# Exceed our session storage capactity
-$value = "blah" x 200;
-warnings_exist {
- $mech->get_ok("http://localhost/session/setup?key=$key&value=$value", 'exceeding storage capacity');
-} qr/This session requires \d+ bytes of storage, but your database column 'data' can only store 200 bytes. Storing this session may not be reliable; increase the size of your data field/, 'warning thrown as expected';
-
-# Delete session
-$mech->get_ok('http://localhost/session/delete', 'request to delete session');
-$mech->content_is('ok', 'deleted session');
-
-# Delete expired sessions
-$mech->get_ok('http://localhost/session/delete_expired', 'request to delete expired sessions');
-$mech->content_is('ok', 'deleted expired sessions');
-
-# Clean up
-unlink $TestApp::DB_FILE;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/SetupDB.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/SetupDB.pm
deleted file mode 100644
index 7588e8f..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/SetupDB.pm
+++ /dev/null
@@ -1,21 +0,0 @@
-package SetupDB;
-
-use strict;
-use warnings;
-
-# Create the database
-my $db_file = $TestApp::DB_FILE;
-unlink $db_file if -e $db_file;
-
-my $dbh = DBI->connect("dbi:SQLite:$db_file") or die $DBI::errstr;
-my $sql = q{
- CREATE TABLE sessions (
- id CHAR(72) PRIMARY KEY,
- data TEXT,
- expires INTEGER
- );
-};
-$dbh->do($_) for split /;/, $sql;
-$dbh->disconnect;
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp.pm
deleted file mode 100644
index 000f81f..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp.pm
+++ /dev/null
@@ -1,10 +0,0 @@
-package TestApp;
-
-use strict;
-use warnings;
-use Catalyst;
-
-__PACKAGE__->config($TestApp::CONFIG);
-__PACKAGE__->setup(@{ $TestApp::PLUGINS });
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Controller/Flash.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Controller/Flash.pm
deleted file mode 100644
index e17276e..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Controller/Flash.pm
+++ /dev/null
@@ -1,25 +0,0 @@
-package TestApp::Controller::Flash;
-
-use strict;
-use warnings;
-use base qw/Catalyst::Controller/;
-
-sub setup : Local {
- my ($self, $c) = @_;
-
- my $key = $c->req->param('key') || 'key';
- my $value = $c->req->param('value') || 1;
-
- $c->flash->{$key} = $value;
- $c->res->body('ok');
-}
-
-sub output : Local {
- my ($self, $c) = @_;
-
- my $key = $c->req->param('key') || 'key';
-
- $c->res->body($c->flash->{$key});
-}
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Controller/Session.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Controller/Session.pm
deleted file mode 100644
index 9a1ae85..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Controller/Session.pm
+++ /dev/null
@@ -1,39 +0,0 @@
-package TestApp::Controller::Session;
-
-use strict;
-use warnings;
-use base qw/Catalyst::Controller/;
-
-sub setup : Local {
- my ($self, $c) = @_;
-
- my $key = $c->req->param('key') || 'key';
- my $value = $c->req->param('value') || 1;
-
- $c->session->{$key} = $value;
- $c->res->body('ok');
-}
-
-sub output : Local {
- my ($self, $c) = @_;
-
- my $key = $c->req->param('key') || 'key';
-
- $c->res->body($c->session->{$key});
-}
-
-sub delete : Local {
- my ($self, $c) = @_;
-
- $c->delete_session;
- $c->res->body($c->session_is_valid ? 'not ok' : 'ok');
-}
-
-sub delete_expired : Local {
- my ($self, $c) = @_;
-
- $c->delete_expired_sessions;
- $c->res->body('ok');
-}
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Model/DBICSchema.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Model/DBICSchema.pm
deleted file mode 100644
index 705d133..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Model/DBICSchema.pm
+++ /dev/null
@@ -1,21 +0,0 @@
-package TestApp::Model::DBICSchema;
-
-eval { require Catalyst::Model::DBIC::Schema }; return 1 if $@;
- at ISA = qw/Catalyst::Model::DBIC::Schema/;
-
-use strict;
-use warnings;
-
-our $db_file = $TestApp::DB_FILE;
-
-__PACKAGE__->config(
- schema_class => 'TestApp::Schema',
- connect_info => [
- "dbi:SQLite:$db_file",
- '',
- '',
- { AutoCommit => 1 },
- ],
-);
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Schema.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Schema.pm
deleted file mode 100644
index 0471514..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Schema.pm
+++ /dev/null
@@ -1,9 +0,0 @@
-package TestApp::Schema;
-
-use strict;
-use warnings;
-use base qw/DBIx::Class::Schema/;
-
-__PACKAGE__->load_classes('Session');
-
-1;
diff --git a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Schema/Session.pm b/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Schema/Session.pm
deleted file mode 100644
index b824ec0..0000000
--- a/sources/Catalyst-Plugin-Session-Store-DBIC/t/lib/TestApp/Schema/Session.pm
+++ /dev/null
@@ -1,21 +0,0 @@
-package TestApp::Schema::Session;
-
-use strict;
-use warnings;
-use base qw/DBIx::Class/;
-
-__PACKAGE__->load_components(qw/Core/);
-
-__PACKAGE__->table('sessions');
-__PACKAGE__->add_columns(
- id => {
- },
- data => {
- size => 200,
- },
- expires => {
- },
-);
-__PACKAGE__->set_primary_key('id');
-
-1;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libcatalyst-modules-perl.git
More information about the Pkg-perl-cvs-commits
mailing list