diff options
Diffstat (limited to 'lib/MooseX/Bread/Board/Meta/Role/Attribute.pm')
-rw-r--r-- | lib/MooseX/Bread/Board/Meta/Role/Attribute.pm | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm b/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm index 9f4c16e..c6c1335 100644 --- a/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm +++ b/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm @@ -83,6 +83,18 @@ after attach_to_class => sub { $meta->add_service($service); }; +after _process_options => sub { + my $class = shift; + my ($name, $opts) = @_; + + return unless exists $opts->{default}; + return unless exists $opts->{class} + || exists $opts->{block} + || exists $opts->{value}; + + die "default is not valid when Bread::Board service options are set"; +}; + around get_value => sub { my $orig = shift; my $self = shift; |