Changeset 926

Show
Ignore:
Timestamp:
10/30/07 22:21:52 (6 years ago)
Author:
typester
Message:

perl/irssi/scripts/mobirc.pl: refactored, うざい重複コードを削りまくり

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/irssi/scripts/mobirc.pl

    r924 r926  
    4545 
    4646    irssi_signals => { 
    47         map( { ( "message $_" => __PACKAGE__->can("irssi_$_") ) } 
     47        map( { ( "message $_" => bind_signal("irssi_$_") ) } 
    4848            qw/public private own_public own_private join part quit kick nick own_nick invite topic/ 
    4949        ), 
    50         map( { ( "message irc $_" => __PACKAGE__->can("irssi_irc_$_") ) } 
     50        map( { ( "message irc $_" => bind_signal("irssi_irc_$_") ) } 
    5151            qw/op_public own_wall own_action action own_notice notice own_ctcp ctcp/ 
    5252        ), 
     
    5858sub nick_name { 
    5959    Irssi::active_server->{nick}; 
     60} 
     61 
     62sub bind_signal { 
     63    my $sub = __PACKAGE__->can(shift) or return; 
     64 
     65    return sub { 
     66        return unless $_[KERNEL]->alias_resolve('mobirc_httpd'); 
     67        $sub->(@_); 
     68    }; 
    6069} 
    6170 
     
    128137    my ($server, $msg, $nick, $address, $target) = @{ $poe->args->[1] }; 
    129138 
    130     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    131  
    132139    add_message( $poe, $target, $nick, $msg, 'public' ); 
    133140} 
     
    139146    my ($server, $msg, $target) = @{ $poe->args->[1] }; 
    140147 
    141     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    142  
    143148    add_message( $poe, $target, $server->{nick}, $msg, 'public' ); 
    144149} 
     
    148153    my $poe = sweet_args; 
    149154    my ($server, $channel, $nick, $address) = @{ $poe->args->[1] }; 
    150  
    151     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    152155 
    153156    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
     
    165168    my $poe = sweet_args; 
    166169    my ($server, $channel, $nick, $address, $reason) = @{ $poe->args->[1] }; 
    167  
    168     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    169170 
    170171    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
     
    189190    my ($server, $channel, $topic, $nick, $address) = @{ $poe->args->[1] }; 
    190191 
    191     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    192  
    193192    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
    194193 
     
    204203    my ($server, $msg, $target) = @{ $poe->args->[1] }; 
    205204 
    206     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    207  
    208205    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
    209206 
     
    216213    my ($server, $msg, $nick, $address, $target) = @{ $poe->args->[1] }; 
    217214 
    218     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    219  
    220215    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
    221216 
     
    228223    my ($server, $msg, $target) = @{ $poe->args->[1] }; 
    229224 
    230     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    231  
    232225    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
    233226 
     
    238231    my $poe = sweet_args; 
    239232    my ($server, $msg, $nick, $address, $target) = @{ $poe->args->[1] }; 
    240  
    241     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    242233 
    243234    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap; 
     
    250241    my ($server, $msg, $nick, $address, $target) = @{ $poe->args->[1] }; 
    251242    return unless $msg =~ /^\d/; # messages only 
    252  
    253     return unless $poe->kernel->alias_resolve('mobirc_httpd'); 
    254243 
    255244    my $irc = $poe->kernel->alias_resolve('irc_session')->get_heap;