Changeset 11195 for lang/perl/Punc

Show
Ignore:
Timestamp:
05/06/08 12:51:48 (7 months ago)
Author:
mizzy
Message:

変更がないモジュールは同期しないようにした
MooseX::ClassAttributeだと、子クラスのクラス属性の変更が親にまで及ぶので、代わりにClass::Data::Inheritable 使うようにした。

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

Legend:

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

    r11184 r11195  
    2424            my $dest_file = $file; 
    2525            $dest_file =~ s!^$src_module_dir/!!g; 
     26            my $dest_path = file($dest_module_dir, $dest_file)->stringify; 
    2627 
    2728            my $punc = Punc::Client->new($result->{host}); 
     29            my ( $dest_md5sum ) 
     30                = ( 
     31                    split ' ', 
     32                    $punc->file->md5sum({ 
     33                        file => $dest_path 
     34                    })->[0]->{response}->{result} 
     35                ); 
     36            my ( $src_md5sum ) = ( split ' ', `md5sum $file` ); 
     37 
     38            return if $src_md5sum eq $dest_md5sum; 
     39 
    2840            $punc->file->copy({ 
    2941                src  => $file->stringify, 
    30                 dest => file($dest_module_dir, $dest_file)->stringify, 
     42                dest => $dest_path, 
    3143            }); 
    3244        } 
  • lang/perl/Punc/trunk/lib/Punc/Daemon.pm

    r10463 r11195  
    3939            $module =~ s!^/!!; 
    4040            my $content = JSON::from_json($r->content); 
    41             my $result = $self->handle_request( 
     41            my $res = $self->handle_request( 
    4242                $module, 
    4343                $content->{method}, 
     
    4646 
    4747            my $json = to_json({ 
    48                 result => $result, 
    49                 error  => undef, 
     48                result => $res->{result}, 
     49                error  => $res->{error}, 
    5050            }); 
    5151 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module.pm

    r11181 r11195  
    55use Punc::Util; 
    66use Moose; 
    7 use MooseX::ClassAttribute; 
    87use Module::Pluggable; 
    98 
    10 class_has 'default_for' => ( isa => 'HashRef', is => 'rw', default => sub { {} } ); 
     9extends 'Class::Data::Inheritable'; 
     10 
     11__PACKAGE__->mk_classdata('default_for'); 
    1112 
    1213sub import { 
     
    2627sub delegate { 
    2728    my $self = shift; 
    28  
    2929    $self->search_path( new => ref $self ); 
    3030    my @modules = ( $self->plugins, ref $self ); 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module/Service.pm

    r11152 r11195  
    11package Punc::Slave::Module::Service; 
    22 
    3 use strict; 
    4 use warnings; 
    53use Moose; 
    64extends 'Punc::Slave::Module'; 
     
    3331=head1 METHODS 
    3432 
    35 =head2 status 
     33=head2 status({ service => 'service name' }) 
    3634 
    3735Show service status. 
    3836 
     37 
    3938=cut 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module/Service/Debian.pm

    r11152 r11195  
    2121        # サービス名 = プロセス名を仮定しているので。 
    2222        `start-stop-daemon --stop --test --name $service`; 
    23         return $?; # TODO: $? >> 8 を返した方がいい? 
     23        return { result => $? }; # TODO: $? >> 8 を返した方がいい? 
    2424    } 
    2525    else { 
    26         ## TODO: エラー時に何を返すか考える 
     26        return { error => "no such service: $service" }; 
    2727    } 
    2828} 
  • lang/perl/Punc/trunk/lib/Punc/Slave/Module/Service/RedHat.pm

    r11152 r11195  
    1717    if ( -f "/etc/init.d/$service" ) { 
    1818        `/sbin/service $service $command`; 
    19         return $?; 
     19        return { result => $? }; 
    2020    } 
    2121    else { 
    22         ## TODO: エラー時に何を返すか考える 
     22        return { error => "no such service: $service" }; 
    2323    } 
    2424}