PrePAN

Sign in to PrePAN

Profile

User's Modules

CIT Distributed CPAN Issue Tracking Suite

CIT (CPAN Issue Tracker) is an idea I had/have for a modern Issue/Bug Tracker for the CPAN. RT is great and has served us well throughout the years but I feel we can do better now.

CIT is a single package that bundles the CLI, API and Data Model. I've started tossing around ideas in my Git repo but I'm open to collaboration. Actually, I am probably not going to get very far without an influx of collaborators.

The API and CLI will allow Perl users and developers alike to install the package and quickly begin reporting and contributing to bugs, features, etc. Using a NoSQL datastore will support an easily distributed data model.

Contact me for a more in-depth brain-dump.

-Al

alnewkirk@github 2 comments

MongoDBI Pre-pre-pre Alpha Software, MongoDB ODM

MongoDBI is an Object-Document-Mapper (ODM) for MongoDB. It allows you to create Moose-based classes to interact with MongoDB databases. Born out of the frustration from waiting for someone else to create a proper MongoDB access layer, I decided to bite-the-bullet and try my hand at it.

alnewkirk@github 2 comments

Pegasus Module-Starter for DBIx-Class-based Data Models

WHO Al Newkirk - Crazy Idealistic P3rl H@ck3r

WHAT Pegasus - The Module-Starter for DBIx::Class data models

Pegasus is a simple scaffolding utility for RAD (rapid app development). It helps you generate a DBIx::Class data model with schema class, and tests.

It basically extends the convenience of using DBIx::Class::Schema::Loader. This devkit exists solely to help further eliminate the tedium when creating data models using DBIx::Class.

WHEN A developer could use Pegasus after creating the database schema at the database. Pegasus will then generate a DBIC data model.

WHERE Pegasus is far from ready for the CPAN, ... So where do pre-CPAN modules attend daycare? GitHub ofcourse:

  • Pegasus CLI: https://github.com/alnewkirk/Pegasus
  • Pegasus Example Model: https://github.com/alnewkirk/Pegasus-Example

HOW Pegasus Scaffold Generation

    1. generate schema (using DBIC S::L)
    1. generate sql scripts (deploy)
    1. generate transaction layer (Pegasus)
    1. generate tests (Pegasus)

Usage (from the command-line)

  • $ sqlite3 example.db < creation_script_not_inc.sql
  • $ pegasus setup Example::DB dbi:SQLite:./example.db root
  • $ pegasus run

WHY Scaffolding helps us build it faster, bigger, better (some restrictions apply)

Also, -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Cit. Rich Cook

alnewkirk@github 2 comments