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

FreeBSD Manual Pages

  
 
  

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

NAME
       SPOPS::Utility -	Utility	methods	for SPOPS objects

SYNOPSIS
	# 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' );

DESCRIPTION
       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
       focused.

       The different methods are fairly	unrelated.

METHODS
       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

       Example:

	$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
       undef.

       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.

       Parameters:

       o   format: strftime format

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

       today()

       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
       ([yyyy,mm,dd]).

       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
       otherwise.

       Examples:

	# 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
       Copyright (c) 2001-2004 intes.net, inc..	All rights reserved.

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

AUTHORS
       Chris Winters <chris@cwinters.com>

       See the SPOPS module for	the full author	list.

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

NAME | SYNOPSIS | DESCRIPTION | METHODS | COPYRIGHT | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SPOPS::Utility&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help