Skip to content

Instantly share code, notes, and snippets.

@aanoaa
Created December 26, 2011 07:58
Show Gist options
  • Save aanoaa/1520730 to your computer and use it in GitHub Desktop.
Save aanoaa/1520730 to your computer and use it in GitHub Desktop.
#-----------------------------------------------
# by @jeen
#-----------------------------------------------
sub get_activities {
my ($self, $args) = @_;
my ( $cond, $attr ) = $self->_get_activities_condition($args);
my $r = $self->resultset('Activity')->search($cond, $attr);
my $pager = $self->pageset($r->pager);
my @list;
while(my $row = $r->next) {
push @list, $row;
}
(\@list, $pager);
}
# 사용할때는,
my ($activities, $pager) = $self->system_api->get_activities($param);
$c->stash->{activities} = $activities;
$c->stash->{pager} = $pager;
#-----------------------------------------------
# by @aanoaa
#-----------------------------------------------
use Data::SearchEngine::Results;
use Data::SearchEngine::Item;
use Data::SearchEngine::Paginator;
sub search {
my ($self, $query) = @_;
my $cond = $query->query;
my $count = $self->get_subjects($cond)->count;
my $attr = { row => $query->count, page => $query->page };
my $rs = $self->get_subjects($cond, $attr);
my $result = Data::SearchEngine::Results->new(
query => $query,
pager => Data::SearchEngine::Paginator->new(
current_page => $query->page,
entries_per_page => $query->count,
total_entries => $count,
)
);
while (my $subject = $rs->next) {
my %columns;
map { $columns{$_} = $subject->$_ } qw/foo bar baz/;
$columns{oops} = [$subject->oops];
$result->add(Data::SearchEngine::Item->new(
id => $subject->id,
values => \%columns,
));
}
return $result;
}
# 사용할때는,
my $query = Data::SearchEngine::Query->new(
count => $self->ROW_COUNT,
page => $c->req->param('page') || 1,
type => 'query_string',
query => $cond,
);
$c->stash->{oops} = $c->model('API')->find('Subject')->search($query);
@aanoaa
Copy link
Author

aanoaa commented Dec 26, 2011

내부 API 통일?
..그딴거 없고 패기있게 구현하고 그지 같으면 혼나가면서 바꿉니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment