Module: OpenEHR::AssumedLibraryTypes::ISO8601DateModule

Includes:
TimeDefinitions
Included in:
ISO8601Date, ISO8601DateTimeModule, RM::DataTypes::Quantity::DateTime::DvDate
Defined in:
lib/open_ehr/assumed_library_types.rb

Overview

end of TimeDefinitions

Constant Summary

Constants included 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 collapse

Instance Method Summary collapse

Methods included from TimeDefinitions

valid_day?, valid_hour?, valid_minute?, valid_month?, valid_second?, valid_year?

Instance Attribute Details

#dayObject

Returns the value of attribute day.



194
195
196
# File 'lib/open_ehr/assumed_library_types.rb', line 194

def day
  @day
end

#monthObject

Returns the value of attribute month.



194
195
196
# File 'lib/open_ehr/assumed_library_types.rb', line 194

def month
  @month
end

#yearObject

Returns the value of attribute year.



194
195
196
# File 'lib/open_ehr/assumed_library_types.rb', line 194

def year
  @year
end

Instance Method Details

#as_stringObject



214
215
216
217
218
219
220
221
222
# File 'lib/open_ehr/assumed_library_types.rb', line 214

def as_string
  if (!@year.nil? and !@month.nil? and !@day.nil?)
    Date.new(@year, @month, @day).to_s
  elsif (!@year.nil? and !@month.nil? and @day.nil?)
    Date.new(@year, @month).to_s[0,7]
  elsif (!@year.nil? and @month.nil? and @day.nil?)
    Date.new(@year).to_s[0,4]
  end          
end

#day_unknown?Boolean

Returns:

  • (Boolean)


235
236
237
# File 'lib/open_ehr/assumed_library_types.rb', line 235

def day_unknown?
  @day.nil?
end

#is_extended?Boolean

Returns:

  • (Boolean)


239
240
241
# File 'lib/open_ehr/assumed_library_types.rb', line 239

def is_extended?
  true
end

#is_partial?Boolean

Returns:

  • (Boolean)


243
244
245
# File 'lib/open_ehr/assumed_library_types.rb', line 243

def is_partial?
  month_unknown? or day_unknown?
end

#month_unknown?Boolean

Returns:

  • (Boolean)


231
232
233
# File 'lib/open_ehr/assumed_library_types.rb', line 231

def month_unknown?
  @month.nil?
end

#to_daysObject



224
225
226
227
228
229
# File 'lib/open_ehr/assumed_library_types.rb', line 224

def to_days
  days = nilthenzero(@year)*TimeDefinitions::NOMINAL_DAYS_IN_YEAR +
    nilthenzero(@month)*TimeDefinitions::NOMINAL_DAYS_IN_MONTH +
    nilthenzero(@day)
  return days
end