DBIx-Class-PseudoEnum

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "CPAN::Meta" : "2.120900"
         },
         "requires" : {
            "DBIx::Class::Core" : "0",
            "DBIx::Class::Schema" : "0",
            "ExtUtils::MakeMaker" : "0",
            "File::Spec" : "0",
            "FindBin" : "0",
            "IO::Handle" : "0",
            "IPC::Open3" : "0",
            "Modern::Perl" : "0",
            "Test2::Plugin::ExitSummary" : "0",
            "Test2::Plugin::NoWarnings" : "0",
            "Test2::Plugin::Times" : "0",
            "Test2::V0" : "0",
            "Test::DBIx::Class" : "0",
            "Test::More" : "0",
            "base" : "0",
            "lib" : "0",
            "perl" : "5.010"
         }

META.json  view on Meta::CPAN

         "Dist::Zilla::Plugin::RunExtraTests" : "0.029",
         "Dist::Zilla::Plugin::SchwartzRatio" : "0.3.4",
         "Dist::Zilla::Plugin::Test::Compile" : "2.058",
         "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.029",
         "Dist::Zilla::Plugin::TestRelease" : "6.030",
         "ExtUtils::MakeMaker" : "7.62",
         "File::Spec" : "3.80",
         "FindBin" : "1.52",
         "IO::Handle" : "1.46",
         "IPC::Open3" : "1.21",
         "Modern::Perl" : "1.20230106",
         "Sub::Quote" : "2.006008",
         "Test2::Plugin::ExitSummary" : "0.000155",
         "Test2::Plugin::NoWarnings" : "0.09",
         "Test2::Plugin::Times" : "0.000155",
         "Test2::V0" : "0.000155",
         "Test::DBIx::Class" : "0.52",
         "Test::More" : "1.302183",
         "base" : "2.27",
         "lib" : "0.65",
         "parent" : "0.238",

META.yml  view on Meta::CPAN

author:
  - 'D Ruth Holloway <ruth@hiruthie.me>'
build_requires:
  DBIx::Class::Core: '0'
  DBIx::Class::Schema: '0'
  ExtUtils::MakeMaker: '0'
  File::Spec: '0'
  FindBin: '0'
  IO::Handle: '0'
  IPC::Open3: '0'
  Modern::Perl: '0'
  Test2::Plugin::ExitSummary: '0'
  Test2::Plugin::NoWarnings: '0'
  Test2::Plugin::Times: '0'
  Test2::V0: '0'
  Test::DBIx::Class: '0'
  Test::More: '0'
  base: '0'
  lib: '0'
  perl: '5.010'
configure_requires:

META.yml  view on Meta::CPAN

    Dist::Zilla::Plugin::RunExtraTests: '0.029'
    Dist::Zilla::Plugin::SchwartzRatio: 0.3.4
    Dist::Zilla::Plugin::Test::Compile: '2.058'
    Dist::Zilla::Plugin::Test::ReportPrereqs: '0.029'
    Dist::Zilla::Plugin::TestRelease: '6.030'
    ExtUtils::MakeMaker: '7.62'
    File::Spec: '3.80'
    FindBin: '1.52'
    IO::Handle: '1.46'
    IPC::Open3: '1.21'
    Modern::Perl: '1.20230106'
    Sub::Quote: '2.006008'
    Test2::Plugin::ExitSummary: '0.000155'
    Test2::Plugin::NoWarnings: '0.09'
    Test2::Plugin::Times: '0.000155'
    Test2::V0: '0.000155'
    Test::DBIx::Class: '0.52'
    Test::More: '1.302183'
    base: '2.27'
    lib: '0.65'
    parent: '0.238'

Makefile.PL  view on Meta::CPAN

    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "DBIx::Class::Core" => 0,
    "DBIx::Class::Schema" => 0,
    "ExtUtils::MakeMaker" => 0,
    "File::Spec" => 0,
    "FindBin" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,
    "Modern::Perl" => 0,
    "Test2::Plugin::ExitSummary" => 0,
    "Test2::Plugin::NoWarnings" => 0,
    "Test2::Plugin::Times" => 0,
    "Test2::V0" => 0,
    "Test::DBIx::Class" => 0,
    "Test::More" => 0,
    "base" => 0,
    "lib" => 0
  },
  "VERSION" => "1.0003",

Makefile.PL  view on Meta::CPAN

  "Carp" => 0,
  "DBIx::Class::Candy::Exports" => 0,
  "DBIx::Class::Core" => 0,
  "DBIx::Class::Row" => 0,
  "DBIx::Class::Schema" => 0,
  "ExtUtils::MakeMaker" => 0,
  "File::Spec" => 0,
  "FindBin" => 0,
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "Modern::Perl" => 0,
  "Sub::Quote" => 0,
  "Test2::Plugin::ExitSummary" => 0,
  "Test2::Plugin::NoWarnings" => 0,
  "Test2::Plugin::Times" => 0,
  "Test2::V0" => 0,
  "Test::DBIx::Class" => 0,
  "Test::More" => 0,
  "base" => 0,
  "lib" => 0,
  "parent" => 0,

README.mkdn  view on Meta::CPAN


## enumerations\_use\_column\_names()

Calling this function will require the schema to create methods with the column name included.  E.g. instead of 
`is_value`, you get `fieldname_is_value` methods. It only operates on the Result class where you call it.

# DEPENDENCIES

- [Carp](https://metacpan.org/pod/Carp)
- [DBIx::Class](https://metacpan.org/pod/DBIx%3A%3AClass)
- [Modern::Perl](https://metacpan.org/pod/Modern%3A%3APerl)
- [Sub::Quote](https://metacpan.org/pod/Sub%3A%3AQuote)

# BUGS AND LIMITATIONS

Bugs?  What bugs?  (No, really. If you find one, open an issue, please.)

The following limitations are (currently) present:

- **Text columns only!**:

cpanfile  view on Meta::CPAN

requires "warnings" => "0";

on 'test' => sub {
  requires "DBIx::Class::Core" => "0";
  requires "DBIx::Class::Schema" => "0";
  requires "ExtUtils::MakeMaker" => "0";
  requires "File::Spec" => "0";
  requires "FindBin" => "0";
  requires "IO::Handle" => "0";
  requires "IPC::Open3" => "0";
  requires "Modern::Perl" => "0";
  requires "Test2::Plugin::ExitSummary" => "0";
  requires "Test2::Plugin::NoWarnings" => "0";
  requires "Test2::Plugin::Times" => "0";
  requires "Test2::V0" => "0";
  requires "Test::DBIx::Class" => "0";
  requires "Test::More" => "0";
  requires "base" => "0";
  requires "lib" => "0";
  requires "perl" => "5.010";
};

lib/DBIx/Class/PseudoEnum.pm  view on Meta::CPAN

C<is_value>, you get C<fieldname_is_value> methods. It only operates on the Result class where you call it.

=head1 DEPENDENCIES

=over 4

=item L<Carp>

=item L<DBIx::Class>

=item L<Modern::Perl>

=item L<Sub::Quote>

=back

=head1 BUGS AND LIMITATIONS

Bugs?  What bugs?  (No, really. If you find one, open an issue, please.)

The following limitations are (currently) present:

perlcriticrc  view on Meta::CPAN

[Subroutines::ProhibitExcessComplexity]
max_mccabe = 25

[TestingAndDebugging::ProhibitNoStrict]
allow = refs

[TestingAndDebugging::ProhibitNoWarnings]
allow = redefine

[TestingAndDebugging::RequireUseStrict]
equivalent_modules = Modern::Perl

[TestingAndDebugging::RequireUseWarnings]
equivalent_modules = Modern::Perl

[ValuesAndExpressions::ProhibitInterpolationOfLiterals]
allow_if_string_contains_single_quote = 1

[Variables::ProhibitPackageVars]
add_packages = Carp Test::Builder

#
# Turn these off!
#

t/00-report-prereqs.dd  view on Meta::CPAN

                                     'CPAN::Meta' => '2.120900'
                                   },
                   'requires' => {
                                   'DBIx::Class::Core' => '0',
                                   'DBIx::Class::Schema' => '0',
                                   'ExtUtils::MakeMaker' => '0',
                                   'File::Spec' => '0',
                                   'FindBin' => '0',
                                   'IO::Handle' => '0',
                                   'IPC::Open3' => '0',
                                   'Modern::Perl' => '0',
                                   'Test2::Plugin::ExitSummary' => '0',
                                   'Test2::Plugin::NoWarnings' => '0',
                                   'Test2::Plugin::Times' => '0',
                                   'Test2::V0' => '0',
                                   'Test::DBIx::Class' => '0',
                                   'Test::More' => '0',
                                   'base' => '0',
                                   'lib' => '0',
                                   'perl' => '5.010'
                                 }

t/lib/TestSchema.pm  view on Meta::CPAN

package TestSchema;
use Modern::Perl;
use base qw(DBIx::Class::Schema);

__PACKAGE__->load_namespaces();

1;

t/lib/TestSchema/Result/Contraption.pm  view on Meta::CPAN

package TestSchema::Result::Contraption;
use Modern::Perl;
use base qw(DBIx::Class::Core);

__PACKAGE__->table('contraption');
__PACKAGE__->add_columns(qw(id color));
__PACKAGE__->add_columns( status => { is_nullable => 1, }, );
__PACKAGE__->add_columns( note => { is_nullable => 1, }, );
__PACKAGE__->set_primary_key('id');
__PACKAGE__->load_components('PseudoEnum');
__PACKAGE__->source_info(
   {

t/lib/TestSchema/Result/Doodad.pm  view on Meta::CPAN

package TestSchema::Result::Doodad;
use Modern::Perl;
use parent qw(DBIx::Class::Core);

__PACKAGE__->table('doodad');
__PACKAGE__->add_columns(qw/id status color/);
__PACKAGE__->add_columns( note => { is_nullable => 1, }, );
__PACKAGE__->set_primary_key('id');

__PACKAGE__->load_components('PseudoEnum');
__PACKAGE__->enumerate( 'status', [qw/Ordered In-Stock Out-Of-Stock/] );
__PACKAGE__->enumerate( 'color',  [qw/Black Blue Green Red/] );

t/lib/TestSchema/Result/Doohickey.pm  view on Meta::CPAN

package TestSchema::Result::Doohickey;
use Modern::Perl;
use base qw(DBIx::Class::Core);

__PACKAGE__->table('doohickey');
__PACKAGE__->add_columns(qw/id field1 field2/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->load_components('PseudoEnum');
__PACKAGE__->enumerations_use_column_names();
__PACKAGE__->enumerate( 'field1', [qw/One Two Three Four Blue/] );
__PACKAGE__->enumerate( 'field2', [qw/BLUE RED GREEN/] );



( run in 0.580 second using v1.01-cache-2.11-cpan-4d50c553e7e )