From 5fdee9e79b5b6a72522bee59e4bd7c62506a43c7 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Fri, 16 Jul 2010 16:12:32 +0200 Subject: remove tests and old lib; use base net::http::api; DEPRECATED --- lib/MooseX/Net/API/Meta/Method/APIDeclare.pm | 57 ------------- lib/MooseX/Net/API/Meta/Method/APIMethod.pm | 115 --------------------------- 2 files changed, 172 deletions(-) delete mode 100644 lib/MooseX/Net/API/Meta/Method/APIDeclare.pm delete mode 100644 lib/MooseX/Net/API/Meta/Method/APIMethod.pm (limited to 'lib/MooseX/Net/API/Meta/Method') diff --git a/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm b/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm deleted file mode 100644 index 0de38df..0000000 --- a/lib/MooseX/Net/API/Meta/Method/APIDeclare.pm +++ /dev/null @@ -1,57 +0,0 @@ -package MooseX::Net::API::Meta::Method::APIDeclare; - -# ABSTRACT: declare API - -use Moose::Role; -use MooseX::Net::API::Error; - -my @accepted_options = qw/ - api_base_url - api_format - api_format_mode - api_username - api_password - authentication - authentication_method - /; - -has api_options => ( - is => 'ro', - traits => ['Hash'], - isa => 'HashRef[Str|CodeRef]', - default => sub { {} }, - lazy => 1, - handles => { - set_api_option => 'set', - get_api_option => 'get', - }, -); - -sub add_net_api_declare { - my ($meta, $name, %options) = @_; - - if ($options{useragent}) { - die MooseX::Net::API::Error->new( - reason => "'useragent' must be a CODE ref") - unless ref $options{useragent} eq 'CODE'; - $meta->set_api_option(useragent => delete $options{useragent}); - } - - # XXX for backward compatibility - for my $attr (qw/base_url format format_mode username password/) { - my $attr_name = "api_" . $attr; - if (exists $options{$attr} && !exists $options{$attr_name}) { - $options{$attr_name} = delete $options{$attr}; - } - } - - for my $attr (@accepted_options) { - $meta->set_api_option($attr => $options{$attr}) if defined $options{$attr}; - } -} - -1; - -=head1 SYNOPSIS - -=head1 DESCRIPTION diff --git a/lib/MooseX/Net/API/Meta/Method/APIMethod.pm b/lib/MooseX/Net/API/Meta/Method/APIMethod.pm deleted file mode 100644 index 0ddcacd..0000000 --- a/lib/MooseX/Net/API/Meta/Method/APIMethod.pm +++ /dev/null @@ -1,115 +0,0 @@ -package MooseX::Net::API::Meta::Method::APIMethod; - -# ABSTRACT: declare API method - -use Moose::Role; -use MooseX::Net::API::Error; -use MooseX::Net::API::Meta::Method; -use MooseX::Types::Moose qw/Str ArrayRef/; - -has local_net_api_methods => ( - traits => ['Array'], - is => 'rw', - isa => ArrayRef [Str], - required => 1, - default => sub { [] }, - auto_deref => 1, - handles => { - _find_net_api_method_by_name => 'first', - _add_net_api_method => 'push', - get_all_net_api_methods => 'elements', - }, -); - -sub find_net_api_method_by_name { - my ($meta, $name) = @_; - my $method_name = $meta->_find_net_api_method_by_name(sub {/^$name$/}); - return unless $method_name; - my $method = $meta->find_method_by_name($method_name); - if ($method->isa('Class::MOP::Method::Wrapped')) { - return $method->get_original_method; - } - else { - return $method; - } -} - -sub remove_net_api_method { - my ($meta, $name) = @_; - my @methods = grep { !/$name/ } $meta->get_all_net_api_methods; - $meta->local_net_api_methods(\@methods); - $meta->remove_method($name); -} - -before add_net_api_method => sub { - my ($meta, $name) = @_; - if ($meta->_find_net_api_method_by_name(sub {/^$name$/})) { - die MooseX::Net::API::Error->new( - reason => "method '$name' is already declared in " . $meta->name); - } -}; - -sub add_net_api_method { - my ($meta, $name, %options) = @_; - - # XXX accept blessed method ? - - my $code = delete $options{code}; - - $meta->add_method( - $name, - MooseX::Net::API::Meta::Method->wrap( - name => $name, - package_name => $meta->name, - body => $code, - %options - ), - ); - $meta->_add_net_api_method($name); -} - -after add_net_api_method => sub { - my ($meta, $name) = @_; - $meta->add_before_method_modifier( - $name, - sub { - my $self = shift; - die MooseX::Net::API::Error->new( - reason => "'api_base_url' have not been defined") - unless $self->api_base_url; - } - ); -}; - -1; - -=head1 SYNOPSIS - - my $api_client = MyAPI->new; - - my @methods = $api_client->meta->get_all_api_methods(); - - my $method = $api_client->meta->find_net_api_method_by_name('users'); - - $api_client->meta->remove_net_api_method($method); - - $api_client->meta->add_net_api_method('users', sub {...}, - description => 'this method does...',); - -=head1 DESCRIPTION - -=method get_all_net_api_methods - -Return a list of net api methods - -=method find_net_api_method_by_name - -Return a net api method - -=method remove_net_api_method - -Remove a net api method - -=method add_net_api_method - -Add a net api method -- cgit 1.4.1