Class: OpenEHR::AssumedLibraryTypes::ISO8601Date
- Inherits:
-
TimeDefinitions
- Object
- Any
- TimeDefinitions
- OpenEHR::AssumedLibraryTypes::ISO8601Date
- Includes:
- Comparable, ISO8601DateModule
- Defined in:
- lib/open_ehr/assumed_library_types.rb
Direct Known Subclasses
Constant Summary
Constants inherited from TimeDefinitions
TimeDefinitions::DAYS_IN_LEAP_YEAR, TimeDefinitions::DAYS_IN_WEEK, TimeDefinitions::DAYS_IN_YEAR, TimeDefinitions::HOURS_IN_DAY, TimeDefinitions::MAX_DAYS_IN_MONTH, TimeDefinitions::MAX_DAYS_IN_YEAR, TimeDefinitions::MINUTES_IN_HOUR, TimeDefinitions::MONTH_IN_YEAR, TimeDefinitions::NOMINAL_DAYS_IN_MONTH, TimeDefinitions::NOMINAL_DAYS_IN_YEAR, TimeDefinitions::SECONDS_IN_MINUTE
Instance Attribute Summary
Attributes included from ISO8601DateModule
Class Method Summary collapse
Instance Method Summary collapse
- #<=>(other) ⇒ Object
-
#initialize(string) ⇒ ISO8601Date
constructor
A new instance of ISO8601Date.
Methods included from ISO8601DateModule
#as_string, #day_unknown?, #is_extended?, #is_partial?, #month_unknown?, #to_days
Methods inherited from TimeDefinitions
valid_day?, valid_hour?, valid_minute?, valid_month?, valid_second?, valid_year?
Constructor Details
#initialize(string) ⇒ ISO8601Date
Returns a new instance of ISO8601Date.
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'lib/open_ehr/assumed_library_types.rb', line 206 def initialize(string) /(\d{4})(?:-(\d{2})(?:-(\d{2})?)?)?/ =~ string if $1.nil? raise ArgumentError, 'data invalid' else self.year = $1.to_i end if $2.nil? self.month = nil else self.month = $2.to_i end if $3.nil? self.day = nil else self.day = $3.to_i end end |
Class Method Details
.valid_iso8601_date?(string) ⇒ Boolean
229 230 231 232 233 234 235 236 |
# File 'lib/open_ehr/assumed_library_types.rb', line 229 def self.valid_iso8601_date?(string) begin Date.parse(string) rescue return false end true end |
Instance Method Details
#<=>(other) ⇒ Object
225 226 227 |
# File 'lib/open_ehr/assumed_library_types.rb', line 225 def <=>(other) self.to_days <=> other.to_days end |