1package App::Netdisco::Util::ExpandParams; 2use base qw/CGI::Expand/; 3 4use strict; 5use warnings; 6 7sub max_array {0} 8sub separator {'.[]'} 9 10sub split_name { 11 my $class = shift; 12 my $name = shift; 13 $name =~ /^ ([^\[\]\.]+) /xg; 14 my @segs = $1; 15 push @segs, ( $name =~ / \G (?: \[ ([^\[\]\.]+) \] ) /xg ); 16 return @segs; 17} 18 19sub join_name { 20 my $class = shift; 21 my ( $first, @segs ) = @_; 22 return $first unless @segs; 23 return "$first\[" . join( '][', @segs ) . "]"; 24} 25 261; 27 28__END__ 29 30=head1 NAME 31 32App::Netdisco::Util::ExpandParams 33 34=head1 DESCRIPTION 35 36CGI::Expand subclass with Rails like tokenization for parameters passed 37during DataTables server-side processing. 38 39=cut 40