File Coverage

blib/lib/DBIx/Class/Storage/DBI/ADO/MS_Jet/Cursor.pm
Criterion Covered Total %
statement 21 29 72.4
branch n/a
condition 0 6 0.0
subroutine 7 9 77.7
pod 2 2 100.0
total 30 46 65.2


line stmt bran cond sub pod time code
1             package DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor;
2              
3 2     2   921 use strict;
  2         5  
  2         64  
4 2     2   14 use warnings;
  2         5  
  2         61  
5 2     2   14 use base 'DBIx::Class::Storage::DBI::Cursor';
  2         7  
  2         563  
6 2     2   13 use mro 'c3';
  2         4  
  2         9  
7              
8 2     2   59 use DBIx::Class::Storage::DBI::ADO::CursorUtils '_normalize_guids';
  2         4  
  2         78  
9 2     2   10 use DBIx::Class::ResultSource::FromSpec::Util 'fromspec_columns_info';
  2         4  
  2         82  
10 2     2   15 use namespace::clean;
  2         6  
  2         10  
11              
12             =head1 NAME
13              
14             DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor - GUID Support for MS Access over
15             ADO
16              
17             =head1 DESCRIPTION
18              
19             This class is for normalizing GUIDs retrieved from Microsoft Access over ADO.
20              
21             You probably don't want to be here, see
22             L for information on the Microsoft
23             Access driver.
24              
25             Unfortunately when using L, GUIDs come back wrapped in braces, the
26             purpose of this class is to remove them.
27             L sets
28             L to this class by default.
29             It is overridable via your
30             L.
31              
32             You can use L safely with this class and not lose
33             the GUID normalizing functionality,
34             L<::Cursor::Cached|DBIx::Class::Cursor::Cached> uses the underlying class data
35             for the inner cursor class.
36              
37             =cut
38              
39             sub next {
40 0     0 1   my $self = shift;
41              
42 0           my @row = $self->next::method(@_);
43              
44             _normalize_guids(
45             $self->args->[1],
46 0   0       $self->{_colinfos} ||= fromspec_columns_info($self->args->[0]),
47             \@row,
48             $self->storage
49             );
50              
51 0           return @row;
52             }
53              
54             sub all {
55 0     0 1   my $self = shift;
56              
57 0           my @rows = $self->next::method(@_);
58              
59             _normalize_guids(
60             $self->args->[1],
61             $self->{_colinfos} ||= fromspec_columns_info($self->args->[0]),
62             $_,
63             $self->storage
64 0   0       ) for @rows;
65              
66 0           return @rows;
67             }
68              
69             =head1 FURTHER QUESTIONS?
70              
71             Check the list of L.
72              
73             =head1 COPYRIGHT AND LICENSE
74              
75             This module is free software L
76             by the L. You can
77             redistribute it and/or modify it under the same terms as the
78             L.
79              
80             =cut
81              
82             1;
83              
84             # vim:sts=2 sw=2: