Device-Chip-NoritakeGU_D
view release on metacpan or search on metacpan
lib/Device/Chip/NoritakeGU_D.pm view on Meta::CPAN
my $lastbyte = pop @bytes;
no strict 'refs';
*$name = method ( $on ) {
$self->write_us( @bytes, $lastbyte + !!$on );
};
}
sub INT_COMMAND ( $name, $min, $max, @bytes )
{
my $shortname = ( split m/_/, $name )[-1];
my $lastbyte = pop @bytes;
no strict 'refs';
*$name = method ( $value ) {
$value >= $min and $value <= $max or
croak "Invalid $shortname for ->$name";
$self->write_us( @bytes, $lastbyte + $value );
};
}
sub ENUM_COMMAND ( $name, $values, @bytes )
{
my @values = @$values;
my $shortname = ( split m/_/, $name )[-1];
my $lastbyte = pop @bytes;
no strict 'refs';
*$name = method ( $value ) {
defined( my $index = first { $values[$_] eq $value } 0 .. $#values ) or
croak "Invalid $shortname for ->$name";
$self->write_us( @bytes, $lastbyte + $index );
};
( run in 0.512 second using v1.01-cache-2.11-cpan-71847e10f99 )