diff options
author | edenc <edenc@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2008-01-28 04:05:58 +0000 |
---|---|---|
committer | edenc <edenc@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2008-01-28 04:05:58 +0000 |
commit | 3fad510ba952e92e9ccc33c9ed283fcccc617d1c (patch) | |
tree | 969ebf35fce6746e5c41865468fca7a45c863609 /lib/Reaction/InterfaceModel/Reflector/DBIC.pm | |
parent | 5509f3f5d0e11f230fdef93cd04883dc08a8cebc (diff) | |
download | reaction-3fad510ba952e92e9ccc33c9ed283fcccc617d1c.tar.gz reaction-3fad510ba952e92e9ccc33c9ed283fcccc617d1c.zip |
unlazified field value setting
Diffstat (limited to 'lib/Reaction/InterfaceModel/Reflector/DBIC.pm')
-rw-r--r-- | lib/Reaction/InterfaceModel/Reflector/DBIC.pm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Reaction/InterfaceModel/Reflector/DBIC.pm b/lib/Reaction/InterfaceModel/Reflector/DBIC.pm index 1acc967..befc66a 100644 --- a/lib/Reaction/InterfaceModel/Reflector/DBIC.pm +++ b/lib/Reaction/InterfaceModel/Reflector/DBIC.pm @@ -756,6 +756,7 @@ class DBIC, which { my $attributes = $self->parse_reflect_rules($attr_rules, $attr_haystack); #create the class + warn $class; my $meta = eval { Class::MOP::load_class($class) } ? $class->meta : $base->meta->create($class, superclasses => [$base]); my $make_immutable = $meta->is_immutable || $self->make_classes_immutable; @@ -808,9 +809,12 @@ class DBIC, which { ); if ($attr_opts{required}) { - $attr_opts{lazy} = 1; - $attr_opts{default} = $from_attr->has_default ? - $from_attr->default : sub{}; + if($from_attr->has_default) { + $attr_opts{lazy} = 1; + $attr_opts{default} = $from_attr->default; + } else { + $attr_opts{lazy_fail} = 1; + } } #test for relationships |