PrePAN

Sign in to PrePAN

PrePAN provide you a place
to make discussion about your modules.

CLOSE

Requests for Reviews Feed

DBIx::Lite::Model Subclass of DBIx::Lite for reusable models in YAML

DBIx::Lite is fantastic when you don't need the great features DBIx::Class offers. One thing I didn't want to do was continually enter the connection string, so DBIx::Lite::Model was born. You can store your connection string in a YAML file and create "ResultSet's" on from that model, so you only write the connection information once. Because your models are stored in a YAML file they can easily be reused in other code too.

bradhaywood@github 0 comments

SQL::Executor Thin DBI wrapper using SQL::Maker

SQL::Executor is thin DBI wrapper using SQL::Maker. This module provides interfaces to make easier access to SQL.

You can execute SQL via SQL::Maker-like interface in select(), select_row(), select_all(), select_with_fields(), select_row_with_fields(), select_all_with_fields(), insert(), insert_multi(), update() and delete().

If you want to use more complex select query, you can use select_named(), select_row_named() or select_all_named() these execute SQL with named placeholder. If you don't want to use named placeholder, you can use select_by_sql(), select_row_by_sql() or select_all_by_sql() these execute SQL with normal placeholder('?').

tsucchi@github 1 comment

Plack::Response::Data Response Content Body Encoder for JSON, XML, YAML, etc.

This uses Plack::Response's response content body as a data container to respond a data encoded in JSON, XML, YAML format, etc. This would help you to build an Web API server application in a short code.

kawanet@github 0 comments

Plack::Middleware::ContentOverride Override Request Content Body by File Uploading or Query Parameter

This allows a payload sent from a HTML form to override "Plack"'s request content body. This would help you to run a RESTful app with traditional HTML forms.

A couple of payload styles are available: 1. file uploading and 2. query parameter.

File Uploading

For an app which receives a binary content of JPEG, PNG, etc. including a larger content, use "method="POST"" and "enctype="multipart/form-data"" to perform a file uploading.

Query Parameter

For an app which receives a text content of JSON, XML, etc., "textarea" element would work fine.

kawanet@github 0 comments

Data::Sub get metadata (proto, attr, etc) from coderef

This module enable to get metadata (prototype, attributes, method name, etc) from a coderef.

We can get them by the buit-in module, B.pm. However, it is a bit difficult to memorize how to use it.

Cside@github 2 comments

SQL::Pico Prebuilt Raw SQL Statement Builder

This provides a simple but safe way to build raw SQL statements without learning any other languages than Perl and SQL. SQL::Pico is lightweight and doesn't require any non-core modules except for DBI.

SQL::Pico's bind() method generates a SQL statement which placeholders are filled with immediate values bound. This makes you free from handling bind values and calling prepare(). See RECIPES section below.

Why "Prebuilt" SQL?

Because SQL is the most simplest language to comunicate with RDBMS.

The most of ORM modules and something SQL::Builder-ish modules would have required you to understand its complex class structure or dialectal DSL.

This module simply provides just one of new method, bind(), which allows you to build SQL statements using placeholders, as well as quote() and quote_identifier() methods which are wrappers for DBI's methods with the same name you already know.

The most of modern Web applications would not cache prepared $sth instances though they would cache a connected $dbh instance. It means you don't need to worry about its performance (dis)advantage when you don't use bind values at execute().

More Detail

README

kawanet@github 0 comments

RealmPAN Puzzles, Refactorings, Perl.. and monsters!

I've had an idea for an application, which, with enough interest I would like to make and eventually release. It's based from a crazy dream I had last night, but it looked like a lot of fun. It's a mashup of a refactoring, puzzle and Browser-based RPG site. Yes, you heard me. So there applications within the site where people can submit code, then others can help "refactor" it, much like refactormycode.com. There's also a place for "puzzles". Someone submits a problem which must be done in Perl but adhering to their requirements (ie: Do not use X module to perform the task). All the while people can obtain karma from their posts. These are all just tasks to help you boost your "character". Yes, you can level up, increase your dexterity, agility, strength, etc.. to help fight monsters when you are ready, perform quests (which may be the puzzles) and receive items/gold for your trouble. Hence the name, RealmPAN. This would be written in Catalyst and released to Github and CPAN in the future.

Would anyone actually use a website like this? Or, if you have any suggestions please let me know :-)

bradhaywood@github 0 comments

Config::Pico Perl Interpretative COnfiguration: do "config.pl"

use Perl in configuration files.

This module exports "pico()" function which loads a configuration file written in Perl syntax. You don't have to learn other languages/notations like YAML, XML, JSON, etc. as you already know Perl.

"pico()" is almost equivalent to Perl's native function "do()" in fact. A difference between "pico()" and "do()", in case that $file is not exist, "pico()" raises an error while "do()" doesn't.

kawanet@github 3 comments

VendorAPI::2Checkout::Client @Checkout Vendor API Client library

I needed a sample module for my Beginners Talk on Uploading Modules to CPAN at YAPC::NA::2011. I was working for 2CO, and 2CO had a Vendor API without a Perl client. So I wrote most of this module for the talk, and Moosified it later for my own edification.

I no longer work at 2CO. Adoption offers welcome.

vampirechicken@github 1 comment

Jenkins-API A wrapper around the Jenkins build systems API

This module is a simple wrapper around the Jenkins API. The query API's implemented so far seem fairly straight forward but the API to create new jobs is very much a work in progress at the moment.

colinnewell@github 2 comments