Unfortunately I did not find a proper module to use Arango from Perl. Therefore I decided to start one from scratch. Probably not a great idea as my free time is likely non-existent. But nevertheless, I did it.
I am trying to abstract major entities (database, collection, document, cursor) in order to use them directly as proper objects in Perl, and at the same time, try to keep a low code profile, delegating most options directly to Arango REST interface. In order not to be too relaxed, I am using JSON::Schema::Fit to validate the parameters sent to Arango API.
The main problem is that there are too many options and endpoints to use, and too few time to do it. Anyway, there is a working version, that already allows the storage of documents, and querying them using AQL. Unfortunately all the user-related functionaities are not yet implemented.
While I would love to keep maintaining and defining the direction of the module, I am very grateful to any patches, bug fixes of added functionalities, keeping the same simple approach in mind.
Regarding using a module for objects, I might decide to use Moo, but for now, I am still happy using Perl blessed hashes directly.
Hope to post more news very soon.
GIT repository: https://gitlab.com/ambs/perl5-arango-tango/
Latest release: https://metacpan.org/pod/Arango::Tango
So, this semester we had:
I know, not proud of any of these PRs. I said to Neil I want to continue, but I really hope to start being more useful to module authors, or I will just quit...
]]>Although with little time, looking forward to the next month assignment.
]]> sub foo {
my ($arg1, $arg2) = @_;
...
}
you will be safe.
But my preferred solution is even better:
use feature 'signatures';
Please, SawyerX, make them default asap :D
]]>Sorry. I should probably rephrase the whole post. Or probably now it is a bit too late.
For me things weren't that bad. I know you, Ricardo Signes and Paul Johnson enough, to know of your busy lives. And that is why I used "it seems", because I know it is not true.
But as CPAN PR Challenge tries to persuade new Perl users to contribute, for those, not getting any answers might be frustrating.
Thank you!
]]>For April, I got Dist::Zilla. My PR was the documentation of 'Dist::Zilla::App::Tester', but I never got any comment: https://github.com/rjbs/Dist-Zilla/pull/543
For May, I got WWW::xkcd. For this I could get an answer about what might be a relevant PR. I added a method to fetch random comic strips. I even got some comments, and I adapted my PR. But it not got merged: https://github.com/xsawyerx/www-xkcd/pull/5
For June, I god Gedcom. This one was harder to understand and find where to do changes. I found a TODO file, and got for the simpler task (clean up Makefile.PL). I prepared the PR, and offered myself for other fixes, given the author could give me some feedback on them. Unfortunately no comment was received: https://github.com/pjcj/Gedcom.pm/pull/17
Finally, for June I got one of my own modules assigned to a PRC player. I did what I expected others would do to my PR: comment on it, or merge. Well, I commented, asking to rebase based on another branch, but I never got an answer: https://github.com/ambs/Text-BibTeX/pulls
I confess all this makes me sad. It gives the impression that module authors are not willing to help making their own modules better. And probably, a lot of PRC players just want to prepare a PR, with no desire on working it to fit the module/author goals.
In any case, I am waiting for my July assignment.
Note 1: I am not against any of the authors above. Really! I poked some of them (well, all of them) and i just not continued poking because I am sure they will look to the PR sooner or later. So, please, bear with my English, but this is not complaining, just a report.
Note 2: Thanks to rjbs who merged the Dist::Zilla PR.
So, for the first month, I got WebInject. The PR was not huge. Just a contribution to add a README file to the distribution. As the author did not want to update the README and the POD, the PR was changed in order to generate the README from the POD. This PR was then merged. Yay, first month complete.
For February, I got IRI. I got confused about what IRI was, but then the problem was finding something where to help. The first contribution was a cpanfile, as that distribution uses Module::Install, and there wasn't a list of the Module::Install modules needed for the developers to install and be able to test the module. It was merged after some minor fixes. Then, tests were fixed in order to skip some properties defined by MOO, that were causing POD Coverage errors (fortunately, they were only run by authors, so no big impact for the end user).
March was the complicated one. Not just the month my Dad got to the Hospital with a heart attack, but also the month he was interned, ending with his dead. In the Perl world, the pull requests didn't work as well as I expected. First I got Net::SSH2. I noticed the version on CPAN used Module::Install and I decided to contribute a cpanfile, just like I did for IRI. But then, authors informed me the latest devel version, was on a different branch, that used Module::Install. I tried to test this version, but it required Alien::Libssh2. And this one, didn't pass the defined tests, neither it was available on CPAN. Given the lack of time and patience (see the second sentence on this paragraph), I decided to request a new module to Neil. I got WWW::Shorten and tried to add a new shortening service. I added it and sent a Pull Request. The result was not only that I was looking to the wrong repository (it wasn't update yet in MetaCpan) but also that authors decided not to include any more shortening service directly on the module, suggesting contributions to be bundled in independent modules. At this time I was so annoyed with this month assignments, that my final pull request was just a sentence in the POD, stating that new shortening services should be released in individual modules. This pull request was merged, and so, decided the month was done. But I also bundled the new shortening service as a new module in CPAN: WWW-Shorten-SapoPuny.
]]>In the last week, as a result of YAPC::EU::2015, the main website for the `Portuguese Perl Mongers' (a free translation of the association name) has been rewritten by Nuno "smash" Carvalho, in Perl 6, to generate (static) web content. It still has its perks, but it mostly working.
In order to not be just waiting for Nuno's work, I've been writing some articles on Perl 5 and Perl 6 (in Portuguese, sorry folks). Any way, I invite you to go and peek there. Mostly if you can understand Portuguese (I think half the population would know Portuguese or Spanish, so, it might be enough) you can understand these small posts.
]]>For the PR, I tried to read user complains, and one suggestion was to keep UTF-8 intact when dumping to a stream that is utf-8 aware. I created a basic PR, so illustrate a possible solution. Unfortunately, as on most of the previous months, I did not receive any feedback yet. But the pull request is there, ready for comments or to be merged.
]]>But better few than nothing...
]]>This month I prepared a Pull Request on removing HTML from result entries obtained with WWW::Wikipedia. Now, waiting to see if it gets merged. It seems I have no luck on my PRs to be merged...
]]>