X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FReaction%2FInterfaceModel%2FReflector%2FDBIC.pm;h=1765f6c226df2c966cc08a3e064b438229047e18;hb=8f79fbf5b2973d33f500d13c2b58a40e6ee85078;hp=8e3525230a6e220993cb3953abc72defe01f9c7f;hpb=4e13fa5f98ee745d85e5ca0ad45050390f33f429;p=catagits%2FReaction.git diff --git a/lib/Reaction/InterfaceModel/Reflector/DBIC.pm b/lib/Reaction/InterfaceModel/Reflector/DBIC.pm index 8e35252..1765f6c 100644 --- a/lib/Reaction/InterfaceModel/Reflector/DBIC.pm +++ b/lib/Reaction/InterfaceModel/Reflector/DBIC.pm @@ -301,7 +301,7 @@ class DBIC, which { unless( $reader ){ $reader = $source; $reader =~ s/([a-z0-9])([A-Z])/${1}_${2}/g ; - $reader = lc($reader) . "_collection"; #XXX change to not use _collection ? + $reader = join('_', map lc, split(/::/, $reader)) . "_collection"; #XXX change to not use _collection ? } unless( $dm_name ){ my @haystack = $meta->domain_models; @@ -324,7 +324,7 @@ class DBIC, which { required => 1, isa => $collection, reader => $reader, - predicate => "has_${name}", + predicate => "has_" . join('_', map lc, split(/::|(?<=[a-z0-9])(?=[A-Z])/, $name)), domain_model => $dm_name, orig_attr_name => $source, default => sub {