1 package MooseX::AttributeHelpers::MethodProvider::ImmutableHash;
5 $VERSION = eval $VERSION;
6 our $AUTHORITY = 'cpan:STEVAN';
9 my ($attr, $reader, $writer) = @_;
10 return sub { CORE::exists $reader->($_[0])->{$_[1]} ? 1 : 0 };
13 sub defined : method {
14 my ($attr, $reader, $writer) = @_;
15 return sub { CORE::defined $reader->($_[0])->{$_[1]} ? 1 : 0 };
19 my ($attr, $reader, $writer) = @_;
22 $reader->($_[0])->{$_[1]}
24 my ( $self, @keys ) = @_;
25 @{ $reader->($self) }{@keys}
31 my ($attr, $reader, $writer) = @_;
32 return sub { CORE::keys %{$reader->($_[0])} };
36 my ($attr, $reader, $writer) = @_;
37 return sub { CORE::values %{$reader->($_[0])} };
41 my ($attr, $reader, $writer) = @_;
43 my $h = $reader->($_[0]);
51 my ($attr, $reader, $writer) = @_;
52 return sub { scalar CORE::keys %{$reader->($_[0])} };
56 my ($attr, $reader, $writer) = @_;
57 return sub { scalar CORE::keys %{$reader->($_[0])} ? 1 : 0 };
68 MooseX::AttributeHelpers::MethodProvider::ImmutableHash
72 This is a role which provides the method generators for
73 L<MooseX::AttributeHelpers::Collection::ImmutableHash>.
83 =head1 PROVIDED METHODS
89 Returns the number of elements in the list.
93 If the list is populated, returns true. Otherwise, returns false.
97 Returns true if the given key is present in the hash
101 Returns true if the value of a given key is defined
105 Returns an element of the hash by its key.
109 Returns the list of keys in the hash.
113 Returns the list of values in the hash.
117 Returns the key, value pairs in the hash
123 All complex software has bugs lurking in it, and this module is no
124 exception. If you find a bug please either email me, or add the bug
129 Stevan Little E<lt>stevan@iinteractive.comE<gt>
131 =head1 COPYRIGHT AND LICENSE
133 Copyright 2007-2008 by Infinity Interactive, Inc.
135 L<http://www.iinteractive.com>
137 This library is free software; you can redistribute it and/or modify
138 it under the same terms as Perl itself.