Show
Ignore:
Timestamp:
10/19/08 21:11:29 (6 years ago)
Author:
33rpm
Message:

change the config attribute to just hashref
set svn:ignore prop
call extends
moosenize W::S::Parser
moosenize W::S::Response

Location:
lang/perl/WebService-Simple/branch/use-moose
Files:
1 removed
8 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/WebService-Simple/branch/use-moose

    • Property svn:ignore set to
      *.old
      META.yml
      Makefile
      blib
      inc
      pm_to_blib
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple.pm

    r21321 r21638  
    88use URI; 
    99use URI::Escape; 
     10use WebService::Simple::Parser; 
    1011use WebService::Simple::Response; 
    1112 
    12 use base qw(LWP::UserAgent Class::Data::ConfigHash); 
    13 # my $config = ref $cache eq 'HASH' ? $cache : $class->config->{cache}; 
    14 # || $class->config->{base_url} 
    15 # || $class->config->{response_parser}; 
    16 # extends ''; 
    17  
    1813our $VERSION = '0.12'; 
    1914 
     15extends 'LWP::UserAgent'; 
     16 
    2017with 'WebService::Simple::Cache'; 
    2118 
    2219class_type 'URI'; 
    23 class_type 'WebService::Simple::Parser'; 
    2420 
    2521coerce 'URI' 
     
    7066has response_parser => ( 
    7167    is       => 'rw', 
    72     isa      => 'WebService::Simple::Parser', 
     68    does     => 'WebService::Simple::Parser', 
    7369    required => 1, 
    7470    coerce   => 1, 
     
    8783); 
    8884 
     85# for backward compatibility 
     86has config => ( 
     87    is       => 'rw', 
     88    isa      => 'HashRef', 
     89); 
     90 
    8991has debug => ( 
    9092    is       => 'rw', 
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple/Parser.pm

    r10287 r21638  
    11package WebService::Simple::Parser; 
    2 use strict; 
    3 use warnings; 
    4 use base qw(Class::Accessor::Fast); 
    52 
    6 sub parse_response {} 
     3use Moose::Role; 
     4 
     5requires 'parse_response'; 
    76 
    871; 
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple/Parser/JSON.pm

    r10404 r21638  
    22 
    33package WebService::Simple::Parser::JSON; 
    4 use strict; 
    5 use warnings; 
    6 use base qw(WebService::Simple::Parser); 
     4 
     5use Moose; 
    76use JSON 2.0; 
    87 
    9 sub new 
    10 { 
    11     my $class = shift; 
    12     my %args  = @_; 
     8with 'WebService::Simple::Parser'; 
    139 
    14     my $json  = delete $args{json} || JSON->new; 
    15     my $self  = $class->SUPER::new(%args); 
    16     $self->{json} = $json; 
    17     return $self; 
    18 } 
     10has json => ( 
     11    is       => 'rw', 
     12    isa      => 'JSON', 
     13    required => 1, 
     14    default  => sub { JSON->new }, 
     15); 
     16 
     17__PACKAGE__->meta->make_immutable; 
     18 
     19no Moose; 
    1920 
    2021sub parse_response 
     
    2526    $content =~ s/[a-zA-Z0-9_]+\((.+)\)/$1/; 
    2627    $content =~ s/;$//; 
    27     $self->{json}->decode( $content ); 
     28    $self->json->decode( $content ); 
    2829} 
    2930 
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple/Parser/XML/LibXML.pm

    r10337 r21638  
    11package WebService::Simple::Parser::XML::LibXML; 
    2 use strict; 
    3 use warnings; 
    4 use base qw(WebService::Simple::Parser); 
     2 
     3use Moose; 
    54use XML::LibXML; 
    65 
    7 __PACKAGE__->mk_accessors($_) for qw(libxml); 
     6with 'WebService::Simple::Parser'; 
    87 
    9 sub new 
    10 { 
    11     my $class = shift; 
    12     my $args  = shift || {}; 
    13     $args->{libxml} ||= XML::LibXML->new; 
    14     $class->SUPER::new($args); 
    15 } 
     8has libxml => ( 
     9    is       => 'rw', 
     10    isa      => 'XML::LibXML', 
     11    required => 1, 
     12    default  => sub { XML::LibXML->new }, 
     13); 
     14 
     15 
     16__PACKAGE__->meta->make_immutable; 
     17 
     18no Moose; 
    1619 
    1720sub parse_response 
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple/Parser/XML/Lite.pm

    r20192 r21638  
    11package WebService::Simple::Parser::XML::Lite; 
    2 use strict; 
    3 use warnings; 
    4 use base qw(WebService::Simple::Parser); 
     2 
     3use Moose; 
    54use XML::Parser::Lite::Tree; 
    65use XML::Parser::Lite::Tree::XPath; 
    76 
    8 __PACKAGE__->mk_accessors($_) for qw(lite); 
     7with 'WebService::Simple::Parser'; 
    98 
    10 sub new 
    11 { 
    12     my $class = shift; 
    13     my %args  = @_; 
     9has lite => ( 
     10    is       => 'rw', 
     11    isa      => 'XML::Parser::Lite::Tree', 
     12    required => 1, 
     13    default  => sub { XML::Parser::Lite::Tree::instance() }, 
     14); 
    1415 
    15     my $lite = delete $args{lite} || XML::Parser::Lite::Tree::instance(); 
    16     my $self  = $class->SUPER::new(%args); 
    17     $self->{lite} = $lite; 
    18     return $self; 
    19 } 
     16__PACKAGE__->meta->make_immutable; 
     17 
     18no Moose; 
    2019 
    2120sub parse_response 
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple/Parser/XML/Simple.pm

    r13005 r21638  
    22 
    33package WebService::Simple::Parser::XML::Simple; 
    4 use strict; 
    5 use warnings; 
    6 use base qw(WebService::Simple::Parser); 
     4 
     5use Moose; 
    76use XML::Simple; 
    87 
    9 sub new { 
    10     my $class = shift; 
    11     my %args  = @_; 
    12     my $xs    = delete $args{xs} || XML::Simple->new; 
    13     my $self  = $class->SUPER::new(%args); 
    14     $self->{xs} = $xs; 
    15     return $self; 
    16 } 
     8with 'WebService::Simple::Parser'; 
     9 
     10has xs => ( 
     11    is       => 'rw', 
     12    isa      => 'XML::Simple', 
     13    required => 1, 
     14    default  => sub { XML::Simple->new }, 
     15); 
     16 
     17__PACKAGE__->meta->make_immutable; 
     18 
     19no Moose; 
    1720 
    1821sub parse_response { 
  • lang/perl/WebService-Simple/branch/use-moose/lib/WebService/Simple/Response.pm

    r13005 r21638  
    22 
    33package WebService::Simple::Response; 
    4 use strict; 
    5 use warnings; 
    6 use base qw(HTTP::Response); 
     4 
     5use Moose; 
    76 
    87our $VERSION = "0.02"; 
     8 
     9extends 'HTTP::Response'; 
     10 
     11__PACKAGE__->meta->make_immutable; 
     12 
     13no Moose; 
    914 
    1015sub new_from_response {