X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FAttribute%2FNative%2FTrait%2FHash.pm;h=775b7353b061bf3d917b37de57bf2905d936c25a;hb=dd6a26a2335551f8b8ebd22bf70d177d017773f2;hp=3fbc9a0ee80c89bcac9b9ea8c1ff903b8b8565d0;hpb=d4048ef33f6cad8a3453766505ee0c67690796f6;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Attribute/Native/Trait/Hash.pm b/lib/Moose/Meta/Attribute/Native/Trait/Hash.pm index 3fbc9a0..775b735 100644 --- a/lib/Moose/Meta/Attribute/Native/Trait/Hash.pm +++ b/lib/Moose/Meta/Attribute/Native/Trait/Hash.pm @@ -2,21 +2,12 @@ package Moose::Meta::Attribute::Native::Trait::Hash; use Moose::Role; -our $VERSION = '0.93'; +our $VERSION = '1.19'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; -use Moose::Meta::Attribute::Native::MethodProvider::Hash; - with 'Moose::Meta::Attribute::Native::Trait'; -has 'method_provider' => ( - is => 'ro', - isa => 'ClassName', - predicate => 'has_method_provider', - default => 'Moose::Meta::Attribute::Native::MethodProvider::Hash' -); - sub _helper_type { 'HashRef' } no Moose::Role; @@ -47,53 +38,66 @@ Moose::Meta::Attribute::Native::Trait::Hash - Helper trait for HashRef attribute has_no_options => 'is_empty', num_options => 'count', delete_option => 'delete', - pairs => 'kv', + option_pairs => 'kv', }, ); =head1 DESCRIPTION -This module provides a Hash attribute which provides a number of -hash-like operations. +This trait provides native delegation methods for array references. =head1 PROVIDED METHODS -These methods are implemented in -L. - =over 4 =item B Returns values from the hash. -In list context return a list of values in the hash for the given keys. -In scalar context returns the value for the last key specified. +In list context it returns a list of values in the hash for the given keys. In +scalar context it returns the value for the last key specified. + +This method requires at least one argument. =item B $value, $key2 =E $value2...)> -Sets the elements in the hash to the given values. +Sets the elements in the hash to the given values. It returns the new values +set for each key, in the same order as the keys passed to the method. + +This method requires at least two arguments, and expects an even number of +arguments. =item B Removes the elements with the given keys. +In list context it returns a list of values in the hash for the deleted +keys. In scalar context it returns the value for the last key specified. + =item B Returns the list of keys in the hash. +This method does not accept any arguments. + =item B Returns true if the given key is present in the hash. +This method requires a single argument. + =item B Returns true if the value of a given key is defined. +This method requires a single argument. + =item B Returns the list of values in the hash. +This method does not accept any arguments. + =item B Returns the key/value pairs in the hash as an array of array references. @@ -102,28 +106,42 @@ Returns the key/value pairs in the hash as an array of array references. print "$pair->[0] = $pair->[1]\n"; } +This method does not accept any arguments. + =item B Returns the key/value pairs in the hash as a flattened list.. +This method does not accept any arguments. + =item B Resets the hash to an empty value, like C<%hash = ()>. +This method does not accept any arguments. + =item B Returns the number of elements in the hash. Also useful for not empty: C<< has_options => 'count' >>. +This method does not accept any arguments. + =item B If the hash is populated, returns false. Otherwise, returns true. -=item B +This method does not accept any arguments. + +=item B + +=item B If passed one argument, returns the value of the specified key. If passed two arguments, sets the value of the specified key. +When called as a setter, this method returns the value that was set. + =back =head1 METHODS @@ -132,10 +150,6 @@ arguments, sets the value of the specified key. =item B -=item B - -=item B - =back =head1 BUGS