Changeset 397 for ruby/trunk/lib
- Timestamp:
- Jan 19, 2010, 8:54:57 PM (14 years ago)
- Location:
- ruby/trunk/lib/open_ehr
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/open_ehr/am/archetype/constraint_model/primitive.rb
r396 r397 133 133 end 134 134 135 135 class CDate < CPrimitive 136 attr_accessor :range, :timezone_validity 137 attr_reader :month_validity, :day_validity 138 139 def initialize(args = { }) 140 super(args) 141 self.range = args[:range] 142 consistency_validity(args[:month_validity], args[:day_validity]) 143 @month_validity = args[:month_validity] 144 @day_validity = args[:day_validity] 145 self.timezone_validity = args[:timezone_validity] 146 end 147 148 def month_validity=(month_validity) 149 consistency_validity(month_validity, @day_validity) 150 @month_validity = month_validity 151 end 152 153 def day_validity=(day_validity) 154 consistency_validity(@month_validity, day_validity) 155 @day_validity = day_validity 156 end 157 158 def validity_is_range? 159 return !@range.nil? 160 end 161 162 private 163 def consistency_validity(month_validity, day_validity) 164 if (month_validity == ValidityKind::OPTIONAL) && 165 !((day_validity == ValidityKind::OPTIONAL) || 166 (day_validity == ValidityKind::DISALLOWED)) 167 raise ArgumentError, 'month_validity inconsistent' 168 end 169 if (month_validity == ValidityKind::DISALLOWED) && 170 !(day_validity == ValidityKind::DISALLOWED) 171 raise ArgumentError, 'month validity disallowed' 172 end 173 end 174 end 136 175 end # of Primitive 137 176 end # of CostraintModel -
ruby/trunk/lib/open_ehr/assumed_library_types.rb
r369 r397 135 135 136 136 module ISO8601DateModule 137 include Comparable 137 138 attr_reader :year, :month, :day 138 139 … … 180 181 month_unknown? or day_unknown? 181 182 end 182 183 184 def <=>(other) 185 (@year*TimeDefinitions::NOMINAL_DAYS_IN_YEAR + 186 @month*TimeDefinitions::NOMINAL_DAYS_IN_MONTH + @day) <=> 187 (other.year*TimeDefinitions::NOMINAL_DAYS_IN_YEAR + 188 other.month*TimeDefinitions::NOMINAL_DAYS_IN_MONTH + other.month) 189 end 183 190 protected 184 191 def leapyear?(year) -
ruby/trunk/lib/open_ehr/rm/data_types/quantity/date_time.rb
r371 r397 181 181 end 182 182 183 def <=>(other) 184 self.magnitude <=> other.magnitude 185 end 186 183 187 private 184 188
Note:
See TracChangeset
for help on using the changeset viewer.