Changeset 393 for ruby/trunk
- Timestamp:
- Jan 5, 2010, 10:50:38 AM (14 years ago)
- Location:
- ruby/trunk
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/open_ehr/am/archetype/constraint_model/primitive.rb
r392 r393 1 2 1 # Ticket #71 3 2 module OpenEHR 4 3 module AM 5 4 module Archetype 6 module Primitive 7 class CPrimitive 8 attr_reader :default_value 9 attr_accessor :assumed_value 5 module ConstraintModel 6 module Primitive 7 class CPrimitive 8 attr_reader :default_value 9 attr_accessor :assumed_value 10 10 11 def initialize(args = { }) 12 self.default_value = args[:default_value] 13 self.assumed_value = args[:assumed_value] 11 def initialize(args = { }) 12 self.default_value = args[:default_value] 13 self.assumed_value = args[:assumed_value] 14 end 15 16 def default_value=(default_value) 17 if default_value.nil? 18 raise ArgumentError, 'default_value is mandatory' 19 end 20 @default_value = default_value 21 end 22 23 def has_assumed_value? 24 return !assumed_value.nil? 25 end 14 26 end 15 27 16 def default_value=(default_value) 17 if default_value.nil? 18 raise ArgumentError, 'default_value is mandatory' 28 class CBoolean < CPrimitive 29 attr_reader :true_valid, :false_valid 30 31 def initialize(args = { }) 32 binary_consistency(args[:true_valid], args[:false_valid]) 33 @true_valid = args[:true_valid] 34 @false_valid = args[:false_valid] 35 super(args) 19 36 end 20 @default_value = default_value 37 38 def default_value=(default_value) 39 super 40 default_value_consistency(default_value) 41 end 42 43 def true_valid=(true_valid) 44 binary_consistency(true_valid, @false_valid) 45 @true_valid = true_valid 46 end 47 48 def false_valid=(false_valid) 49 binary_consistency(@true_valid, false_valid) 50 @false_valid = false_valid 51 end 52 53 def true_valid? 54 return @true_valid 55 end 56 57 def false_valid? 58 return @false_valid 59 end 60 61 private 62 def binary_consistency(true_valid, false_valid) 63 if (true_valid == false) && (false_valid == false) 64 raise ArgumentError, 'true_valid or false_valid should be true' 65 end 66 end 67 68 def default_value_consistency(default_value) 69 if (!@true_valid && default_value) || (!@false_valid && !default_value) 70 raise ArgumentError, 'default value inconsistency' 71 end 72 end 21 73 end 22 23 def has_assumed_value? 24 return !assumed_value.nil? 25 end 26 end 27 end # of Primitive 74 end # of Primitive 75 end # of CostraintModel 28 76 end # of Archetype 29 77 end # of AM -
ruby/trunk/spec/lib/open_ehr/am/archetype/constraint_model/c_primitive_object_spec.rb
r381 r393 1 1 require File.dirname(__FILE__) + '/../../../../../spec_helper' 2 2 include OpenEHR::AM::Archetype::ConstraintModel 3 include OpenEHR::AM::Archetype:: Primitive3 include OpenEHR::AM::Archetype::ConstraintModel::Primitive 4 4 include OpenEHR::AssumedLibraryTypes 5 5
Note:
See TracChangeset
for help on using the changeset viewer.