Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.545.822 Times

Object::Declare 0.13

  Date Added: October 08, 2010  |  Visits: 554

Object::Declare

Report Broken Link
Printer Friendly Version


Product Homepage
Download (70 downloads)



Object::Declare is a Perl module for declarative object constructor. SYNOPSIS use Object::Declare [MyApp::Column, MyApp::Param]; my %objects = declare { param foo => !is global, is immutable, valid_values are qw( more values ); column bar => field1 is value, field2 is some_other_value; }; print $objects{foo}; # a MyApp::Param object print $objects{bar}; # a MyApp::Column object This module exports one function, declare, for building named objects with a declarative syntax, similar to how Jifty::DBI::Schema defines its columns. In list context, declare returns a list of name/object pairs in the order of declaration (allowing duplicates), suitable for putting into a hash. In scalar context, declare returns a hash reference. Using a flexible import interface, one can change exported helper functions names (declarator), words to link labels and values together (copula), and the table of named classes to declare (mapping): use Object::Declare declarator => [declare], # list of declarators copula => { # list of words, or a map is => , # from copula to prefixes for are => , # labels built with that copula } aliases => { # list of label aliases: more => less, # turns "is more" into "is less" # and "more is 1" into "less is 1" }, mapping => { column => MyApp::Column, # class name to call ->new to param => sub { # arbitrary coderef also works bless(@_, MyApp::Param); }, }; After the declarator block finishes execution, all helper functions are removed from the package. Same-named functions (such as &is and &are) that existed before the declarators execution are restored correctly..

Requirements: No special requirements
Platforms: Linux
Keyword: Declarative Declare Libraries List List Of Module Myapp Object Objectdeclare Perl Perl Module Programming
Users rating: 0/10

License: Freeware Size: 27.65 KB
USER REVIEWS
More Reviews or Write Review


OBJECT::DECLARE RELATED
Libraries  -  Object::LocalVars 0.16
Object::LocalVars is a Perl module with outside-in objects with local aliasing of $self and object variables. SYNOPSIS package My::Object; use strict; use Object::LocalVars; give_methods our $self; # this exact line is required our...
40.96 KB  
Libraries  -  Games::Object 0.11
Games::Object is a Perl module to provide a base class for game objects. SYNOPSIS package MyGameObject; use Games::Object; use vars qw(@ISA); @ISA = qw(Games::Object); sub new { # Create object my $proto = shift; my $class =...
84.99 KB  
Libraries  -  Module::Reload::Selective 1.02
Module::Reload::Selective can reload Perl modules during development. SYNOPSIS Instead of: use Foobar::MyModule; Do this: use Module::Reload::Selective; &Module::Reload::Selective->reload(qw(Foobar::MyModule)); Or, if you need the...
10.24 KB  
Libraries  -  Module::Build::JSAN 0.01
Module::Build::JSAN is a Perl module to build JavaScript modules for JSAN. SYNOPSIS use Module::Build::JSAN; my $build = Module::Build::JSAN->new( module_name => Foo-Bar, license => perl, dist_author => Joe Developer , dist_abstract =>...
5.12 KB  
Libraries  -  Basset::Object 1.04
Basset::Object is a Perl module used to create objects. This is my ultimate object creation toolset to date. It has roots in Mail::Bulkmail, Text::Flowchart, and the unreleased abstract object constructors that Ive tooled around with in the...
143.36 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Module::Starter::XSimple 0.0.1
Module::Starter::XSimple is a Perl module to create XS modules with Module::Starter. Replacement class for Module::Starter::Simple. Can be used in two ways: Using the commandline Pass as an override class to the module-starter script:...
6.14 KB  
3D Graphic Tools  -  ogre4j 1.4.3 Beta 2
ogre4j project enables the use of the OGRE (Object-Oriented Graphics Rendering Engine) libraries in Java applications. The first approach was made by Ivica Aracic aka bytelord (http://www.bytelords.de). Thanks to him for taking the first steps!...
1024 KB  
Libraries  -  Clone 0.23
Clone is a Perl module that can recursively copy Perl datatypes. SYNOPSIS use Clone; push @Foo::ISA, Clone; $a = new Foo; $b = $a->clone(); # or use Clone qw(clone); $a = { foo => bar, move => zig }; $b = [ alpha, beta, gamma,...
10.24 KB  
Libraries  -  ModPerl::PackageRegistry 0.02
ModPerl::PackageRegistry is a Perl module to map URIs to perl package namespaces. SYNOPSIS Apache: SetHandler perl-script PerlResponseHandler ModPerl::PackageRegistry PackageNamespace MyWebsite::pages PackageBase...
7.17 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB