The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

NAME

Venus::Role::Valuable - Valuable Role

ABSTRACT

Valuable Role for Perl 5

SYNOPSIS

  package Example;

  use Venus::Class;

  with 'Venus::Role::Valuable';

  package main;

  my $example = Example->new;

  # $example->value;

DESCRIPTION

This package modifies the consuming package and provides a value attribute which defaults to what's returned by the default method, as well as get and set methods for modifying the value.

ATTRIBUTES

This package has the following attributes:

value

  value(Any)

This attribute is read-write, accepts (Any) values, and is optional.

METHODS

This package provides the following methods:

default

  default() (Any)

The default method returns the default value, i.e. undef.

Since 0.01

default example 1
  package main;

  my $example = Example->new;

  my $default = $example->default;

  # undef

get

  get() (Any)

The get method gets and returns the value.

Since 0.01

get example 1
  package main;

  my $example = Example->new(value => 'hey, there');

  my $get = $example->get;

  # "hey, there"

set

  set(Any $value) (Any)

The set method set the value and returns the value set.

Since 0.01

set example 1
  package main;

  my $example = Example->new(value => 'hey, there');

  my $set = $example->set('hi, there');

  # "hi, there"