NAME

MoobX::Trait::Observable - turn a Moose object attribute into an MoobX observable

VERSION

version 0.1.2

SYNOPSIS

package Person;

use MoobX;

our $OPENING :Observable = 'Dear';

has name => (
    traits => [ 'Observable' ],
    is     => 'rw',
);

has address => (
    is      => 'ro',
    traits  => [ 'Observer' ],
    default => sub {
        my $self = shift;
        join ' ', $Person::OPENING, $self->name
    },
);

my $person = Person->new( name => 'Wilfred' );

print $person->address;  # Dear Wilfred

$person->name( 'Wilma' );

print $person->address;  # Dear Wilma

DESCRIPTION

Turns an object attribute into an observable.

AUTHOR

Yanick Champoux <yanick@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022, 2017 by Yanick Champoux.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.