Changeset 23424 for lang/perl/Data-Model

Show
Ignore:
Timestamp:
11/12/08 23:00:31 (6 years ago)
Author:
yappo
Message:

Driver::Logic の時の model method の戻り値にイテレータを戻り値として使えるように追加

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Data-Model/trunk/lib/Data/Model/Driver/Logic.pm

    r23152 r23424  
    1111    my $schema = shift; 
    1212    my $obj = $schema->{schema_obj}; 
     13 
    1314    my $method = 'get_' . $schema->{model}; 
    14     return $self->_generate_result_iterator([ $obj->$method($schema, @_) ]), +{}; 
     15    my @ret = $obj->$method($schema, @_); 
     16    $ret[1] = +{}; 
     17    if (ref($ret[0]) eq 'CODE') { 
     18        return @ret; 
     19    } elsif (ref($ret[0]) eq 'ARRAY') { 
     20        return $self->_generate_result_iterator($ret[0]), $ret[1]; 
     21    } else { 
     22        return $self->_generate_result_iterator([ $ret[0] ]), $ret[1]; 
     23    } 
    1524} 
    1625