Acme-Keyakizaka46

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

lib/Acme/Keyakizaka46/SuzukaTomita.pm
lib/Acme/Keyakizaka46/YuiImaizumi.pm
lib/Acme/Keyakizaka46/YuiKobayashi.pm
lib/Acme/Keyakizaka46/YukaKageyama.pm
lib/Acme/Keyakizaka46/YurinaHirate.pm
lib/Acme/Keyakizaka46/YuukaSugai.pm
minil.toml
t/00_compile.t
t/01_team_members.t
t/02_nogizaka46.t
t/03_select.t
t/04_sort.t
META.yml
MANIFEST

README.md  view on Meta::CPAN

    my $keyaki = Acme::Keyakizaka46->new;

    # retrieve the members on their activities
    my @members              = $keyaki->team_members;             # retrieve all
    my @kanji_members        = $keyaki->team_members('kanji');
    my @hiragana_members     = $keyaki->team_members('hiragana');

    # retrieve the members under some conditions
    my @sorted_by_age        = $keyaki->sort('age', 'asc');
    my @sorted_by_class      = $keyaki->sort('class','desc');
    my @selected_by_age      = $keyaki->select('age', 18, '>=');
    my @selected_by_class    = $keyaki->select('class', 2, '==');

# DESCRIPTION

"Keyakizaka46" is a Japanese famous idol group.
This module, Acme::Keyakizaka46, provides an easy method to catch up
with Keyakizaka46.

# METHODS

## new

README.md  view on Meta::CPAN

>     #  + class :  sort by class
>     #
>     # $order can be a one of the values below:
>     #  + desc                :  sort in descending order
>     #  + asc (anything else) :  sort in ascending order
>
>     my @sorted_members = $keyaki->sort('age','desc'); # sort by age in descending order
>
> Returns the members sorted by the _$type_ field.

## select ( $type, $number, $operator \[, @members\] )

>     # $type can be one of the same values above:
>     my @selected_members = $keyaki->select('age', 18, '>=');
>
> Returns the members satisfy the given _$type_ condition. _$operator_
> must be a one of '==', '>=', '<=', '>', and '<'. This method compares
> the given _$type_ to the member's one in the order below:
>
>     $number $operator $member_value

# SEE ALSO

- Keyakizaka46 (Official Site)

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

    my ($self, $type, $order, @members) = @_;
    @members = $self->team_members() unless @members;

    if ($order eq 'desc') {
        return sort {$b->$type <=> $a->$type} @members;
    } else {
        return sort {$a->$type <=> $b->$type} @members;
    }
}

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

    @members = $self->team_members() unless @members;

    if ($type eq 'center') {
        $self->_die('too many args...')
            if ($num_or_str || $operator);

        return grep {$_->{name_en} eq 'Yurina Hirate'} @members;
    }

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

  my $keyaki = Acme::Keyakizaka46->new;

  # retrieve the members on their activities
  my @members              = $keyaki->team_members;             # retrieve all
  my @kanji_members        = $keyaki->team_members('kanji');
  my @hiragana_members     = $keyaki->team_members('hiragana');

  # retrieve the members under some conditions
  my @sorted_by_age        = $keyaki->sort('age', 'asc');
  my @sorted_by_class      = $keyaki->sort('class','desc');
  my @selected_by_age      = $keyaki->select('age', 18, '>=');
  my @selected_by_class    = $keyaki->select('class', 2, '==');

=head1 DESCRIPTION

"Keyakizaka46" is a Japanese famous idol group.
This module, Acme::Keyakizaka46, provides an easy method to catch up
with Keyakizaka46.

=head1 METHODS

=head2 new

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

  # $order can be a one of the values below:
  #  + desc                :  sort in descending order
  #  + asc (anything else) :  sort in ascending order

  my @sorted_members = $keyaki->sort('age','desc'); # 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 = $keyaki->select('age', 18, '>=');

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

t/03_select.t  view on Meta::CPAN

use strict;
use DateTime;
use Acme::Keyakizaka46;
use Test::More tests => 2;

my $keyaki  = Acme::Keyakizaka46->new;

my @neru = $keyaki->select('family_name_en', 'Nagahama', 'eq');
is $neru[0]->name_en, 'Neru Nagahama', "ねるを検索";

my @ab = $keyaki->select('blood_type', 'AB', 'eq');
is scalar @ab, 5, "AB型のメンバーは5人";

diag( $keyaki->select('center') ); # センター経験者はてちのみ



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