Changeset 363 for ruby/branches
- Timestamp:
- Nov 20, 2009, 1:31:18 AM (14 years ago)
- Location:
- ruby/branches/0.5
- Files:
-
- 1 added
- 3 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 -
ruby/branches/0.5/spec/lib/open_ehr/rm/demographic/party_identity_spec.rb
r362 r363 21 21 end 22 22 23 it 'should raise ArgumentError with nil details' do 24 lambda { 25 @party_identity.details = nil 26 }.should raise_error ArgumentError 27 end 28 23 29 it 'purpose should return as same as name' do 24 30 @party_identity.purpose.value.should == 'test' -
ruby/branches/0.5/spec/lib/open_ehr/rm/demographic/party_spec.rb
r362 r363 58 58 it 'identities should be assigned properly' do 59 59 @party.identities.size.should be_equal 2 60 pend60 end 61 61 62 62 it 'should raise ArgumentError when nil identities are assigned' do … … 80 80 end 81 81 82 it 'should raise ArgumentError with empty contacts' do 83 lambda { 84 @party.contacts = Set.new 85 }.should raise_error ArgumentError 86 end 87 82 88 it 'relationships should be assigned properly' do 83 89 target_ids = Set.new … … 99 105 }.should raise_error ArgumentError 100 106 end 101 107 108 it 'invaild relationship raise ArgumentError' do 109 invalid_id = stub(ObjectID, :value => '10') 110 invalid_source = stub(PartyRef, :id => invalid_id) 111 invalid_rel = stub(PartyRelationship, :source => invalid_source) 112 lambda { 113 @party.relationships = [invalid_rel].to_set 114 }.should raise_error ArgumentError 115 end 102 116 103 117 it 'reverse relationship should be assigned properly' do
Note:
See TracChangeset
for help on using the changeset viewer.