Module: OpenEHR::AssumedLibraryTypes::TimeDefinitions
- Included in:
- ISO8601DateModule, ISO8601DurationModule, ISO8601TimeModule
- Defined in:
- lib/openehr/assumed_library_types.rb
Overview
< Any
Constant Summary collapse
- DAYS_IN_LEAP_YEAR =
366
- DAYS_IN_WEEK =
7
- DAYS_IN_MONTH =
30
- DAYS_IN_YEAR =
365
- HOURS_IN_DAY =
24
- MAX_DAYS_IN_MONTH =
31
- MAX_DAYS_IN_YEAR =
366
- MINUTES_IN_HOUR =
60
- MONTH_IN_YEAR =
12
- NOMINAL_DAYS_IN_MONTH =
30.42
- NOMINAL_DAYS_IN_YEAR =
365.24
- SECONDS_IN_MINUTE =
60
Class Method Summary collapse
- .valid_day?(y, m, d) ⇒ Boolean
- .valid_hour?(h, m = nil, s = nil) ⇒ Boolean
- .valid_minute?(mi) ⇒ Boolean
- .valid_month?(mo) ⇒ Boolean
- .valid_second?(s) ⇒ Boolean
- .valid_year?(year) ⇒ Boolean
Class Method Details
.valid_day?(y, m, d) ⇒ Boolean
153 154 155 156 157 158 159 160 161 |
# File 'lib/openehr/assumed_library_types.rb', line 153 def self.valid_day?(y, m, d) unless y.nil? || m.nil? || d.nil? return Date.valid_date?(y,m,d) end if (y.nil?) || (m.nil? && !d.nil?) return false end return self.valid_year?(y) && self.valid_month?(m) end |
.valid_hour?(h, m = nil, s = nil) ⇒ Boolean
163 164 165 166 167 168 169 170 171 172 173 174 |
# File 'lib/openehr/assumed_library_types.rb', line 163 def self.valid_hour?(h,m = nil, s = nil) if h.nil? return false end if !m.nil? and !valid_minute?(m) return false end if !s.nil? and (!m.nil? and !valid_second?(s)) return false end (h >= 0 and h < HOURS_IN_DAY) or (h == HOURS_IN_DAY and m == 0 and s == 0) end |
.valid_minute?(mi) ⇒ Boolean
176 177 178 |
# File 'lib/openehr/assumed_library_types.rb', line 176 def self.valid_minute?(mi) mi >= 0 and mi < MINUTES_IN_HOUR end |
.valid_month?(mo) ⇒ Boolean
184 185 186 |
# File 'lib/openehr/assumed_library_types.rb', line 184 def self.valid_month?(mo) mo >= 1 and mo <= MONTH_IN_YEAR end |
.valid_second?(s) ⇒ Boolean
180 181 182 |
# File 'lib/openehr/assumed_library_types.rb', line 180 def self.valid_second?(s) s >= 0 and s < SECONDS_IN_MINUTE end |
.valid_year?(year) ⇒ Boolean
149 150 151 |
# File 'lib/openehr/assumed_library_types.rb', line 149 def self.valid_year?(year) return !year.nil? && year >= 0 end |