Changeset 363 for ruby/branches/0.5/lib/open_ehr/rm/demographic.rb
- Timestamp:
- Nov 20, 2009, 1:31:18 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.5/lib/open_ehr/rm/demographic.rb
r362 r363 7 7 module RM 8 8 module Demographic 9 class Address < Locatable10 attr_reader :details11 12 def initialize(args = { })13 super(args)14 self.details = args[:details]15 end16 17 def details=(details)18 if details.nil?19 raise ArgumentError, 'details are mandatory'20 end21 @details = details22 end23 24 def type25 return @name26 end27 end28 29 class Capability < Locatable30 attr_reader :credentials, :time_validity31 32 end33 34 9 class Party < Locatable 35 10 attr_reader :uid, :identities, :contacts, :relationships, … … 115 90 end 116 91 117 class PartyRelationship < Locatable118 119 end120 121 class VersionedParty < Locatable122 123 end124 125 class Role < Party126 127 end128 129 class Actor < Party130 LEAGAL_IDENTITY = 'leagal identity'131 attr_reader :languages, :rules132 133 def initialize(uid, archetype_node_id, name, archetype_details,134 feeder_audit, links, identities, contacts,135 relationships, reverse_relationships, details,136 languages, rules)137 super(uid, archetype_node_id, name, archetype_details,138 feeder_audit, links, relationships, reverse_relationships,139 details)140 has_legal_identity?141 set_languages(languages)142 set_rules(rules)143 end144 145 def has_legal_identity?146 @identities.each {|identity|147 if (identity.purpose.value == LEAGAL_IDENTITY)148 return true149 end150 }151 false152 end153 154 def languages=(languages)155 set_languages(languages)156 end157 158 def values=(values)159 set_values(values)160 end161 private162 def set_languages(languages)163 if languages.nil?164 raise ArgumentError, "languages should not be nil."165 elsif languages.empty?166 raise ArgumentError, "languages shouldnot be empty."167 end168 @languages = languages169 end170 171 def set_values(values)172 if values.nil?173 raise ArgumentError, "values should not be nil."174 elsif values.empty?175 raise ArgumentError, "values should not be nil."176 end177 @values = values178 end179 end180 181 92 class Contact < Locatable 182 93 attr_accessor :time_validity … … 201 112 end 202 113 114 class Address < Locatable 115 attr_reader :details 116 117 def initialize(args = { }) 118 super(args) 119 self.details = args[:details] 120 end 121 122 def details=(details) 123 if details.nil? 124 raise ArgumentError, 'details are mandatory' 125 end 126 @details = details 127 end 128 129 def type 130 return @name 131 end 132 end 133 134 class Actor < Party 135 LEAGAL_IDENTITY = 'legal identity' 136 attr_reader :languages, :roles 137 138 def initialize(args = { }) 139 super(args) 140 self.roles = args[:roles] 141 self.languages = args[:languages] 142 end 143 144 def roles=(roles) 145 if !roles.nil? && roles.empty? 146 raise ArgumentError, 'roles should not be empty' 147 end 148 @roles = roles 149 end 150 151 def has_legal_identity? 152 @identities.each do |identity| 153 if identity.purpose.value == LEAGAL_IDENTITY 154 return true 155 end 156 end 157 return false 158 end 159 160 def languages=(languages) 161 if !languages.nil? && languages.empty? 162 raise ArgumentError, 'languages should not be empty.' 163 end 164 @languages = languages 165 end 166 end 167 168 class Person < Actor 169 170 end 171 172 class Organisation < Actor 173 174 end 175 176 class Group < Actor 177 178 end 179 203 180 class Agent < Actor 204 181 205 182 end 206 183 207 class Organisation < Actor 208 209 end 210 211 class Person < Actor 212 213 end 214 215 class Group < Actor 184 class Role < Party 185 186 end 187 188 class Capability < Locatable 189 attr_reader :credentials, :time_validity 190 191 end 192 193 class PartyRelationship < Locatable 194 195 end 196 197 class VersionedParty < Locatable 216 198 217 199 end
Note:
See TracChangeset
for help on using the changeset viewer.