module OpenEHR::AM::Archetype::ConstraintModel::Primitive::CDateModule

Attributes

day_validity[RW]
list[RW]
month_validity[R]
pattern[R]
range[RW]
timezone_validity[RW]

Public Instance Methods

month_validity=(month_validity) click to toggle source
# File lib/open_ehr/am/archetype/constraint_model/primitive.rb, line 147
def month_validity=(month_validity)
  if (month_validity == ValidityKind::OPTIONAL &&
      !(@day_validity == ValidityKind::OPTIONAL ||
        @day_validity == ValidityKind::DISALLOWED)) ||
      (month_validity == ValidityKind::DISALLOWED &&
      !(@day_validity == ValidityKind::DISALLOWED))
    raise ArgumentError, 'month validity disallowed'
  end
  @month_validity = month_validity
end
pattern=(pattern) click to toggle source
# File lib/open_ehr/am/archetype/constraint_model/primitive.rb, line 158
def pattern=(pattern)
  @pattern = pattern if valid_pattern?(pattern)
end
validity_is_range?() click to toggle source
# File lib/open_ehr/am/archetype/constraint_model/primitive.rb, line 162
def validity_is_range?
  return !@range.nil?
end

Protected Instance Methods

valid_pattern?(pattern) click to toggle source
# File lib/open_ehr/am/archetype/constraint_model/primitive.rb, line 167
def valid_pattern?(pattern)
  if /^([Yy?X]{4})(-([Mm?X]{2})(-([Dd?X]{2}))?)?$/ =~ pattern
    true
  else
    false
  end
end

Private Instance Methods

consistency_validity(month_validity, day_validity) click to toggle source
# File lib/open_ehr/am/archetype/constraint_model/primitive.rb, line 176
def consistency_validity(month_validity, day_validity)
end