1 package App::IdiotBox::Bucket;
5 sub fields { return qw(slug name) }
7 with 'App::IdiotBox::Clonable';
9 sub slug { shift->{slug} }
10 sub name { shift->{name} }
12 exists $_[0]->{video_count}
13 ? $_[0]->{video_count}
14 : $_[0]->{videos}->count
16 sub videos { shift->{videos} }
19 my ($class, %args) = @_;
21 unless ($args{name} && $args{slug}) {
22 return (undef, "Please enter a name and a bucket");
24 if ($args{name} =~ /^\s+$/ || $args{slug} =~ /^\s+$/) {
25 return (undef, "Names/buckets must not be all whitespace");
28 $args{slug} =~ s/\s+/-/g;
37 my ($self, %args) = @_;
39 unless ($args{name}) {
40 return (undef, "Please enter a new name");
43 if ($args{name} =~ /^\s+$/) {
44 return (undef, "Names must not be all whitespace");
47 $self->{name} = $args{name};