Acme-MomoiroClover

 view release on metacpan or  search on metacpan

lib/Acme/MomoiroClover.pm  view on Meta::CPAN


    # order by desc if $order is true
    if ($order) {
        return sort {$b->$type <=> $a->$type} @members;
    }
    else {
        return sort {$a->$type <=> $b->$type} @members;
    }
}

sub select {
    my ($self, $type, $number, $operator, @members) = @_;

    $self->_die('invalid operator was passed in')
        unless grep {$operator eq $_} qw(== >= <= > <);

    @members = $self->members unless @members;
    my $compare = eval "(sub { \$number $operator \$_[0] })";

    return grep { $compare->($_->$type) } @members;
}

lib/Acme/MomoiroClover.pm  view on Meta::CPAN


  # retrieve the members on their activities
  my @members              = $momoclo_chan->members;             # retrieve all
  my @active_members       = $momoclo_chan->members('active');
  my @graduate_members     = $momoclo_chan->members('graduate');
  my @at_some_time_members = $momoclo_chan->members(Date::Simple->new('2001-01-01'));

  # retrieve the members under some conditions
  my @sorted_by_age        = $momoclo_chan->sort('age', 1);
  my @sorted_by_class      = $momoclo_chan->sort('class', 1);
  my @selected_by_age      = $momoclo_chan->select('age', 17, '>=');
  my @selected_by_class    = $momoclo_chan->select('class', 5, '==');

=head1 DESCRIPTION

"Morning Clover" is one of highly famous Japanese lock stars.

This module, Acme::MomoiroClover, provides an easy method to catch up
with Momoiro Clover.

=head1 METHODS

lib/Acme/MomoiroClover.pm  view on Meta::CPAN

  # $order can be a one of the values below:
  #  + something true value  :  sort in descending order
  #  + something false value :  sort in ascending order

  my @sorted_members = $momoclo_chan->sort('age', 1); # sort by age in descending order

Returns the members sorted by the I<$type> field.

=back

=head2 select ( $type, $number, $operator [, @members] )

=over 4

  # $type can be one of the same values above:
  my @selected_members = $momoclo_chan->select('age', 17, '>=');

Returns the members satisfy the given I<$type> condition. I<$operator>
must be a one of '==', '>=', '<=', '>', and '<'. This method compares
the given I<$type> to the member's one in the order below:

  $number $operator $member_value

=back

=head1 SEE ALSO



( run in 0.512 second using v1.01-cache-2.11-cpan-49f99fa48dc )