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
 |