Download Class Meta Express - Class Meta Express Description, Class Meta Express Reviews
Contact
 


 

Download

 
Download Now (8K)
Perl Artistic License
Downloads till now: 2
 
 

Quick search

 



 

Rate this software

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

No. Votes

0

 

Linux

Assembler Tools , Bug Tracking , Code Generators , Compilers , Debuggers , Disassemblers , Internationalization , Interpreters , Libraries , Localization, Perl Modules , Preprocessors , Quality Assurance and Testing , UI (User Interfaces) , Version Control , Widgets ,

Windows

Mac

Mobile

Drivers

Scripts - DHTML

Scripts - DHTML (new)

Web Developer Blog

Web Developer Blog (new)

Scripts and Applications

Ajax
ASP
ASP.NET
C and C++
CFML
CGI and Perl
Flash
Java
JavaScript
PHP
Python
XML

Class::Meta::Express

 

Details

Size: 8K
Last Update: 2008-05-17 01:33:04
Version: 0.04
OS Support: Linux
License/Program Type: Perl Artistic License
Publisher: David Wheeler
Price:$0.00
Description:

Class::Meta::Express 0.04 is libraries software developed by David Wheeler.
Class::Meta::Express is a Perl module for concise, expressive creation of Class::Meta classes.



Synopsis

package My::Contact;
use Class::Meta::Express;

class {
meta contact => ( default_type => 'string' );
has 'name';
has contact => ( required => 1 );
}

This module provides an interface to concisely yet expressively create classes with Class::Meta. Although I am of course fond of Class::Meta, I've never been overly thrilled with its interface for creating classes:

package My::Thingy;
use Class::Meta;

BEGIN {
Create a Class::Meta object for this class.
my $cm = Class::Meta->new( key => 'thingy' );

Add a constructor.
$cm->add_constructor( name => 'new' );

Add a couple of attributes with generated accessors.
$cm->add_attribute(
name => 'id',
is => 'integer',
required => 1,
);

$cm->add_attribute(
name => 'name',
is => 'string',
required => 1,
);

$cm->add_attribute(
name => 'age',
is => 'integer',
);

Add a custom method.
$cm->add_method(
name => 'chk_pass',
code => sub { return 'code' },
);
$cm->build;
}

This example is relatively simple; it can get a lot more verbose. But even still, all of the method calls were annoying. I mean, whoever thought of using an object oriented interface for declaring a class? (Oh yeah: I did.) I wasn't alone in wanting a more declarative interface; Curtis Poe, with my blessing, created Class::Meta::Declare, which would use this syntax to create the same class:

package My::Thingy;
use Class::Meta::Declare ':all';

Class::Meta::Declare->new(
Create a Class::Meta object for this class.
meta => [
key => 'thingy',
],
Add a constructor.
constructors => [
new => { }
],
Add a couple of attributes with generated accessors.
attributes => [
id => {
type => $TYPE_INTEGER,
required => 1,
},
name => {
required => 1,
type => $TYPE_STRING,
},
age => { type => $TYPE_INTEGER, },
],
Add a custom method.
methods => [
chk_pass => {
code => sub { return 'code' },
}
]
);

This approach has the advantage of being a bit more concise, and it is declarative, but I find all of the indentation levels annoying; it's hard for me to figure out where I am, especially if I have to define a lot of attributes. And finally, everything is a string with this syntax, except for those ugly read-only scalars such as $TYPE_INTEGER. So I can't easily tell where one attribute ends and the next one starts. Bleh.

Requirements:
Perl
Class::Meta::Express 0.04 supports english interface languages and works with Linux.

Downloading Class::Meta::Express 0.04 will take several seconds if you use fast ADSL connection.

Leave a comment




(optional)

What is 7-3?




0 comments


Add to

 Del.icio.us   Digg It   Furl   YahooMyWeb   Blinklist
 

Class::Meta::Express Version History

Product Date Added
Class::Meta::Express 0.04 2008-05-17 01:33:04


Related Software

Chart::Graph
From category: Libraries
Chart::Graph 3.2 is libraries software developed by CAIDA Perl development team. Chart::Graph is a Perl extension for a front-end to gnuplot, XRT, and Xmgrace. SYNOPSIS EXAMPLE: gn...
Bundle::OS2_default
From category: Libraries
Bundle::OS2_default 1.07 is libraries software developed by Bundle::OS2_default Team. Bundle::OS2_default are Perl modules to install last for OS/2 binary distribution. SYNOPSIS per...
FXPy
From category: Libraries
FXPy 1.0.5 is libraries software developed by Lyle Johnson. FXPy is a Python extension module which provides an interface to the FOX cross-platform GUI library. The FXPy API follows the sta...
DBD::ODBC::Changes
From category: Libraries
DBD::ODBC::Changes 1.13 is libraries software developed by DBD::ODBC::Changes Team. DBD::ODBC::Changes is a Perl module with logs of significant changes to the DBD::ODBC. Requirements: P...
HTTP client request class
From category: Libraries
HTTP client request class is a PHP class that implements requests to Web resources using the HTTP protocol....
Algorithm::C3 0.05
From category: Libraries
Algorithm::C3 0.05 is libraries software developed by Stevan Little and Brandon L. Black. Algorithm::C3 is a module for merging hierarchies using the C3 algorithm. SYNOPSIS use Algo...
Net Peep Conf
From category: Perl-Modules
Net::Peep::Conf is a Perl extension for providing an object representation of configuration information for Peep....
C++ XML Objects
From category: Libraries
C++ XML Objects 1.0.0.7 is libraries software developed by Paul Hamilton. C++ XML Objects is a framework for persisting hierarchies of C++ objects to and from XML. Boost, The STL and Patterns are u...
The Blue Programming Language
From category: Compilers
The Blue Programming Language project is a unique bytecode-compiled language....
DateTime::Format::Excel
From category: Libraries
DateTime::Format::Excel 0.2901 is libraries software developed by Iain Truskett. DateTime::Format::Excel is a Perl module that can convert between DateTime and Excel dates. SYNOPSIS...
Big Faceless Report Generator
From category: Libraries
Big Faceless Report Generator 1.1.32 is libraries software developed by Big Faceless Organization. Big Faceless Report Generator project is a Java application for converting source documents writte...
C to C++
From category: Code-Generators
C to C++ 1.4.0 is code generators software developed by Denis G. Sureau. C to C++ is a Python script that converts C code to C++ code. The main program is ctocpp.py that performs successive...
bksys
From category: Compilers
bksys 1.5.1 is compilers software developed by Thomas Nagy. bksys is a framework based on scons for detecting the environment, compiling applications and installing them. It replaces the who...
Audio::MPD 0.12.3
From category: Libraries
Audio::MPD 0.12.3 is libraries software developed by Tue Abrahamsen. Audio::MPD is a class for talking to MPD (Music Player Daemon) servers. SYNOPSIS use Audio::MPD; my $mp...
Code::Perl
From category: Libraries
Code::Perl 0.03 is libraries software developed by Fergal Daly. Code::Perl is a Perl module to produce Perl code from a tree. SYNOPSIS use Code::Perl::Expr qw( :easy ); my...
 

Top Downloads

 
1. Canon PIXMA iP1000 Printer Driver
2. Canon PIXMA iP1200 Printer Driver x64 d
3. Canon PIXMA iP1200 Printer Driver
4. Canon PIXMA iP1300 Printer Driver a
5. Realtek ALC/ 262/ 265/ 268/ 660/ 861/ 880/ 882/ 883/ 885/ 888 Audio
6. Canon PIXMA MP210 MP Drivers
7. Canon PIXMA iP1600 Printer Driver
8. Canon i-SENSYS LBP2900 Printer Driver R
9. Asus EZVcr II
10. Canon PIXMA iP1300 Printer Driver c
11. Canon PIXMA MP160 MP Drivers xp64
12. Canon i560 Printer Driver
13. Canon PIXMA MP160 MP Drivers 9xME
14. Canon LaserShot LBP-1210 Printer Driver
15. Realtek RTL8100B(L)/RTL8100C(L)/RTL8101L/RTL8139C(L) Driver XP
16. SendSong
17. Realtek RTL8139C(L)+/RTL8139D(L)/RTL8100(L)/RTL8130/RTL8139B(L) Driver
18. Alcatel SpeedTouch 330/USB
19. Genius VideoCAM Trek
20. We iSMS

DownloadTube Editor Reviews

 
1. Able Fax Tif View
Able Fax Tif View is a FAX, TIF, PDF, EPS, PS, AI, DCX, DICO...
2. Access Manager for Windows
Access Manager for Windows is a feature-rich software that a...
3. Vista User Time Manager
Vista User Time Manager is a powerful software that enables ...
4. River Past Video Cleaner
River Past Video Cleaner is an easy-to-use, flexible, powerf...
5. Tube Explorer Lite
Tube Explorer Lite is a smart tool that will help you browse...
6. Convert MPEG To WMV
EZ MPEG To WMV Converter is an easy to use video conversion ...
7. Convert Video To AVI
EZ Video TO AVI Converter has a powerful media conversion en...
8. A-one Video Convertor
A-one video converter is a powerful tool that offers you an ...
9. ALPass
ALPass is a smart tool that allows you to automatically logi...
10. Smart Pix Manager
Smart Pix Manager is a powerful, feature-rich and user-frien...

Software Reviews Full List



Recent Blog Posts

 
1. Google Chrome – It’s Finally Here. Will A Revolution Begin?
First, it was the rumors. Then, Google announced it official...
2. An Amazing Free Document Processing Software: LyX
The documents management task could be difficult in absence ...
3. DownloadTube Toolbar is Available For Free Download
Recently, we have made available for free download the Dow...
4. A Revolution in Web Browsing: The New Firefox 3.1b1 Already Beats All Speed Records
The latest beta1 release of Mozilla Firefox 3.1 shows majo...
5. Some Little, Nice, Freeware Tools You May Never Know When You'll Need
This time I won’t speak about a single freeware program that...
6. How To Increase The Quality of Your News Articles For Search Engine Spiders
The process of articles publishing is a common practice to...
7. Digg in Press: Tips and Opinions
Regarding Digg social bookmarking service there are many a...
8. Ubuntu Linux and Windows Can Share The Desktop In Absence Of Virtual Machines
Many people asked themselves how to run Ubuntu Linux and W...
9. 2.5 Millions Downloads for FireTune: It Makes Mozilla Firefox To Run With The Speed of Light
It is well known the fact that even the latest version of M...
10. Image Galleries on Autopilot: Instant Gallery Maker
The creation of image galleries ready for web publishing...

Last 20 Scripts

 
1. Azure CMS
Azure CMS is a universal software product for the developmen
2. Azure Portal
Azure Portal is a social networking script made with PHP pro
3. One Frog
One Frog is a content management system that allows you to u
4. Cigmas CMS
Cigmas CMS is a powerful web content management system for g
5. WebWord CMS
WebWord CMS is a full featured web content management system
6. Marjetica Content Management System
Marjetica Content Management System is a powerful, easy to u
7. Phenotype CMS
Phenotype CMS is a PHP/MySQL - Smarty Content Application Fr
8. Chupix CMS
Chupix is a content management system written in PHP and sto
9. Interspire Website Publisher
Interspire Website Publisher (formerly ArticleLive) is a con
10. Interspire Email Marketer
Interspire Email Marketer (formerly SendStudio) is a web bas
11. Comments RAM
Comments RAM is a lightweight PHP script that allows you to
12. KoolAjax
KoolAjax facilitates data exchange between server-side and c
13. KoolTreeView
KoolTreeView is a unique treeview control for PHP.
14. petitforum
This is a little discussion board which does not use MySQL a
15. eliteCMS
Elite CMS is an ideal content management system for a small
16. TotalW
TotalW is a simple to install and use file manager written i
17. alizer
alizer is a PHP script that analyzes the Apache log file.It
18. dpDebug 2
dpDebug 2 allows you to track down any problem with certain
19. Projector
Projector is a very simple project management system that is
20. Ticket Support System
Ticket Support System is an online PHP / MySQL based script