Changeset 226 for ruby/branches/0.5/lib/open_ehr/rm/data_types/text.rb
- Timestamp:
- Aug 27, 2009, 10:47:01 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.5/lib/open_ehr/rm/data_types/text.rb
r224 r226 10 10 class TermMapping 11 11 attr_reader :match, :purpose, :target 12 def initialize(match, purpose, target) 13 match_valid(match)14 purpose_valid(purpose)15 target_valid(target)16 @match, @purpose, @target = match, purpose, target12 13 def initialize(args ={}) 14 self.match = args[:match] 15 self.purpose = args[:purpose] 16 self.target = args[:target] 17 17 end 18 19 def match=(match) 20 unless TermMapping.is_valid_mach_code? match 21 raise ArgumentError, 'invalid match character' 22 end 23 @match = match 24 end 25 26 def purpose=(purpose) 27 # if !purpose.nil? and !purpose.instance_of?(DvCodedText) 28 # raise ArgumentError, "purpose is not valid" 29 # end 30 # should be settled after terminology service implemented 31 @purpose = purpose 32 end 33 34 def target=(target) 35 raise ArgumentError, "target must not be nil" if target.nil? 36 @target = target 37 end 38 18 39 def broader? 19 40 match == '>' 20 41 end 42 21 43 def equivalent? 22 44 match == '=' 23 45 end 46 24 47 def narrower? 25 48 match == '<' 26 49 end 50 27 51 def unknown? 28 52 match == '?' 29 53 end 54 30 55 def TermMapping.is_valid_mach_code?(c) 31 56 c == '>' or c == '=' or c == '<' or c == '?' 32 end33 private34 def match_valid(match)35 raise ArgumentError, "match is not valid" if !TermMapping.is_valid_mach_code? match36 end37 def purpose_valid(purpose)38 if purpose.nil? or !purpose.instance_of? DvCodedText39 raise ArgumentError, "purpose is not valid"40 end41 # should be settled after terminology service implemented42 end43 def target_valid(target)44 raise ArgumentError, "target must not be nil" if target.nil?45 57 end 46 58 end
Note:
See TracChangeset
for help on using the changeset viewer.