NAME
Moose::Meta::Attribute::Native::Trait::Hash
SYNOPSIS
package Stuff;
use Moose;
has 'options' => (
traits => ['Hash'],
is => 'ro',
isa => 'HashRef[Str]',
default => sub { {} },
handles => {
set_option => 'set',
get_option => 'get',
has_no_options => 'empty',
num_options => 'count',
delete_option => 'delete',
pairs => 'kv',
},
);
DESCRIPTION
This module provides a Hash attribute which provides a number of hash-like operations.
PROVIDED METHODS
These methods are implemented in Moose::Meta::Attribute::Native::MethodProvider::Hash.
- get($key)
-
Returns an element of the hash by its key.
- set($key)
-
Sets the element in the hash at the given key to the given value.
- delete($key)
-
Removes the element with the given key.
- keys
-
Returns the list of keys in the hash.
- exists($key)
-
Returns true if the given key is present in the hash.
- defined($key)
-
Returns true if the value of a given key is defined.
- values
-
Returns the list of values in the hash.
- kv
-
Returns the key/value pairs in the hash as an array of array references.
for my $pair ( $object->options->pairs ) { print "$pair->[0] = $pair->[1]\n"; }
- elements
-
Returns the key/value pairs in the hash as a flattened list..
- clear
-
Resets the hash to an empty value, like
%hash = ()
. - count
-
Returns the number of elements in the hash.
- empty
-
If the hash is populated, returns false. Otherwise, returns true.
- accessor
-
If passed one argument, returns the value of the specified key. If passed two arguments, sets the value of the specified key.
METHODS
- meta
- method_provider
- has_method_provider
BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.
AUTHOR
Stevan Little <stevan@iinteractive.com>
COPYRIGHT AND LICENSE
Copyright 2007-2009 by Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.