[Rt-commit] r2020 - in DBIx-SearchBuilder/trunk: . SearchBuilder t
jesse at bestpractical.com
jesse at bestpractical.com
Mon Dec 20 21:51:45 EST 2004
Author: jesse
Date: Mon Dec 20 21:51:44 2004
New Revision: 2020
Modified:
DBIx-SearchBuilder/trunk/ (props changed)
DBIx-SearchBuilder/trunk/Changes
DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm
DBIx-SearchBuilder/trunk/t/01records.t
Log:
r2496 at hualien: jesse | 2004-12-21T02:47:37.387098Z
_Accessible fixes from Ruslan
Modified: DBIx-SearchBuilder/trunk/Changes
==============================================================================
--- DBIx-SearchBuilder/trunk/Changes (original)
+++ DBIx-SearchBuilder/trunk/Changes Mon Dec 20 21:51:44 2004
@@ -1,5 +1,9 @@
Revision history for Perl extension DBIx::SearchBuilder.
+1.17_02
+ - Better handling of empty values for SB::Record::_Accessible. ( --Ruslan)
+
+
1.17_01
- More record tests from Ruz
Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm (original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm Mon Dec 20 21:51:44 2004
@@ -489,22 +489,24 @@
# }}}
-# {{{ sub _Accessible
+# {{{ sub _Accessible
-*_accessible = \&Accessible;
+=head2 _Accessible KEY MODE
+
+Private method.
+
+Returns undef unless C<KEY> is accessible in C<MODE> otherwise returns C<MODE> value
+
+=cut
+
+*_accessible = \&_Accessible;
sub _Accessible {
my $self = shift;
my $attr = shift;
- my $mode = lc(shift);
-
- # @_ is the Accessible data from our subclass. Time to populate
- # the accessible columns datastructure (but only if we're using
- # something with the ancient API that predates ClassAccessible
+ my $mode = lc(shift || '');
- # return true if we can $mode $Attrib;
- local ($^W) = 0;
my $attribute = $self->_ClassAccessible(@_)->{$attr};
- return 0 unless (defined $attribute && $attribute->{$mode});
+ return unless defined $attribute;
return $attribute->{$mode};
}
Modified: DBIx-SearchBuilder/trunk/t/01records.t
==============================================================================
--- DBIx-SearchBuilder/trunk/t/01records.t (original)
+++ DBIx-SearchBuilder/trunk/t/01records.t Mon Dec 20 21:51:44 2004
@@ -9,7 +9,7 @@
if ($@) {
plan skip_all => "DBD::SQLite required for testing database interaction"
} else{
-plan tests => 31;
+plan tests => 34;
}
my $handle;
use_ok('DBIx::SearchBuilder::Handle::SQLite');
@@ -30,6 +30,11 @@
my $rec = TestApp::Address->new($handle);
isa_ok($rec, 'DBIx::SearchBuilder::Record');
+# _Accessible testings
+is( $rec->_Accessible('id' => 'read'), 1, 'id is accessible for read' );
+is( $rec->_Accessible('id' => 'write'), undef, 'id is not accessible for write' );
+is( $rec->_Accessible('unexpected_field' => 'read'), undef, "field doesn't exist and can't be accessible for read" );
+
can_ok($rec,'Create');
my ($id) = $rec->Create( Name => 'Jesse', Phone => '617 124 567');
More information about the Rt-commit
mailing list