class OpenEHR::RM::DataTypes::Quantity::DateTime::DvDuration
Attributes
value[R]
Public Class Methods
new(args = { })
click to toggle source
Calls superclass method
OpenEHR::RM::DataTypes::Quantity::DateTime::DvTemporal::new
# File lib/open_ehr/rm/data_types/quantity/date_time.rb, line 214 def initialize(args = { }) super end
Public Instance Methods
magnitude()
click to toggle source
# File lib/open_ehr/rm/data_types/quantity/date_time.rb, line 232 def magnitude months = 0 months += @months if @months months += @years * MONTH_IN_YEAR if @years days = 0 days += months * NOMINAL_DAYS_IN_MONTH if months days += @weeks * DAYS_IN_WEEK if @weeks days += @days if @days hours = 0 hours += days * HOURS_IN_DAY if days hours += @hours if @hours minutes = 0 minutes += hours * MINUTES_IN_HOUR if hours minutes += @minutes if @minutes seconds = 0 seconds += @seconds if @seconds seconds += @fractional_second if @fractional_second seconds += minutes * SECONDS_IN_MINUTE if minutes return seconds end
value=(value)
click to toggle source
# File lib/open_ehr/rm/data_types/quantity/date_time.rb, line 218 def value=(value) raise ArgumentError, 'value must be not nil' if value.nil? @value = value iso8601_duration = AssumedLibraryTypes::ISO8601Duration.new(value) self.years = iso8601_duration.years self.months = iso8601_duration.months self.weeks = iso8601_duration.weeks self.days = iso8601_duration.days self.hours = iso8601_duration.hours self.minutes = iso8601_duration.minutes self.seconds = iso8601_duration.seconds self.fractional_second = iso8601_duration.fractional_second end