aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/InterfaceModel/Reflector/DBIC.pm
diff options
context:
space:
mode:
authoredenc <edenc@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2008-01-28 04:05:58 +0000
committeredenc <edenc@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2008-01-28 04:05:58 +0000
commit3fad510ba952e92e9ccc33c9ed283fcccc617d1c (patch)
tree969ebf35fce6746e5c41865468fca7a45c863609 /lib/Reaction/InterfaceModel/Reflector/DBIC.pm
parent5509f3f5d0e11f230fdef93cd04883dc08a8cebc (diff)
downloadreaction-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.pm10
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