40 lines
		
	
	
		
			696 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			696 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
package App::Netdisco::Util::ExpandParams;
 | 
						|
use base qw/CGI::Expand/;
 | 
						|
 | 
						|
use strict;
 | 
						|
use warnings;
 | 
						|
 | 
						|
sub max_array {0}
 | 
						|
sub separator {'.[]'}
 | 
						|
 | 
						|
sub split_name {
 | 
						|
    my $class = shift;
 | 
						|
    my $name  = shift;
 | 
						|
    $name =~ /^ ([^\[\]\.]+) /xg;
 | 
						|
    my @segs = $1;
 | 
						|
    push @segs, ( $name =~ / \G (?: \[ ([^\[\]\.]+) \] ) /xg );
 | 
						|
    return @segs;
 | 
						|
}
 | 
						|
 | 
						|
sub join_name {
 | 
						|
    my $class = shift;
 | 
						|
    my ( $first, @segs ) = @_;
 | 
						|
    return $first unless @segs;
 | 
						|
    return "$first\[" . join( '][', @segs ) . "]";
 | 
						|
}
 | 
						|
 | 
						|
1;
 | 
						|
 | 
						|
__END__
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
App::Netdisco::Util::ExpandParams
 | 
						|
 | 
						|
=head1 DESCRIPTION
 | 
						|
 | 
						|
CGI::Expand subclass with Rails like tokenization for parameters passed
 | 
						|
during DataTables server-side processing.
 | 
						|
 | 
						|
=cut
 |