Changeset 11152 for lang/perl/Punc

Show
Ignore:
Timestamp:
05/05/08 15:45:50 (7 months ago)
Author:
mizzy
Message:

モジュールオプションは配列リファレンスではなくハッシュリファレンスで渡すようにした

Location:
lang/perl/Punc/trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Punc/trunk/bin/punc

    r10463 r11152  
    99use JSON; 
    1010 
    11 my ( $target, $call, $module, $method, @args ) = @ARGV; 
     11my $target  = shift; 
     12my $call    = shift; 
     13my $module  = shift; 
     14my $method  = shift; 
     15my $options = get_options(); 
    1216 
    1317my $punc = Punc::Client->new($target); 
    1418 
    15 my $res = $punc->$module->$method(\@args); 
     19my $res = $punc->$module->$method($options); 
    1620 
    1721for (@$res) { 
     
    2428} 
    2529 
     30exit; 
     31 
     32sub get_options { 
     33    my $options = {}; 
     34    while ($#ARGV >= 0 && $ARGV[0] =~ /^--?([^=-][^=]*)(=?)(.*)/) { 
     35        my $var = $1; 
     36        my $value = ($2 eq "") ? 1 : $3; 
     37        $options->{$var} = $value; 
     38        shift @ARGV; 
     39    } 
     40    return $options; 
     41} 
  • lang/perl/Punc/trunk/lib/Punc/Client.pm

    r10581 r11152  
    99use UNIVERSAL::require; 
    1010use FindBin; 
    11 use UNIVERSAL::require; 
    1211 
    1312sub new { 
  • lang/perl/Punc/trunk/lib/Punc/Client/Request.pm

    r10581 r11152  
    6161    $self->{method} = $method; 
    6262    $self->{args}   = $args; 
     63 
    6364    return $self->request; 
    6465} 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module/Service.pm

    r11106 r11152  
    2121 
    2222  # with punc command 
    23   $ sudo punc "*" call service status httpd 
     23  $ sudo punc "*" call service status --service=httpd 
    2424 
    2525  # with Punc::Client module 
    2626  my $punc = Punc::Client->new($target); 
    27   my $res = $punc->service->status('httpd'); 
     27  my $res  = $punc->service->status({ service => 'httpd' }); 
    2828 
    2929=head1 DESCRIPTION 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module/Service/Debian.pm

    r11102 r11152  
    1212    my ( $self, $args ) = @_; 
    1313 
    14     return $self->_command($args->[0], 'status'); 
     14    return $self->_command($args->{service}, 'status'); 
    1515} 
    1616 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module/Service/RedHat.pm

    r11102 r11152  
    1010sub status { 
    1111    my ( $self, $args ) = @_; 
    12     return $self->_command($args->[0], 'status'); 
     12    return $self->_command($args->{service}, 'status'); 
    1313} 
    1414