50d77dc289da9e148a00614fdcd17dc8bcd6028c
[gitmo/Moose-Autobox.git] / lib / Moose / Autobox / Hash.pm
1 package Moose::Autobox::Hash;
2 use Moose::Role 'with';
3
4 our $VERSION = '0.01';
5
6 with 'Moose::Autobox::Ref',
7      'Moose::Autobox::Indexed';
8
9 sub delete { 
10     my ($hash, $key) = @_;
11     CORE::delete $hash->{$key}; 
12 }
13
14 # ::Indexed implementation
15
16 sub exists { 
17     my ($hash, $key) = @_;
18     CORE::exists $hash->{$key}; 
19 }
20
21 sub keys { 
22     my ($hash) = @_;
23     [ CORE::keys %$hash ];
24 }
25
26 sub values { 
27     my ($hash) = @_;    
28     [ CORE::values %$hash ]; 
29 }
30
31 sub kv {
32     my ($hash) = @_;    
33     [ CORE::map { [ $_, $hash->{$_} ] } CORE::keys %$hash ];    
34 }
35
36 1;