File Coverage

blib/lib/Net/OAuth2Server/Set.pm
Criterion Covered Total %
statement 6 34 17.6
branch n/a
condition 0 4 0.0
subroutine 2 13 15.3
pod 0 10 0.0
total 8 61 13.1


line stmt bran cond sub pod time code
1 1     1   6 use strict; use warnings;
  1     1   2  
  1         29  
  1         4  
  1         2  
  1         844  
2             package Net::OAuth2Server::Set;
3 0     0     sub _words { map /([^ ]+)/g, grep defined, @_ }
4 0     0 0   sub new { my $class = shift; bless { map +( $_, 1 ), &_words }, $class }
  0            
5 0     0 0   sub clone { my $self = shift; bless { %$self }, ref $self }
  0            
6 0     0 0   sub list { keys %{$_[0]} }
  0            
7 0     0 0   sub is_empty { 0 == keys %{$_[0]} }
  0            
8 0     0 0   sub as_string { join ' ', sort keys %{$_[0]} }
  0            
9 0   0 0 0   sub contains { my $self = shift; exists $self->{ $_ } and return 1 for @_; 0 }
  0            
  0            
10 0   0 0 0   sub contains_all { my $self = shift; exists $self->{ $_ } or return 0 for @_; 1 }
  0            
  0            
11 0     0 0   sub add { my $self = shift; $self->{ $_ } = 1 for &_words; $self }
  0            
  0            
12 0     0 0   sub subtract { my $self = shift; delete @$self{ &_words }; $self }
  0            
  0            
13 0     0 0   sub restrict { my $self = shift; my %copy = %$self; delete @copy{ &_words }; delete @$self{ keys %copy }; $self }
  0            
  0            
  0            
  0            
14             our $VERSION = '0.004';