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
107 All complex software has bugs lurking in it, and this module is no
108 exception. If you find a bug please either email me, or add the bug
113 Stevan Little E<lt>stevan@iinteractive.comE<gt>
115 =head1 COPYRIGHT AND LICENSE
117 Copyright 2007-2008 by Infinity Interactive, Inc.
119 L<http://www.iinteractive.com>
121 This library is free software; you can redistribute it and/or modify
122 it under the same terms as Perl itself.