- Timestamp:
- Jan 19, 2010, 8:54:57 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/open_ehr/am/archetype/constraint_model/primitive.rb
r396 r397 133 133 end 134 134 135 135 class CDate < CPrimitive 136 attr_accessor :range, :timezone_validity 137 attr_reader :month_validity, :day_validity 138 139 def initialize(args = { }) 140 super(args) 141 self.range = args[:range] 142 consistency_validity(args[:month_validity], args[:day_validity]) 143 @month_validity = args[:month_validity] 144 @day_validity = args[:day_validity] 145 self.timezone_validity = args[:timezone_validity] 146 end 147 148 def month_validity=(month_validity) 149 consistency_validity(month_validity, @day_validity) 150 @month_validity = month_validity 151 end 152 153 def day_validity=(day_validity) 154 consistency_validity(@month_validity, day_validity) 155 @day_validity = day_validity 156 end 157 158 def validity_is_range? 159 return !@range.nil? 160 end 161 162 private 163 def consistency_validity(month_validity, day_validity) 164 if (month_validity == ValidityKind::OPTIONAL) && 165 !((day_validity == ValidityKind::OPTIONAL) || 166 (day_validity == ValidityKind::DISALLOWED)) 167 raise ArgumentError, 'month_validity inconsistent' 168 end 169 if (month_validity == ValidityKind::DISALLOWED) && 170 !(day_validity == ValidityKind::DISALLOWED) 171 raise ArgumentError, 'month validity disallowed' 172 end 173 end 174 end 136 175 end # of Primitive 137 176 end # of CostraintModel
Note:
See TracChangeset
for help on using the changeset viewer.