Changeset 256 for ruby/branches/0.5/lib/open_ehr/assumed_library_types.rb
- Timestamp:
- Sep 11, 2009, 1:10:23 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.5/lib/open_ehr/assumed_library_types.rb
r255 r256 81 81 end # end of Interval 82 82 83 class T IME_DEFINITIONS< Any83 class TimeDefinitions < Any 84 84 DAYS_IN_LEAP_YEAR = 366 85 85 DAYS_IN_WEEK = 7 … … 120 120 mo >= 1 and mo <= MONTH_IN_YEAR 121 121 end 122 end # end of T IME_DEFINITIONS123 124 module ISO8601 _DATE_MODULE122 end # end of TimeDefinitions 123 124 module ISO8601DateModule 125 125 attr_reader :year, :month, :day 126 126 127 def year=(year) 127 raise ArgumentError, "Year is not valid" unless ISO8601_DATE.valid_year?(year) 128 unless !year.nil? && ISO8601Date.valid_year?(year) 129 raise ArgumentError, "Year is not valid" 130 end 128 131 @year = year 129 132 end 133 130 134 def month=(month) 131 raise ArgumentError, "Month is not valid" unless month.nil? or ISO8601 _DATE.valid_month?(month)135 raise ArgumentError, "Month is not valid" unless month.nil? or ISO8601Date.valid_month?(month) 132 136 @month = month 133 137 end 134 138 135 139 def day=(day) 136 raise ArgumentError, "Day is not valid" unless day.nil? or ISO8601 _DATE.valid_day?(@year, @month, day)140 raise ArgumentError, "Day is not valid" unless day.nil? or ISO8601Date.valid_day?(@year, @month, day) 137 141 @day = day 138 142 end … … 174 178 end 175 179 176 class ISO8601 _DATE < TIME_DEFINITIONS177 include ISO8601 _DATE_MODULE180 class ISO8601Date < TimeDefinitions 181 include ISO8601DateModule 178 182 def initialize(string) 179 183 /(\d{4})(?:-(\d{2})(?:-(\d{2})?)?)?/ =~ string … … 205 209 end # end of ISO8601_DATE 206 210 207 module ISO8601 _TIME_MODULE211 module ISO8601TimeModule 208 212 attr_reader :hour, :minute, :second, :fractional_second, :timezone 209 213 … … 289 293 end 290 294 291 class ISO8601 _TIME < TIME_DEFINITIONS292 include ISO8601 _TIME_MODULE295 class ISO8601Time < TimeDefinitions 296 include ISO8601TimeModule 293 297 def initialize(string) 294 298 /(\d{2}):?(\d{2})?(:?)(\d{2})?((\.|,)(\d+))?(Z|([+-](\d{2}):?(\d{2})))?/ =~ string … … 361 365 end # end of ISO8601_TIME 362 366 363 module ISO8601 _DATE_TIME_MODULE364 include ISO8601 _DATE_MODULE, ISO8601_TIME_MODULE367 module ISO8601DateTimeModule 368 include ISO8601DateModule, ISO8601TimeModule 365 369 def as_string 366 370 if (!@year.nil? and !@month.nil? and !@day.nil?) … … 390 394 end 391 395 392 class ISO8601 _DATE_TIME < ISO8601_DATE393 include ISO8601 _DATE_TIME_MODULE396 class ISO8601DateTime < ISO8601Date 397 include ISO8601DateTimeModule 394 398 def initialize(string) 395 399 /(\d{4})(?:-(\d{2})(?:-(\d{2})(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d+))?)?(Z|([+-]\d{2}):?(\d{2}))?)?)?)?/ =~ string … … 544 548 end 545 549 end 546 class ISO8601_DURATION < T IME_DEFINITIONS550 class ISO8601_DURATION < TimeDefinitions 547 551 include ISO8601_DURATION_MODULE 548 552 def initialize(str)
Note:
See TracChangeset
for help on using the changeset viewer.