• Home
  • Most Popular
  • Submit
  • About Us
  • Contact Us

Softpile

Free Downloads

Categories
  • Home
  • Most Popular
  • Communications
  • Desktop
  • Games & Entertainment
  • Graphic Apps
  • Network & Internet
  • Security & Privacy
  • System Utilities
Alternative to itextsharp 2022.11.10347
IronPDF offers an itextsharp alternative for HTML to PDF conversion with C# code examples, documentation, and ...
VShell Server for Linux and Mac 4.8
VShell is a versatile and secure file transfer server that supports multiple protocols and is compatible ...
PDF Studio PDF Editor for Linux 2022
PDF Studio is a cost-effective PDF editor that delivers full compatibility with the PDF Standard. It's ...
VQ Probe for Linux 1.5
VQ Probe is a comprehensive software tool that enables objective and subjective video quality analysis. The ...
Resilient Server 2.3
This Debian GNU/Linux (Buster) based software has a customized partitioning scheme that enhances robustness against filesystem ...
Valentina Studio for Linux 9.6
Valentina Studio is a cross-platform GUI manager for Mac, Windows, and Linux. It allows users to ...
VPN Lifeguard for Linux 1.0.58
The software monitors VPN connection and automatically terminates apps during connection loss, re-establishes the connection and ...
G_Viewer 0.84
G_Viewer is a Linux software that serves as both a file system and photo/image viewer. It ...
Checksome File Hash Tool for Linux 1.1
This software allows for the generation and verification of file hashes. It is a quick and ...
KeyWrangler Password Manager for Linux 1.2
A password management software that is secure, offline and extensible. It offers military-grade encryption to protect ...
Home Linux MooseX::Attributes::Curried Download

MooseX::Attributes::Curried

November 14, 2009
This software helps with the management of "hases" through a process called currying. It allows for the manipulation and organization of data related to identifying and analyzing "has" statements.
Version 0.03
License Perl Artistic License
Platform Linux
Supported Languages English
Homepage search.cpan.org
Developed by Shawn M Moore
MooseX::Attributes::Curried is a Perl module that is designed to facilitate the definition of curried "has" versions in Moose. This is especially useful when a number of attributes share the same options, often across multiple classes. By refactoring those options into a curried has, you can simplify your codebase and eliminate unnecessary duplication.

One of the most common use cases for this extension is creating a standalone "has library" module, which can then be used across multiple classes. If you only need a curried has for one class, it's possible to define a sub has_datetime { has(...) } within that class instead.

When using this module, you can further customize each curried has by specifying additional options on the import line. For example, you might use the following syntax:

use MyAttrs (
has_datetime => {
is => 'ro',
},
has_datetime => {
-as => 'needs_datetime',
required => 1,
},
);

Your "defaults" for the attribute can also be defined as a code reference. This reference will receive both the additional specializations performed when the curried attribute was imported, as well as any additional specializations used in the individual attribute. This can be incredibly powerful, as demonstrated in the t/007-smart-has.t test file.

To use MooseX::Attributes::Curried in your own code, you simply need to add it to your package and define the appropriate attributes. For example:

package MyAttrs;
use MooseX::Attributes::Curried (
has_datetime => {
isa => 'DateTime',
default => sub { DateTime->now },
},
has_rw => {
is => 'rw',
},
);

package My::Class;
use Moose;
use MyAttrs;

has_datetime 'birthday' => (
is => 'ro',
);
has_rw 'age' => (
isa => 'Int',
);

Overall, MooseX::Attributes::Curried is a highly valuable module for developers working with Perl and Moose. Its ability to simplify attribute definition and eliminate duplication can greatly improve code organization and efficiency.
What's New

Version 0.03: N/A

Free Download 17.7K
337
  • Share on:

Most Popular

  1. Quicksilver Forums 1.4.2
    155
  2. Dvgrab 3.4
    95
  3. DynVPN 1.0
    82
  4. CherryTV 0.1
    80
  5. SlideMap 1.2.2
    75
  6. porm r2
    70
  7. Hills 2.0
    70
  8. crick-info 1.0
    69
  9. fuseftp 0.8
    68
  10. Swiftfox 3.0b5pre-2
    67

Related Downloads

GG Transport
GG Transport is a software gateway facilitating communication between users of Jabber/XMPP ...
JDBCImporter
This software offers a reliable solution for seamlessly importing data from file ...
Melina
This software provides a green theme to enhance the appearance of your ...
Pywmseti
Pywmseti tracks the SETI@home activity, keeping tabs on a single process.
acarsdclient
Acarsdclient is a software application designed to operate as a client of ...
OpenMW
An endeavor to recreate the widely acclaimed RPG, Morrowind, in a new ...
Gnomad2
Gnomad2 is a software that enables the management of Creative and Dell ...
medini QVT
medini QVT is a QVT engine that implements the QVT Relations specification ...
XML::Stream
This software establishes an XML Stream connection and performs data parsing on ...
DokuWiki Wiki JumpBox
DokuWiki is a user-friendly wiki software that facilitates collaborative website editing. Its ...
Copyright © 1999-2025 Softpile Free Downloads
  • Most Popular
  • Submit
  • About Us
  • Contact Us
  • Privacy Policy
  • Disclaimer
  • Terms of Use

Can we use your data to tailor ads for you?

Our partners will collect data and use cookies for ad personalization and measurement.

By choosing "I agree", closing this pop-up or clicking on any element on the page, you agree to the use of cookies to help us provide you with a better user experience.

Learn how Softpile and our partners collect and use data.

You can change your choice at any time in our privacy center.

Cookie Settings

Our website stores four types of cookies. At any time you can choose which cookies you accept and which you refuse. You can read more about what cookies are and what types of cookies we store in our Cookie Policy.

are necessary for technical reasons. Without them, this website may not function properly.

are necessary for specific functionality on the website. Without them, some features may be disabled.

allow us to analyse website use and to improve the visitor's experience.

allow us to personalise your experience and to send you relevant content and offers, on this website and other websites.