source: ruby/trunk/lib/models/rm/support/identification.rb@ 90

Last change on this file since 90 was 90, checked in by KOBAYASHI, Shinji, 16 years ago

refs #38, #39, #48

File size: 1.5 KB
Line 
1# This module is an implementation of this UML:
2# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109331021343_528780_2066Report.html
3# Ticket refs #39
4module OpenEHR
5 module RM
6 module Support
7 module Identification
8
9 class Object_ID
10 attr_reader :value
11
12 def initialize(value)
13 self.value=value
14 end
15
16 def value=(value)
17 raise "empty value" if value.nil? or value.empty?
18 @value = value
19 end
20 end # of ObjectID
21
22 class Archetype_ID < Object_ID
23 end
24
25 class Terminology_ID < Object_ID
26 attr_reader :name
27
28 def initialize(name , version_id)
29 @name , @version_id = name , version_id
30 end
31
32 def setValue(value)
33 loadValue(value)
34 super.value = value
35 end
36
37 def version_id
38 @version
39 end
40
41 private
42
43 def loadValue(value)
44 if /\(.*\)$/ =~ value
45# @name, @version = value.split(\())
46 @version.chop!
47 else
48 @name = value
49 @version = nil
50 end
51 end
52
53 def toValue(name, version)
54 if name == ""
55 raise Exception.new("empty name")
56 end
57 name + (version == nil ? "" : "(" + version + ")")
58 end
59 end # of Terminology_ID
60 end # of Definition
61 end # of Support
62 end # of RM
63end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.