NAME
Hub::Data::Meta - Interface for manipulating web-content meta-data
Part of the Hub Library
SYNOPSIS
use Hub;
my $meta = Hub::mkinst( 'Meta' );
$new_global_id = $meta->create_id();
$meta->define_id("user", "u%30d", 5);
$new_user_id = $meta->create_id("user");
die unless $new_user_id eq "u005";
$next_user_id = $meta->create_id("user");
die unless $new_user_id eq "u006";
$meta->define_order("users", "ascending", "name");
$meta->order_items("users", @users)
DESCRIPTION
Provides interfaces for manipulating internal data elements. These are defined as:
variable name description
_id identifier which uniquely distinguishes this item
in its container.
_sort numerical value which signifies item order within
its container.
_created_by user which has created this item
_last_modified_by user which has last modified this item
_last_modified last time this item was modified in seconds since
the epoch
METHODS
create_id | get_id | initHash | order_items | touch |
define_id | init | new | smart_compare |
- create_id
-
gets the next number for an id and returns the formmatted value. file storage is saved as 'meta.hf'.
example:
a) $meta->create_id(); b) $meta->create_id(); ... c) $meta->create_id('abc','%d',10);
returns:
a) 1 b) 2 ... c) 11 (presuming the id 'abc' wasn't defined, it is initialized)
- define_id
-
define the format and initial value for an id
example:
$meta->define_id('global', '%04d', 0); $meta->define_id('folsiz', "p%d", 100); $meta->define_id('bolmsk', "item%08d", 2000);
will create ids of the form:
0164 where the value is 164 and starts at 0 p748 where the value is 748 and starts at 100 item00012148 where the value is 12148 and starts at 200
- get_id
-
return the stored id data, or create it with default values
example:
$meta->get_id(); $meta->get_id('folsiz');
returns a hash reference to:
the global id data the id data for 'folsiz'
- init
-
Usage: initialize
- initHash
-
initialize meta-data for the provided hash
- new
-
- order_items
-
order the anon hashes within an array according to some hash key
Usage: order_items( $array_ref, 'hash_key', 'sort_key' );
1) The 'sort_key' arguement (or literally '_sort' if no arg is provided) will be assigned in the anon hash with the 0 ... n index which indicates the correct sort order.
2) sorting will use a numeric comparison when the data of the key to sort on is purely digits.
- smart_compare
-
use 'cmp' or '<=>' depending on the data. missing values are pushed to the end of the list
- touch
-
refresh meta-data in the provided hashref.
example:
$meta->touch( { this => "is", a => "hashref" } );
will:
{ _created_by => guest, _last_modified_by => guest, _created => 1071712178, _last_modified => 1071712178, this => "is", a => "hashref", }
INTERNAL
AUTHOR
Ryan Gies
COPYRIGHT
Copyright (c) 2006 Livesite Networks, LLC. All rights reserved.
Copyright (c) 2000-2005 Ryan Gies. All rights reserved.
UPDATED
This file created by mkdocs.pl on 8/29/2006 at 2:07pm