App-DBCritic

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Const::Fast" : "0",
            "DBI" : "0",
            "DBIx::Class" : "0.08125",
            "DBIx::Class::Schema::Loader" : "0.07007",
            "Data::Compare" : "0",
            "Devel::Symdump" : "0",
            "English" : "0",
            "Getopt::Long::Descriptive" : "0",
            "List::MoreUtils" : "0",
            "List::Util" : "1.33",
            "Modern::Perl" : "0",
            "Module::Pluggable" : "0",
            "Moo" : "0",
            "Moo::Role" : "0",
            "Scalar::Util" : "0",
            "Sub::Quote" : "0",
            "namespace::autoclean" : "0",
            "overload" : "0",
            "perl" : "5.012",
            "strict" : "0",
            "utf8" : "0"

META.yml  view on Meta::CPAN

  Const::Fast: '0'
  DBI: '0'
  DBIx::Class: '0.08125'
  DBIx::Class::Schema::Loader: '0.07007'
  Data::Compare: '0'
  Devel::Symdump: '0'
  English: '0'
  Getopt::Long::Descriptive: '0'
  List::MoreUtils: '0'
  List::Util: '1.33'
  Modern::Perl: '0'
  Module::Pluggable: '0'
  Moo: '0'
  Moo::Role: '0'
  Scalar::Util: '0'
  Sub::Quote: '0'
  namespace::autoclean: '0'
  overload: '0'
  perl: '5.012'
  strict: '0'
  utf8: '0'

Makefile.PL  view on Meta::CPAN

    "Const::Fast" => 0,
    "DBI" => 0,
    "DBIx::Class" => "0.08125",
    "DBIx::Class::Schema::Loader" => "0.07007",
    "Data::Compare" => 0,
    "Devel::Symdump" => 0,
    "English" => 0,
    "Getopt::Long::Descriptive" => 0,
    "List::MoreUtils" => 0,
    "List::Util" => "1.33",
    "Modern::Perl" => 0,
    "Module::Pluggable" => 0,
    "Moo" => 0,
    "Moo::Role" => 0,
    "Scalar::Util" => 0,
    "Sub::Quote" => 0,
    "namespace::autoclean" => 0,
    "overload" => 0,
    "strict" => 0,
    "utf8" => 0
  },

cpanfile  view on Meta::CPAN

requires "Const::Fast" => "0";
requires "DBI" => "0";
requires "DBIx::Class" => "0.08125";
requires "DBIx::Class::Schema::Loader" => "0.07007";
requires "Data::Compare" => "0";
requires "Devel::Symdump" => "0";
requires "English" => "0";
requires "Getopt::Long::Descriptive" => "0";
requires "List::MoreUtils" => "0";
requires "List::Util" => "1.33";
requires "Modern::Perl" => "0";
requires "Module::Pluggable" => "0";
requires "Moo" => "0";
requires "Moo::Role" => "0";
requires "Scalar::Util" => "0";
requires "Sub::Quote" => "0";
requires "namespace::autoclean" => "0";
requires "overload" => "0";
requires "perl" => "5.012";
requires "strict" => "0";
requires "utf8" => "0";

lib/App/DBCritic.pm  view on Meta::CPAN

#pod B<dbcritic> is the command line interface.
#pod
#pod This is a work in progress - please see the L</SUPPORT> section below for
#pod information on how to contribute.  It especially needs ideas (and
#pod implementations!) of new policies!
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Carp;
use English '-no_match_vars';
use List::Util 1.33 'any';
use Module::Pluggable
    search_path => [ __PACKAGE__ . '::Policy' ],
    sub_name    => 'policies',
    instantiate => 'new';

lib/App/DBCritic/Loader.pm  view on Meta::CPAN

#pod
#pod This is a simple subclass of
#pod L<DBIx::Class::Schema::Loader|DBIx::Class::Schema::Loader> used by
#pod L<App::DBCritic|App::DBCritic> to dynamically
#pod generate a schema based on a database connection.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Moo;
extends 'DBIx::Class::Schema::Loader';
__PACKAGE__->loader_options( naming => 'v4', generate_pod => 0 );
1;

__END__

=pod

lib/App/DBCritic/Policy.pm  view on Meta::CPAN

#pod
#pod =head1 DESCRIPTION
#pod
#pod This is a L<role|Moo::Role> consumed by all L<App::DBCritic|App::DBCritic>
#pod policy plugins.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use English '-no_match_vars';
use Moo::Role;
use App::DBCritic::Violation;
use namespace::autoclean -also => qr{\A _}xms;

requires qw(description explanation violates applies_to);

#pod =method description

lib/App/DBCritic/Policy/BidirectionalRelationship.pm  view on Meta::CPAN

#pod =head1 DESCRIPTION
#pod
#pod This policy returns a violation if one or more of a
#pod L<DBIx::Class::ResultSource|DBIx::Class::ResultSource>'s relationships does not
#pod have a corresponding reverse relationship in the other class.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use English '-no_match_vars';
use Moo;
use Sub::Quote;
use namespace::autoclean -also => qr{\A _}xms;

has description => (
    is      => 'ro',
    default => quote_sub q{'Missing bidirectional relationship'},

lib/App/DBCritic/Policy/DuplicateRelationships.pm  view on Meta::CPAN

#pod =head1 DESCRIPTION
#pod
#pod This policy returns a violation if a
#pod L<DBIx::Class::ResultSource|DBIx::Class::ResultSource> has relationships to
#pod other tables that are identical in everything but name.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Algorithm::Combinatorics 'combinations';
use Data::Compare;
use English '-no_match_vars';
use Moo;
use Sub::Quote;
use namespace::autoclean -also => qr{\A _}xms;

has description => (

lib/App/DBCritic/Policy/NoPrimaryKey.pm  view on Meta::CPAN

#pod
#pod =head1 DESCRIPTION
#pod
#pod This policy returns a violation if a
#pod L<DBIx::Class::ResultSource|DBIx::Class::ResultSource> has zero primary columns.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Moo;
use Sub::Quote;
use namespace::autoclean -also => qr{\A _}xms;

has description => ( is => 'ro', default => quote_sub q{'No primary key'} );

#pod =attr description
#pod

lib/App/DBCritic/Policy/NullableTextColumn.pm  view on Meta::CPAN

#pod =head1 DESCRIPTION
#pod
#pod This policy returns a violation if a
#pod L<DBIx::Class::ResultSource|DBIx::Class::ResultSource> has nullable text
#pod columns.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use DBI ':sql_types';
use English '-no_match_vars';
use List::Util 1.33 'any';
use Moo;
use Sub::Quote;
use namespace::autoclean -also => qr{\A _}xms;

has description => (

lib/App/DBCritic/PolicyType.pm  view on Meta::CPAN

#pod
#pod =head1 DESCRIPTION
#pod
#pod This is a L<role|Moo::Role> consumed by all L<App::DBCritic|App::DBCritic>
#pod policy types.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
require Devel::Symdump;
use List::MoreUtils;
use Moo::Role;
use Sub::Quote;
use namespace::autoclean -also => qr{\A _}xms;
with 'App::DBCritic::Policy';

has applies_to => (

lib/App/DBCritic/PolicyType/ResultSet.pm  view on Meta::CPAN

#pod
#pod This is a role composed into L<App::DBCritic|App::DBCritic> policy classes
#pod that are interested in L<ResultSet|DBIx::Class::ResultSet>s.  It takes
#pod care of composing the L<App::DBCritic::Policy|App::DBCritic::Policy>
#pod for you.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Moo::Role;
use namespace::autoclean -also => qr{\A _}xms;
with 'App::DBCritic::PolicyType';
1;

__END__

=pod

lib/App/DBCritic/PolicyType/ResultSource.pm  view on Meta::CPAN

#pod
#pod This is a role composed into L<App::DBCritic|App::DBCritic> policy classes
#pod that are interested in L<ResultSource|DBIx::Class::ResultSource>s.  It takes
#pod care of composing the L<App::DBCritic::Policy|App::DBCritic::Policy>
#pod for you.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Moo::Role;
use namespace::autoclean -also => qr{\A _}xms;
with 'App::DBCritic::PolicyType';
1;

__END__

=pod

lib/App/DBCritic/PolicyType/Schema.pm  view on Meta::CPAN

#pod
#pod This is a role composed into L<App::DBCritic|App::DBCritic> policy classes
#pod that are interested in L<Schema|DBIx::Class::Schema>s.  It takes
#pod care of composing the L<App::DBCritic::Policy|App::DBCritic::Policy>
#pod for you.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Moo::Role;
use namespace::autoclean -also => qr{\A _}xms;
with 'App::DBCritic::PolicyType';
1;

__END__

=pod

lib/App/DBCritic/Violation.pm  view on Meta::CPAN

#pod
#pod =head1 DESCRIPTION
#pod
#pod This class represents L<App::DBCritic::Policy|App::DBCritic::Policy>
#pod violations flagged by L<App::DBCritic|App::DBCritic>.
#pod
#pod =cut

use strict;
use utf8;
use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)

our $VERSION = '0.023';     # VERSION
use Const::Fast;
use English '-no_match_vars';
use Moo;
use Sub::Quote;
use overload q{""} => sub { shift->as_string };

const my @TEXT_FIELDS => qw(description explanation details);
for (@TEXT_FIELDS) {

t/loader.t  view on Meta::CPAN

#!/usr/bin/env perl

use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)
use Test::Most tests => 1;
use Path::Class;
use FindBin;
use local::lib dir( $FindBin::Bin, 'schema' )->stringify();
use DBICx::TestDatabase;
use App::DBCritic;

my $schema = DBICx::TestDatabase->new('MySchema');
my $critic = new_ok( 'App::DBCritic' => [ schema => $schema ] );

t/policy/bidirectional_relationship.t  view on Meta::CPAN

#!/usr/bin/env perl

use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)
use Test::Most tests => 1;
use English '-no_match_vars';
use Path::Class;
use FindBin;
use local::lib dir( $FindBin::Bin, 'bidirectional_relationship' )
    ->stringify();
use DBICx::TestDatabase;
use App::DBCritic;

my $schema = DBICx::TestDatabase->new('MySchema');

t/policy/duplicate_relationships.t  view on Meta::CPAN

#!/usr/bin/env perl

use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)
use Test::Most tests => 1;
use English '-no_match_vars';
use Path::Class;
use FindBin;
use local::lib dir( $FindBin::Bin, 'duplicate_relationships' )->stringify();
use DBICx::TestDatabase;
use App::DBCritic;

my $schema = DBICx::TestDatabase->new('MySchema');
my $critic = App::DBCritic->new( schema => $schema );

t/policy/no_primary_key.t  view on Meta::CPAN

#!/usr/bin/env perl

use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)
use Test::Most tests => 1;
use English '-no_match_vars';
use Path::Class;
use FindBin;
use local::lib dir( $FindBin::Bin, 'no_primary_key' )->stringify();
use DBICx::TestDatabase;
use App::DBCritic;

my $schema = DBICx::TestDatabase->new('MySchema');
my $critic = App::DBCritic->new( schema => $schema );

t/policy/nullable_text_column.t  view on Meta::CPAN

#!/usr/bin/env perl

use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)
use Test::Most tests => 1;
use English '-no_match_vars';
use Path::Class;
use FindBin;
use local::lib dir( $FindBin::Bin, 'nullable_text_column' )->stringify();
use DBICx::TestDatabase;
use App::DBCritic;

my $schema = DBICx::TestDatabase->new('MySchema');
my $critic = App::DBCritic->new( schema => $schema );

t/schema.t  view on Meta::CPAN

#!/usr/bin/env perl

use Modern::Perl '2011';    ## no critic (Modules::ProhibitUseQuotedVersion)
use Test::Most tests => 1;
use Path::Class;
use FindBin;
use local::lib dir( $FindBin::Bin, 'schema' )->stringify();
use App::DBCritic;

my $critic = new_ok( 'App::DBCritic' => [ class_name => 'MySchema' ] );

xt/author/perlcritic.rc  view on Meta::CPAN

severity = brutal
verbose = 8
exclude = CodeLayout::ProhibitHashBarewords Documentation::RequirePODUseEncodingUTF8 Editor::RequireEmacsFileVariables Miscellanea::RequireRcsKeywords Modules::RequireExplicitInclusion Modules::RequireExplicitPackage Modules::RequirePerlVersion Tics:...

[CodeLayout::RequireTidyCode]
perltidyrc = xt/author/perltidy.rc

[Lax::RequireExplicitPackage::ExceptForPragmata]
allowed_pragmata = diagnostics feature perlversion strict warnings utf8 Modern::Perl

# since we're using Modern::Perl
[Compatibility::PerlMinimumVersionAndWhy]
above_version = 5.012
[Compatibility::PodMinimumVersion]
above_version = 5.012

[ControlStructures::ProhibitPostfixControls]
flowcontrol = carp cluck confess croak die exit goto warn exit

[Documentation::PodSpelling]
stop_words = Perldoc perldoc annonations PASSed DBIx accessor schemas DBICType TypeConstraints ResultSources namespace stringify DSN DBI dsn username plugins API configfile LoadingSchema nullable SQL ResultSet ResultSets ResultSource dbcritic

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.226 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )