Changeset 144 for ruby/trunk/lib/models/rm/data_types/quantity.rb
- Timestamp:
- Jun 23, 2009, 11:12:16 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/models/rm/data_types/quantity.rb
r142 r144 56 56 57 57 class DV_Quantified < DV_Ordered 58 59 def initialize(normal_range=nil, normal_status = nil, 58 attr_reader :magnitude, :accuracy, :magnitude_status 59 60 def initialize(magnitude, magnitude_status=nil, 61 normal_range=nil, normal_status = nil, 60 62 other_reference_ranges=nil) 61 63 super(normal_range, normal_status, other_reference_ranges) 62 end 63 64 def magnitude 65 64 self.magnitude = magnitude 65 self.magnitude_status = magnitude_status 66 66 end 67 67 … … 70 70 end 71 71 72 def valid_magnitude_status(s) 73 72 def magnitude=(magnitude) 73 raise ArgumentError, 'magnitude should not be nil' if magnitude.nil? 74 @magnitude = magnitude 75 end 76 77 def magnitude_status=(magnitude_status) 78 if magnitude_status.nil? 79 @magnitude_status = '=' 80 elsif DV_Quantified.valid_magnitude_status?(magnitude_status) 81 @magnitude_status = magnitude_status 82 else 83 raise ArgumentError, 'magnitude_status invalid' 84 end 85 end 86 87 def accuracy=(accuracy) 88 raise NotImplementedError, 'subclasses need to implemented' 89 end 90 91 def accuracy_unknown? 92 return accuracy.nil? 93 end 94 95 def self.valid_magnitude_status?(s) 96 if s == '=' || s == '>' || s == '<' || s == '<=' || 97 s == '>=' || s == '~' 98 return true 99 else 100 return false 101 end 74 102 end 75 103 end … … 153 181 154 182 class Reference_Range 155 attr_reader :meaning 156 157 def initialize(meaning )183 attr_reader :meaning, :range 184 185 def initialize(meaning, range) 158 186 self.meaning = meaning 187 self.range = range 159 188 end 160 189 … … 164 193 end 165 194 @meaning = meaning 195 end 196 197 def range=(range) 198 if range.nil? 199 raise ArgumentError, 'range should not be nil' 200 end 201 @range = range 202 end 203 204 def is_in_range?(val) 205 return @range.has?(val) 166 206 end 167 207 end
Note:
See TracChangeset
for help on using the changeset viewer.