Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Tomcat42
perl-Catalyst-Model-DBIC-Schema
perl-Catalyst-Model-DBIC-Schema.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perl-Catalyst-Model-DBIC-Schema.spec of Package perl-Catalyst-Model-DBIC-Schema
# # spec file for package perl-Catalyst-Model-DBIC-Schema # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define cpan_name Catalyst-Model-DBIC-Schema Name: perl-Catalyst-Model-DBIC-Schema Version: 0.660.0 Release: 0 %define cpan_version 0.66 License: Artistic-1.0 OR GPL-1.0-or-later Summary: DBIx::Class::Schema Model Class URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Carp::Clan) BuildRequires: perl(Catalyst::Component::InstancePerContext) BuildRequires: perl(Catalyst::Devel) >= 1.0 BuildRequires: perl(Catalyst::Runtime) >= 5.80005 BuildRequires: perl(CatalystX::Component::Traits) >= 0.14 BuildRequires: perl(DBD::SQLite) BuildRequires: perl(DBIx::Class) >= 0.08114 BuildRequires: perl(DBIx::Class::Cursor::Cached) BuildRequires: perl(DBIx::Class::Schema::Loader) >= 0.04005 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.59 BuildRequires: perl(Hash::Merge) BuildRequires: perl(List::MoreUtils) BuildRequires: perl(Module::Runtime) >= 0.012 BuildRequires: perl(Moose) >= 1.12 BuildRequires: perl(MooseX::MarkAsMethods) >= 0.13 BuildRequires: perl(MooseX::NonMoose) >= 0.16 BuildRequires: perl(MooseX::Types) BuildRequires: perl(MooseX::Types::LoadableClass) >= 0.009 BuildRequires: perl(Test::Exception) BuildRequires: perl(Test::More) >= 0.94 BuildRequires: perl(Test::Requires) BuildRequires: perl(Tie::IxHash) BuildRequires: perl(Try::Tiny) BuildRequires: perl(namespace::autoclean) >= 0.09 BuildRequires: perl(namespace::clean) Requires: perl(Carp::Clan) Requires: perl(Catalyst::Component::InstancePerContext) Requires: perl(Catalyst::Devel) >= 1.0 Requires: perl(Catalyst::Runtime) >= 5.80005 Requires: perl(CatalystX::Component::Traits) >= 0.14 Requires: perl(DBIx::Class) >= 0.08114 Requires: perl(DBIx::Class::Cursor::Cached) Requires: perl(DBIx::Class::Schema::Loader) >= 0.04005 Requires: perl(Hash::Merge) Requires: perl(List::MoreUtils) Requires: perl(Module::Runtime) >= 0.012 Requires: perl(Moose) >= 1.12 Requires: perl(MooseX::MarkAsMethods) >= 0.13 Requires: perl(MooseX::NonMoose) >= 0.16 Requires: perl(MooseX::Types) Requires: perl(MooseX::Types::LoadableClass) >= 0.009 Requires: perl(Tie::IxHash) Requires: perl(Try::Tiny) Requires: perl(namespace::autoclean) >= 0.09 Requires: perl(namespace::clean) Provides: perl(Catalyst::Helper::Model::DBIC::Schema) = 0.660.0 Provides: perl(Catalyst::Model::DBIC::Schema) = 0.660.0 Provides: perl(Catalyst::TraitFor::Model::DBIC::Schema::Caching) Provides: perl(Catalyst::TraitFor::Model::DBIC::Schema::PerRequestSchema) Provides: perl(Catalyst::TraitFor::Model::DBIC::Schema::Replicated) Provides: perl(Catalyst::TraitFor::Model::DBIC::Schema::SchemaProxy) %undefine __perllib_provides %{perl_requires} %description This is a Catalyst Model for DBIx::Class::Schema-based Models. See the documentation for Catalyst::Helper::Model::DBIC::Schema for information on generating these Models via Helper scripts. When your Catalyst app starts up, a thin Model layer is created as an interface to your DBIC Schema. It should be clearly noted that the model object returned by '$c->model('FilmDB')' is NOT itself a DBIC schema or resultset object, but merely a wrapper proving methods to access the underlying schema. In addition to this model class, a shortcut class is generated for each source in the schema, allowing easy and direct access to a resultset of the corresponding type. These generated classes are even thinner than the model class, providing no public methods but simply hooking into Catalyst's model() accessor via the ACCEPT_CONTEXT mechanism. The complete contents of each generated class is roughly equivalent to the following: package MyApp::Model::FilmDB::Actor sub ACCEPT_CONTEXT { my ($self, $c) = @_; $c->model('FilmDB')->resultset('Actor'); } In short, there are three techniques available for obtaining a DBIC resultset object: # the long way my $rs = $c->model('FilmDB')->schema->resultset('Actor'); # using the shortcut method on the model object my $rs = $c->model('FilmDB')->resultset('Actor'); # using the generated class directly my $rs = $c->model('FilmDB::Actor'); In order to add methods to a DBIC resultset, you cannot simply add them to the source (row, table) definition class; you must define a separate custom resultset class. This is just a matter of making a 'lib/MyApp/Schema/ResultSet/Actor.pm' class that inherits from DBIx::Class::ResultSet, if you are using DBIx::Class::Schema/load_namespaces, the default for helper script generated schemas. See DBIx::Class::Manual::Cookbook/"Predefined searches" for information on definining your own DBIx::Class::ResultSet classes for use with DBIx::Class::Schema/load_classes, the old default. %prep %autosetup -n %{cpan_name}-%{cpan_version} %build PERL_USE_UNSAFE_INC=1 perl Makefile.PL INSTALLDIRS=vendor %make_build %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %doc Changes README %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor