Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SPOPS::Utility(3)     User Contributed Perl Documentation    SPOPS::Utility(3)

       SPOPS::Utility -	Utility	methods	for SPOPS objects

	# In configuration file
	 'isa' => [ qw/	SPOPS::Utility SPOPS::DBI / ],

	# Create an object and run a utility
	my $user = MyApp::User->fetch( $id );
	$user->{crypted_password} = $user->crypt_it( $new_password );

	# Also use them	separately
	use SPOPS::Utility qw();

	my $now	= SPOPS::Utility->now;
	my $random = SPOPS::Utility->generate_random_code( 16 );
	my ( $lower, $upper ) =	SPOPS::Utility->determine_limit( '50,100' );

       This class has a	number of utility methods that can be used from	SPOPS
       objects or from the SPOPS classes. They were previously in the main
       SPOPS module but	were removed to	make the classes more consistent and

       The different methods are fairly	unrelated.

       determine_limit(	$limit )

       This supports the "fetch()" implementation of SPOPS subclasses. It is
       used to help figure out what records to fetch. Pass in a	$limit string
       and get back a two-item list with the offset and	max.

       The $limit string can be	in one of two formats:

	 'x,y'	--> offset = x,	max = y
	 'x'	--> offset = 0,	max = x


	$p->{limit} = "20,30";
	my ( $offset, $max ) = SPOPS::Utility->determine_limit(	$p->{limit} );

	# Offset is 20,	max is 30, so you should get back records 20 - 30.

       If no $limit is passed in, the values of	both items in the two-value
       list are	0.

       generate_random_code( $length )

       Generates a random code of $length length consisting of upper-case
       characters in the english alphabet.

       crypt_it( $text )

       Returns a crypt()ed version of $text. If	$text not passed in, returns

       now( \% )

       Return the current time,	formatted: yyyy-mm-dd hh:mm:ss.	Since we use
       the Class::Date module (which in	turn uses standard strftime formatting
       strings), you can pass in a format for the date/time to fit your	needs.


       o   format: strftime format

       o   time: return	of time	command	(or manipulation thereof); see
	   "perldoc -f time"


       Return a	date (yyyy-mm-dd) for today.

       now_between_dates( { begin => $dateinfo,	end => $dateinfo } )

       Where $dateinfo is either a simple scalar ('yyyy-mm-dd')	or an arrayref

       Note that you can also just pass	one of the dates and the check will
       still perform ok.

       Returns 1 if 'now' is between the two dates (inclusive),	undef


	# Today	is '2000-10-31'	in all examples

	SPOPS::Utility->now_between_days( { begin => '2000-11-01' } );
	( returns 'undef' )

	SPOPS::Utility->now_between_days( { end	=> '1999-10-31'	} );
	( returns 'undef' )

	SPOPS::Utility->now_between_days( { begin => [2000, 10,	1 ] } );
	( returns 1 )

	SPOPS::Utility->now_between_days( { begin => '2000-10-01',
					    end	  => '2001-10-01' } );
	( returns 1 )

       list_process( \@existing, \@new )

       Returns:	hashref	with three keys, each with an arrayref as the value:

	keep:	items found in both \@existing and \@new
	add:	items found in \@new but not \@existing
	remove:	items found in \@existing but not \@new

       Mainly used for determining one-to-many relationship changes, but you
       can probably think of other applications.

       Copyright (c) 2001-2004, inc..	All rights reserved.

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       Chris Winters <>

       See the SPOPS module for	the full author	list.

perl v5.32.1			  2004-06-02		     SPOPS::Utility(3)


Want to link to this manual page? Use this URL:

home | help