Mercurial > pub > Impl
comparison Lib/IMPL/Class/Property/Direct.pm @ 275:6253872024a4
*refactoring IMPL::Class
author | cin |
---|---|
date | Thu, 31 Jan 2013 02:18:31 +0400 |
parents | 4d0e1962161c |
children |
comparison
equal
deleted
inserted
replaced
274:8d36073411b1 | 275:6253872024a4 |
---|---|
16 | 16 |
17 my $default = __PACKAGE__->new({ExportField => 1}); | 17 my $default = __PACKAGE__->new({ExportField => 1}); |
18 | 18 |
19 sub _direct($) { | 19 sub _direct($) { |
20 my ($prop_info) = @_; | 20 my ($prop_info) = @_; |
21 $prop_info->Implementor( $default ); | 21 $prop_info->implementor( $default ); |
22 return $prop_info; | 22 return $prop_info; |
23 } | 23 } |
24 | 24 |
25 | 25 |
26 sub GenerateGet { | 26 sub GenerateGet { |
70 | 70 |
71 { | 71 { |
72 no strict 'refs'; | 72 no strict 'refs'; |
73 if (ref $self and $self->ExportField) { | 73 if (ref $self and $self->ExportField) { |
74 my $field = $self->FieldName($propInfo); | 74 my $field = $self->FieldName($propInfo); |
75 *{$propInfo->Class.'::'.$propInfo->Name} = \$field; | 75 *{$propInfo->class.'::'.$propInfo->name} = \$field; |
76 } | 76 } |
77 } | 77 } |
78 } | 78 } |
79 | 79 |
80 sub FieldName { | 80 sub FieldName { |
81 my ($self,$propInfo) = @_; | 81 my ($self,$propInfo) = @_; |
82 | 82 |
83 my ($class,$name) = $propInfo->get( qw(Class Name) ); | 83 my ($class,$name) = $propInfo->get( qw(class name) ); |
84 (my $field = "${class}_$name") =~ s/::/_/g; | 84 (my $field = "${class}_$name") =~ s/::/_/g; |
85 return $field; | 85 return $field; |
86 } | 86 } |
87 | 87 |
88 1; | 88 1; |