Mark Gardner > App-DBCritic-0.020 > App::DBCritic::Policy

Download:
App-DBCritic-0.020.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.020   Source   Latest Release: App-DBCritic-0.021-TRIAL

NAME ^

App::DBCritic::Policy - Role for criticizing database schemas

VERSION ^

version 0.020

SYNOPSIS ^

    package App::DBCritic::Policy::MyPolicy;
    use Moo;

    has description => ( default => sub{'Follow my policy'} );
    has explanation => ( default => {'My way or the highway'} );
    has applies_to  => ( default => sub { ['ResultSource'] } );
    with 'App::DBCritic::Policy';

    sub violates { $_[0]->element ne '' }

DESCRIPTION ^

This is a role consumed by all App::DBCritic policy plugins.

ATTRIBUTES ^

element

Read-only accessor for the current schema element being examined by App::DBCritic.

schema

Read-only accessor for the current schema object being examined by App::DBCritic.

METHODS ^

violation

Given a string description of a violation that has been encountered, creates a new App::DBCritic::Violation object from the current policy.

REQUIRED METHODS ^

description

Returns a short string describing what's wrong.

explanation

Returns a string giving further details.

applies_to

Returns an array reference of types of DBIx::Class objects indicating what part(s) of the schema the policy is interested in.

violates

Role consumers must implement a violates method that returns true if the policy is violated and false otherwise, based on attributes provided by the role. Callers should call the violates method as the following:

    $policy->violates($element, $schema);
Arguments: $element, $schema
Return value: nothing if the policy passes, or a App::DBCritic::Violation object if it doesn't.

SUPPORT ^

Perldoc

You can find documentation for this module with the perldoc command.

  perldoc bin::dbcritic

Websites

The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.

Bugs / Feature Requests

Please report any bugs or feature requests through the web interface at https://github.com/mjgardner/dbcritic/issues. You will be automatically notified of any progress on the request by the system.

Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)

https://github.com/mjgardner/dbcritic

  git clone git://github.com/mjgardner/dbcritic.git

AUTHOR ^

Mark Gardner <mjgardner@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2011 by Mark Gardner.

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

syntax highlighting: