in reply to Re^3: RFC: Swagger-codegen for Perl
in thread RFC: Swagger-codegen for Perl

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?

Replies are listed 'Best First'.
Re^5: RFC: Swagger-codegen for Perl
by TGI (Parson) on Jun 05, 2015 at 21:02 UTC

    IMHO, Moose is a pretty big dependency to add. All that we need here are vanilla objects. Blessed hashes are fine.

    Raisin manages to tie type information into Swagger merely with Type::Tiny. So even creating documentation doesn't need Moose.


    TGI says moo

      IMHO, Moose is a pretty big dependency to add....

      You know whats an even bigger dependency? Java :)

      Also, Moose is not the point, code reuse is the point

      Instead of generating code that issues a few has attribute/does calls, its just copy/pasting a lot of the details that should live in seperate modules (baseclass, objtypes , roles, validators ... whatever )

      Also, Moose/Moo/Mo whatever