/usr/share/perl5/Pinto/Schema.pm is in pinto 0.97+dfsg-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | use utf8;
package Pinto::Schema;
# Created by DBIx::Class::Schema::Loader
# DO NOT MODIFY THE FIRST PART OF THIS FILE
use Moose;
use MooseX::MarkAsMethods autoclean => 1;
extends 'DBIx::Class::Schema';
__PACKAGE__->load_namespaces;
# Created by DBIx::Class::Schema::Loader v0.07015 @ 2012-04-29 01:03:56
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:yRlbDgtAuKaDHF9i1Kwqsg
#-------------------------------------------------------------------------------
# ABSTRACT: The DBIx::Class::Schema for Pinto
#-------------------------------------------------------------------------------
our $VERSION = '0.097'; # VERSION
#-------------------------------------------------------------------------------
use MooseX::SetOnce;
use Pinto::Util qw(decamelize throw);
#-------------------------------------------------------------------------------
use Readonly;
Readonly our $SCHEMA_VERSION => 1;
sub schema_version { return $SCHEMA_VERSION }
#-------------------------------------------------------------------------------
has repo => (
is => 'rw',
isa => 'Pinto::Repository',
traits => [qw(SetOnce)],
weak_ref => 1,
);
#-------------------------------------------------------------------------------
sub set_db_version {
my ($self) = @_;
# NOTE: SQLite only permits integers for the user_version.
# The decimal portion of any float will be truncated.
my $version = $self->schema_version;
my $dbh = $self->storage->dbh;
$dbh->do("PRAGMA user_version = $version");
return;
}
#-------------------------------------------------------------------------------
sub get_db_version {
my ($self) = @_;
my $dbh = $self->storage->dbh;
my @version = $dbh->selectrow_array('PRAGMA user_version');
return $version[0];
}
#-------------------------------------------------------------------------------
sub assert_db_version_ok {
my ($self) = @_;
my $schema_version = $self->schema_version;
my $db_version = $self->get_db_version;
throw "Database version ($db_version) and schema version ($schema_version) do not match"
if $db_version != $schema_version;
return $self;
}
#-------------------------------------------------------------------------------
sub resultset_names {
my ($class) = @_;
my @resultset_names = sort keys %{ $class->source_registrations };
return @resultset_names;
}
#-------------------------------------------------------------------------------
for my $rs ( __PACKAGE__->resultset_names ) {
## no critic
no strict 'refs';
my $rs_decameled = decamelize($rs);
my $rs_method_name = __PACKAGE__ . "::${rs_decameled}_rs";
*{$rs_method_name} = eval "sub { return \$_[0]->resultset('$rs') }";
my $create_method_name = __PACKAGE__ . "::create_${rs_decameled}";
*{$create_method_name} = eval "sub { return \$_[0]->$rs_method_name->create(\$_[1]) }";
my $search_method_name = __PACKAGE__ . "::search_${rs_decameled}";
*{$search_method_name} = eval "sub { return \$_[0]->$rs_method_name->search(\$_[1] || {}, \$_[2] || {}) }";
my $find_method_name = __PACKAGE__ . "::find_${rs_decameled}";
*{$find_method_name} = eval "sub { return \$_[0]->$rs_method_name->find(\$_[1] || {}, \$_[2] || {}) }";
## use critic
}
#-------------------------------------------------------------------------------
__PACKAGE__->meta->make_immutable;
#-------------------------------------------------------------------------------
1;
__END__
=pod
=encoding UTF-8
=for :stopwords Jeffrey Ryan Thalhammer
=head1 NAME
Pinto::Schema - The DBIx::Class::Schema for Pinto
=head1 VERSION
version 0.097
=head1 AUTHOR
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Jeffrey Ryan Thalhammer.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|