Main Koha release repository https://koha-community.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.6 KiB

package Koha::ClassSplitRule;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 3 of the License, or (at your option) any later
# version.
#
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with Koha; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use Modern::Perl;
use JSON qw(to_json from_json);
use Koha::Database;
use base qw(Koha::Object);
=head1 NAME
Koha::ClassSplitRule Koha Classfication Spliting Rule Object class
=head1 API
=head2 Class Methods
=cut
=head3 new
Accept 'regexs' as a valid attribute.
It should be an arrayref that will be serialized in JSON before stored in DB.
=cut
sub new {
my ($class, $attributes) = @_;
if ( exists $attributes->{regexs} ) {
$attributes->{split_regex} = to_json($attributes->{regexs});
delete $attributes->{regexs};
}
return $class->SUPER::new($attributes);
}
=head3 regexs
my $regexs = $rule->regexs
$rule->regex(\@regexs);
Getter or setter for split_regex
=cut
sub regexs {
my ( $self, $regexs ) = @_;
return $regexs
? $self->split_regex( to_json($regexs) )
: from_json( $self->split_regex || '[]' );
}
=head3 type
=cut
sub _type {
return 'ClassSplitRule';
}
1;