Validation::Class::Mapping(3)

NAME
Validation::Class::Mapping - Generic Container Class for a Hash Reference

VERSION
version 7.900056

SYNOPSIS
    use Validation::Class::Mapping;

    my $foos = Validation::Class::Mapping->new;

    $foos->add(foo => 'one foo');
    $foos->add(bar => 'one bar');

    print $foos->count; # 2 objects

DESCRIPTION
Validation::Class::Mapping is a container class that provides general-purpose functionality for hashref objects.

METHODS

  new
    my $self = Validation::Class::Mapping->new;

  add
    $self = $self->add(foo => 1, bar => 2);

  clear
    $self = $self->clear;

  count
    my $count = $self->count;

  delete
    $value = $self->delete($name);

  defined
    $true if $self->defined($name) # defined

  each
    $self = $self->each(sub{

        my ($key, $value) = @_;

    });

  exists
    $true if $self->exists($name) # exists

  get
    my $value = $self->get($name); # i.e. $self->{$name}

  grep
    $new_list = $self->grep(qr/update_/);

  has
    $true if $self->has($name) # defined or exists

  hash
    my $hash = $self->hash;

  iterator
    my $next = $self->iterator();

    # defaults to iterating by keys but accepts: sort, rsort, nsort, or rnsort
    # e.g. $self->iterator('sort', sub{ (shift) cmp (shift) });

    while (my $item = $next->()) {
        # do something with $item (value)
    }

  keys
    my @keys = $self->keys;

  list
    my %hash = $self->list;

  merge
    $self->merge($hashref);

  nsort
    my @keys = $self->nsort;

  pairs
    my @pairs = $self->pairs;
    # or filter using $self->pairs('grep', $regexp);

    foreach my $pair (@pairs) {
        # $pair->{key} is $pair->{value};
    }

  rmerge
    $self->rmerge($hashref);

  rnsort
    my @keys = $self->rnsort;

  rsort
    my @keys = $self->rsort;

  sort
    my @keys = $self->sort(sub{...});

  values
    my @values = $self->values;

AUTHOR
Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Al Newkirk.

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