| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package UR::Object::Value; | 
| 2 |  |  |  |  |  |  |  | 
| 3 | 116 |  |  | 116 |  | 4027 | use strict; | 
|  | 116 |  |  |  |  | 172 |  | 
|  | 116 |  |  |  |  | 3465 |  | 
| 4 | 116 |  |  | 116 |  | 426 | use warnings; | 
|  | 116 |  |  |  |  | 138 |  | 
|  | 116 |  |  |  |  | 3188 |  | 
| 5 | 116 |  |  | 116 |  | 382 | use UR; | 
|  | 116 |  |  |  |  | 130 |  | 
|  | 116 |  |  |  |  | 759 |  | 
| 6 |  |  |  |  |  |  | our $VERSION = "0.46"; # UR $VERSION; | 
| 7 |  |  |  |  |  |  |  | 
| 8 |  |  |  |  |  |  | class UR::Object::Value { | 
| 9 |  |  |  |  |  |  | is => 'UR::Value', | 
| 10 |  |  |  |  |  |  | is_abstract => 1, | 
| 11 |  |  |  |  |  |  | subclassify_by => 'entity_class_name', | 
| 12 |  |  |  |  |  |  | type_has => [ | 
| 13 |  |  |  |  |  |  | entity_class_name   => { is => 'Text' }, | 
| 14 |  |  |  |  |  |  | ], | 
| 15 |  |  |  |  |  |  | has => [ | 
| 16 |  |  |  |  |  |  | rule                => { is => 'UR::BoolExpr', id_by => 'id' }, | 
| 17 |  |  |  |  |  |  | entity_class_name   => { via => 'rule', to => 'subject_class_name' }, | 
| 18 |  |  |  |  |  |  | ], | 
| 19 |  |  |  |  |  |  | doc => 'an unordered group of distinct UR::Objects' | 
| 20 |  |  |  |  |  |  | }; | 
| 21 |  |  |  |  |  |  |  | 
| 22 |  |  |  |  |  |  | sub AUTOSUB { | 
| 23 | 0 |  |  | 0 | 0 |  | my ($method,$class) = @_; | 
| 24 | 0 |  |  |  |  |  | my $entity_class_name = $class; | 
| 25 | 0 |  |  |  |  |  | $entity_class_name =~ s/::Value$//g; | 
| 26 | 0 | 0 |  |  |  |  | return unless $entity_class_name; | 
| 27 | 0 |  |  |  |  |  | my $code = $entity_class_name->can($method); | 
| 28 | 0 | 0 |  |  |  |  | return $code if $code; | 
| 29 |  |  |  |  |  |  | } | 
| 30 |  |  |  |  |  |  |  | 
| 31 |  |  |  |  |  |  | 1; | 
| 32 |  |  |  |  |  |  |  |