Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: RFC: Swagger-codegen for Perl

by TGI (Parson)
on May 26, 2015 at 06:39 UTC ( #1127774=note: print w/replies, xml ) Need Help??


in reply to RFC: Swagger-codegen for Perl

I am thrilled to see Swagger and Perl working together.

After the most superficial review, one thing stands out. The APIClient.mustache file uses the best-avoided Switch module.

There are a number of ways to write the code without switch. I recommend either chaining if () {} elsif () {} or using a hash as a dispatch table.

I'll try to get a more in depth look, and see if I have any other comments.


TGI says moo

Replies are listed 'Best First'.
Re^2: RFC: Swagger-codegen for Perl
by wing328 (Initiate) on May 27, 2015 at 03:01 UTC
    Thanks TGI. I'll revise the code to avoid using Switch
      Submitted https://github.com/swagger-api/swagger-codegen/pull/799 to avoid using Switch and make API client more pluggable
Re^2: RFC: Swagger-codegen for Perl
by Anonymous Monk on May 26, 2015 at 09:34 UTC
    another easy criticism, comments instead of pod
      yes, i want to use pod but didn't have cycle to do it :( if you've time, would be nice if you can submit a PR to update the comment

        yes, i want to use pod but didn't have cycle to do it :( if you've time, would be nice if you can submit a PR to update the comment

        Um, see Swagger2::POD - Convert swagger API spec to Perl documentation

        Here is more commentary

        This should not exist

        # class variables my $ua = LWP::UserAgent->new; my $http_user_agent = 'Perl-Swagger'; # HTTP user-agent my $http_timeout; #timeout my $base_url = "{{basePath}}"; sub new { my $class = shift; my %args = @_; return bless \%args, $class; } # Set the user agent of the API client # # @param string $user_agent The user agent of the API client # sub set_user_agent { my $user_agent = shift; $http_user_agent= $user_agent; }

        Don't know how critical it is to have a "set_user_agent" to maintain "Swagger" convention, but a $lwp shouldn't be a class variable, it should be an object attribute -- globals are bad mkay :)

        also, feels like too much code is being generated from templates, feels like a lot of it doesn't need to be in templates ... heard of Moose?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1127774]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2020-10-28 03:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (259 votes). Check out past polls.

    Notices?