source: ruby/trunk/lib/models/rm/common/change_control.rb@ 119

Last change on this file since 119 was 119, checked in by KOBAYASHI, Shinji, 15 years ago

devide test_reference_model.rb

File size: 2.5 KB
Line 
1# This module is based on the UML,
2# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109326589721_134411_997Report.html
3# Ticket refs #64
4
5module OpenEHR
6 module RM
7 module Common
8 module Change_Control
9 class Contribution
10 attr_reader :uid, :versions, :audit
11 def initialize(uid, versions, audit)
12 self.uid = uid
13 self.versions = versions
14 self.audit = audit
15 end
16 def uid=(uid)
17 if uid.nil?
18 raise ArgumentError, "uid should not be nil."
19 end
20 @uid = uid
21 end
22 def versions=(versions)
23 unless versions.nil?
24 if versions.empty?
25 raise ArgumentError, 'versions shoud not be nil or empty.'
26 end
27 end
28 @versions = versions
29 end
30 def audit=(audit)
31 if audit.nil?
32 raise ArgumentError, 'audit should not be nil.'
33 end
34 if audit.description.nil?
35 raise ArgumentError, 'audit.description should not be nil.'
36 end
37 @audit = audit
38 end
39 end
40
41 class Versioned_Object
42 end
43
44 class Version
45 attr_reader :uid, :contribution, :commit_audit, :signature
46 attr_reader :attestations, :data
47 def initialize(uid, contribution, commit_audit, signature=nil, attestations=nil, data=nil)
48 self.uid = uid
49 self.contribution = contribution
50 self.commit_audit = commit_audit
51 end
52 def canonical_form
53 raise NotImplementedError, 'canonical form not implemented'
54 end
55
56 def uid=(uid)
57 raise ArgumentError, "uid should not be nil" if uid.nil?
58 end
59
60 def contribution=(contribution)
61 raise ArgumentError, "contribution should not be nil" if contribution.nil? or contribution.type == ''
62 @contribution = contribution
63 end
64
65 def commit_audit=(commit_audit)
66 raise ArgumentError, "commit_audit should not be nil" if commit_audit.nil?
67 @commit_audit = commit_audit
68 end
69
70 def is_branch?
71 raise NotImplementedError, 'is_branch not implemented'
72 end
73 end
74
75 class Imported_Version < Version
76 end
77
78 class Original_Version < Version
79 end
80
81 end # of Change_Control
82 end # of Common
83 end # of RM
84end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.