summary refs log tree commit diff
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-06-03 09:50:39 +0200
committerfranck cuny <franck@lumberjaph.net>2010-06-03 09:50:39 +0200
commitb62c50ed3c9b48d7d964134de5f4ef0fd36a6112 (patch)
treed79dfc9770a93823b663000edaa59129e780f7d8
parentupdate POD (diff)
downloadmoosex-net-api-b62c50ed3c9b48d7d964134de5f4ef0fd36a6112.tar.gz
update POD
-rw-r--r--lib/MooseX/Net/API.pm12
-rw-r--r--lib/MooseX/Net/API/Error.pm1
-rw-r--r--lib/MooseX/Net/API/Meta/Class.pm26
-rw-r--r--lib/MooseX/Net/API/Meta/Method.pm32
-rw-r--r--lib/MooseX/Net/API/Meta/Method/APIDeclare.pm28
-rw-r--r--lib/MooseX/Net/API/Meta/Method/APIMethod.pm26
-rw-r--r--lib/MooseX/Net/API/Parser.pm27
-rw-r--r--lib/MooseX/Net/API/Parser/JSON.pm26
-rw-r--r--lib/MooseX/Net/API/Parser/XML.pm26
-rw-r--r--lib/MooseX/Net/API/Parser/YAML.pm26
-rw-r--r--lib/MooseX/Net/API/Role/Authentication.pm36
-rw-r--r--lib/MooseX/Net/API/Role/Deserialize.pm49
-rw-r--r--lib/MooseX/Net/API/Role/Format.pm44
-rw-r--r--lib/MooseX/Net/API/Role/Request.pm42
-rw-r--r--lib/MooseX/Net/API/Role/Serialization.pm46
-rw-r--r--lib/MooseX/Net/API/Role/UserAgent.pm34
16 files changed, 424 insertions, 57 deletions
diff --git a/lib/MooseX/Net/API.pm b/lib/MooseX/Net/API.pm
index b6f0f28..2dcfc13 100644
--- a/lib/MooseX/Net/API.pm
+++ b/lib/MooseX/Net/API.pm
@@ -72,11 +72,11 @@ MooseX::Net::API - Easily create client for net API
     );
 
     # declaring a users method
-    # calling $obj->users will call http://exemple.com/api/users?country=france
+    # calling $obj->users will call http://exemple.com/api/users/france
     net_api_method users => (
         description => 'this get a list of users',
         method      => 'GET',
-        path        => '/users/',
+        path        => '/users/:country',
         params      => [qw/country/],
     );
 
@@ -155,6 +155,14 @@ The following methods are added to your class:
 
 =item B<http_request>
 
+=item B<get_content>
+
+=item B<serialize>
+
+=item B<deserialize>
+
+=item B<content_type>
+
 =back
 
 =head2 METHODS
diff --git a/lib/MooseX/Net/API/Error.pm b/lib/MooseX/Net/API/Error.pm
index a710205..8825877 100644
--- a/lib/MooseX/Net/API/Error.pm
+++ b/lib/MooseX/Net/API/Error.pm
@@ -29,7 +29,6 @@ sub error {
 }
 
 1;
-
 __END__
 
 =head1 NAME
diff --git a/lib/MooseX/Net/API/Meta/Class.pm b/lib/MooseX/Net/API/Meta/Class.pm
index 376578d..9fdd793 100644
--- a/lib/MooseX/Net/API/Meta/Class.pm
+++ b/lib/MooseX/Net/API/Meta/Class.pm
@@ -8,3 +8,29 @@ with qw/
     /;
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Meta::Class
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Meta/Method.pm b/lib/MooseX/Net/API/Meta/Method.pm
index bb29a97..7c388b9 100644
--- a/lib/MooseX/Net/API/Meta/Method.pm
+++ b/lib/MooseX/Net/API/Meta/Method.pm
@@ -11,13 +11,13 @@ extends 'Moose::Meta::Method';
 subtype UriPath => as 'Str' => where { $_ =~ m!^/! } =>
   message {"path must start with /"};
 
-enum 'Method' => qw(GET POST PUT DELETE);
+enum Method => qw(GET POST PUT DELETE);
 
 has description => (is => 'ro', isa => 'Str');
 has method      => (is => 'ro', isa => 'Method', required => 1);
 has path        => (is => 'ro', isa => 'UriPath', required => 1, coerce => 1);
-has params_in_url => (is => 'ro', isa => 'Bool', default => 0);
-has authentication => (is => 'ro', isa => 'Bool', required => 0, default => 0);
+has params_in_url  => (is => 'ro', isa => 'Bool', default => 0);
+has authentication => (is => 'ro', isa => 'Bool', default => 0);
 has expected => (
     traits     => ['Array'],
     is         => 'ro',
@@ -195,3 +195,29 @@ sub _build_uri {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Meta::Class::Method
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm b/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm
index b65ef41..14fb83d 100644
--- a/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm
+++ b/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm
@@ -21,7 +21,7 @@ has accepted_options => (
     default => sub {
         [   qw/api_base_url
               api_format
-              api_useranem
+              api_username
               api_password
               authentication
               authentication_method/
@@ -57,3 +57,29 @@ sub add_net_api_declare {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Meta::Class::Method::APIDeclare
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Meta/Method/APIMethod.pm b/lib/MooseX/Net/API/Meta/Method/APIMethod.pm
index 8185522..d55fe82 100644
--- a/lib/MooseX/Net/API/Meta/Method/APIMethod.pm
+++ b/lib/MooseX/Net/API/Meta/Method/APIMethod.pm
@@ -58,3 +58,29 @@ after add_net_api_method => sub {
 };
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Meta::Class::Method::APIMethod
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Parser.pm b/lib/MooseX/Net/API/Parser.pm
index d33d857..8bf74b0 100644
--- a/lib/MooseX/Net/API/Parser.pm
+++ b/lib/MooseX/Net/API/Parser.pm
@@ -6,3 +6,30 @@ sub encode {die "must be implemented"}
 sub decode {die "must be implemented"}
 
 1;
+
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Parser
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Parser/JSON.pm b/lib/MooseX/Net/API/Parser/JSON.pm
index 4711a8a..bf4c08b 100644
--- a/lib/MooseX/Net/API/Parser/JSON.pm
+++ b/lib/MooseX/Net/API/Parser/JSON.pm
@@ -15,3 +15,29 @@ sub decode {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Parser::JSON
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Parser/XML.pm b/lib/MooseX/Net/API/Parser/XML.pm
index f831cf1..8aee74f 100644
--- a/lib/MooseX/Net/API/Parser/XML.pm
+++ b/lib/MooseX/Net/API/Parser/XML.pm
@@ -22,3 +22,29 @@ sub decode {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Parser::XML
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Parser/YAML.pm b/lib/MooseX/Net/API/Parser/YAML.pm
index f359831..5258796 100644
--- a/lib/MooseX/Net/API/Parser/YAML.pm
+++ b/lib/MooseX/Net/API/Parser/YAML.pm
@@ -15,3 +15,29 @@ sub decode {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Parser::YAML
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Role/Authentication.pm b/lib/MooseX/Net/API/Role/Authentication.pm
index 6c38641..0b6de69 100644
--- a/lib/MooseX/Net/API/Role/Authentication.pm
+++ b/lib/MooseX/Net/API/Role/Authentication.pm
@@ -45,3 +45,39 @@ after BUILDALL => sub {
 };
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Role::Authentication
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head2 ATTRIBUTES
+
+=over 4
+
+=item B<api_password>
+
+=item B<api_username>
+
+=back
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Role/Deserialize.pm b/lib/MooseX/Net/API/Role/Deserialize.pm
deleted file mode 100644
index cf69087..0000000
--- a/lib/MooseX/Net/API/Role/Deserialize.pm
+++ /dev/null
@@ -1,49 +0,0 @@
-package MooseX::Net::API::Role::Deserialize;
-
-use Moose::Role;
-use JSON::XS;
-use YAML::Syck;
-use XML::Simple;
-use Try::Tiny;
-
-my $reverse_content_type = {
-    'application/json'   => 'json',
-    'application/x-yaml' => 'yaml',
-    'text/xml'           => 'xml',
-    'application/xml'    => 'xml',
-};
-
-sub _from_json {
-    return decode_json( $_[1] );
-}
-
-sub _from_yaml {
-    return Load $_[1];
-}
-
-sub _from_xml {
-    my $xml = XML::Simple->new( ForceArray => 0 );
-    $xml->XMLin( $_[1] );
-}
-
-sub _do_deserialization {
-    my ( $caller, $raw_content, @content_types ) = @_;
-
-    my $content;
-    foreach my $deserializer (@content_types) {
-        my $method;
-        if ( $reverse_content_type->{$deserializer} ) {
-            $method = '_from_' . $reverse_content_type->{$deserializer};
-        }
-        else {
-            $method = '_from_' . $deserializer;
-        }
-        next if ( !$caller->meta->find_method_by_name($method) );
-        try {
-            $content = $caller->$method($raw_content);
-        };
-        return $content if $content;
-    }
-}
-
-1;
diff --git a/lib/MooseX/Net/API/Role/Format.pm b/lib/MooseX/Net/API/Role/Format.pm
index 32dbc98..e766161 100644
--- a/lib/MooseX/Net/API/Role/Format.pm
+++ b/lib/MooseX/Net/API/Role/Format.pm
@@ -39,3 +39,47 @@ has api_format_mode => (
 );
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Role::Format
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head2 METHODS
+
+=over 4
+
+=item B<content_type>
+
+=back
+
+=head2 ATTRIBUTES
+
+=over 4
+
+=item B<api_format>
+
+=item B<api_format_mode>
+
+=back
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Role/Request.pm b/lib/MooseX/Net/API/Role/Request.pm
index eabb32d..214411c 100644
--- a/lib/MooseX/Net/API/Role/Request.pm
+++ b/lib/MooseX/Net/API/Role/Request.pm
@@ -50,3 +50,45 @@ sub http_request {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Role::Request
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head2 METHODS
+
+=over 4
+
+=item B<http_request>
+
+=back
+
+=head2 ATTRIBUTES
+
+=over 4
+
+=item B<api_base_url>
+
+=back
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Role/Serialization.pm b/lib/MooseX/Net/API/Role/Serialization.pm
index b813b03..d4feb56 100644
--- a/lib/MooseX/Net/API/Role/Serialization.pm
+++ b/lib/MooseX/Net/API/Role/Serialization.pm
@@ -70,3 +70,49 @@ sub _load_serializer {
 }
 
 1;
+__END__
+
+=head1 NAME
+
+MooseX::Net::API::Role::Serialization
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head2 ATTRIBUTES
+
+=over 4
+
+=item B<serializers>
+
+=back
+
+=head2 METHODS
+
+=over 4
+
+=item B<get_content>
+
+=item B<serialize>
+
+=item B<deserialize>
+
+=back
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/lib/MooseX/Net/API/Role/UserAgent.pm b/lib/MooseX/Net/API/Role/UserAgent.pm
index 0c11732..c3a1d5b 100644
--- a/lib/MooseX/Net/API/Role/UserAgent.pm
+++ b/lib/MooseX/Net/API/Role/UserAgent.pm
@@ -20,5 +20,37 @@ has api_useragent => (
 );
 
 1;
-
 __END__
+
+=head1 NAME
+
+MooseX::Net::API::Role::UseAgent
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+=head2 ATTRIBUTES
+
+=over 4
+
+=item B<api_useragent>
+
+=back
+
+=head1 AUTHOR
+
+franck cuny E<lt>franck@lumberjaph.netE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+Copyright 2009, 2010 by Linkfluence
+
+http://linkfluence.net
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut