Revision 552

Date:
2016/03/10 17:47:50
Author:
ahitrov
Revision Log:
get_objects method
Files:

Legend:

 
Added
 
Removed
 
Modified
  • utf8/plugins/tag/lib/tag/Tag.pm

     
    10 10 )
    11 11 }
    12 12
    13 sub get_objects
    14 {
    15 my $self = shift;
    16 return unless $self->id;
    13 17
    18 my (%opts) = @_;
    19 return unless exists $opts{class};
    20
    21 my $cache = delete $opts{cache};
    22 my $key = 'objects_class_'.$opts{class}.'_by_tag_'.$self->id;
    23 my $objects = $cache && $state->memcached_enable ? $keeper->MEMD->get( $key ) : undef;
    24 unless ( ref $objects ) {
    25 $objects = $keeper->get_documents(
    26 %opts,
    27 lclass => 'tag::Cloud',
    28 lsource => $self->id,
    29 return_mode => 'array_ref',
    30 );
    31 if ( $cache && $state->memcached_enable ) {
    32 map { $_->{keeper} = undef } @$objects;
    33 $keeper->MEMD->set( $key, $objects );
    34 }
    35 }
    36 if ( $cache && $state->memcached_enable && ref $objects eq 'ARRAY' ) {
    37 map { $_->{keeper} = $keeper } @$objects;
    38 }
    39 return $objects;
    40 }
    41
    14 42 sub class_name
    15 43 {
    16 44 return 'Тег';