Changeset 297 for ruby/trunk/lib/open_ehr/rm/data_types
- Timestamp:
- Sep 25, 2009, 12:15:59 PM (15 years ago)
- Location:
- ruby/trunk/lib/open_ehr/rm/data_types
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/open_ehr/rm/data_types/basic.rb
r167 r297 2 2 # http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067591791_562382_3151Report.html 3 3 # Ticket refs #52 4 module OpenE hr4 module OpenEHR 5 5 module RM 6 6 module DataTypes … … 10 10 11 11 class DataValue 12 include OpenEhr::RM::Support::Definition::BasicDefinition 12 include OpenEHR::RM::Support::Definition::BasicDefinition 13 attr_accessor :value 14 alias :v :value 15 16 def initialize(args = {}) 17 self.value = args[:value] 18 end 19 20 def ==(other) 21 return self.value == other.value 22 end 13 23 end 14 24 15 25 class DvBoolean < DataValue 16 def initialize( value)17 s elf.value = value26 def initialize(args) 27 super(args) 18 28 end 29 19 30 def value=(value) 20 31 raise ArgumentError, "value must not be nil" if value.nil? … … 25 36 end 26 37 end 38 27 39 def value? 28 40 @value == true … … 31 43 32 44 class DvState < DataValue 33 attr_reader : value45 attr_reader :is_terminal 34 46 35 def initialize( value, is_terminal)36 s elf.value=value37 self.is_terminal =is_terminal47 def initialize(args) 48 super(args) 49 self.is_terminal = args[:is_terminal] 38 50 end 51 39 52 def value=(v) 40 53 raise ArgumentError, "value should not be nil" if v.nil? 41 54 @value = v 42 55 end 56 43 57 def is_terminal? 44 58 @is_terminal 45 59 end 60 46 61 def is_terminal=(s) 47 62 raise ArgumentError, "terminal should not be nil" if s.nil? … … 50 65 end # end of DvState 51 66 52 class DvIdentifier 53 attr_accessor :issuer, :assigner, :id, :type 54 def initialize(assigner, id, issuer, type) 55 if assigner.nil? or assigner.empty?\ 56 or id.nil? or id.empty? or issuer.nil? or issuer.empty?\ 57 or type.nil? or type.empty? 58 raise ArgumentError, "invalid argument" 67 class DvIdentifier < DataValue 68 attr_reader :issuer, :assigner, :id, :type 69 70 def initialize(args = {}) 71 self.issuer = args[:issuer] 72 self.assigner = args[:assigner] 73 self.id = args[:id] 74 self.type = args[:type] 75 end 76 77 def issuer=(issuer) 78 if issuer.nil? or issuer.empty? 79 raise ArgumentError, 'issuer is mandatory' 59 80 end 60 81 @issuer = issuer 82 end 83 84 def assigner=(assigner) 85 if assigner.nil? or assigner.empty? 86 raise ArgumentError, 'assigner is mandatory' 87 end 61 88 @assigner = assigner 89 end 90 91 def id=(id) 92 if id.nil? or id.empty? 93 raise ArgumentError, 'id is manadtory' 94 end 62 95 @id = id 96 end 97 98 def type=(type) 99 if type.nil? or type.empty? 100 raise ArgumentError, 'type is mandatory' 101 end 63 102 @type = type 64 103 end -
ruby/trunk/lib/open_ehr/rm/data_types/encapsulated.rb
r167 r297 5 5 require 'locale/info' 6 6 7 module OpenE hr7 module OpenEHR 8 8 module RM 9 9 module DataTypes 10 10 module Encapsulated 11 class DvEncapsulated < OpenEhr::RM::DataTypes::Basic::DataValue 12 attr_reader :language, :charset, :size 13 def initialize(charset, language, size) 14 self.charset = charset 15 self.language = language 16 self.size = size 11 class DvEncapsulated < OpenEHR::RM::DataTypes::Basic::DataValue 12 attr_reader :language, :charset 13 14 def initialize(args = {}) 15 super(args) 16 self.charset = args[:charset] 17 self.language = args[:language] 17 18 end 18 19 19 def size=(size) 20 if size < 0 21 raise ArgumentError, "negative size" 22 end 23 @size = size 20 def size 21 @value.size 24 22 end 25 23 26 24 def language=(language) 27 if language.nil? ||25 if !language.nil? && 28 26 !Locale::Info.language_code?(language.code_string) 29 27 raise ArgumentError, 'invalid language code' … … 33 31 34 32 def charset=(charset) 35 if charset.nil? ||!charset_valid?(charset.code_string)33 if !charset.nil? && !charset_valid?(charset.code_string) 36 34 raise ArgumentError, 'invalid charset' 37 35 end … … 40 38 41 39 private 42 def size_positive43 raise ArgumentError, "size must be positive" if size < 044 end45 40 46 41 def charset_valid?(charset) 47 42 result = false 48 open(' rm/data_types/charset.lst') do |file|43 open('lib/open_ehr/rm/data_types/charset.lst') do |file| 49 44 while line = file.gets 50 45 if charset == line.chomp … … 63 58 attr_accessor :uri, :data, :compression_algorithm, 64 59 :integrity_check, :integrity_check_algorithm, :alternate_text 65 def initialize(charset, language, size, media_type, uri=nil, 66 data=nil, compression_algorithm=nil, 67 integrity_check=nil, integrity_check_algorithm=nil, 68 alternate_text=nil) 69 super(charset, language, size) 70 self.media_type = media_type 71 @uri = uri 72 @data = data 73 @compression_algorithm = compression_algorithm 74 @integrity_check = integrity_check 75 @integrity_check_algorithm = integrity_check_algorithm 76 @alternate_text = alternate_text 60 61 def initialize(args = {}) 62 super(args) 63 self.media_type = args[:media_type] 64 self.uri = args[:uri] 65 self.data = args[:data] 66 self.compression_algorithm = args[:compression_algorithm] 67 self.integrity_check = args[:integrity_check] 68 self.integrity_check_algorithm = args[:integrity_check_algorithm] 69 self.alternate_text = args[:alternate_text] 77 70 end 71 78 72 def media_type=(media_type) 79 73 if media_type.code_string.nil? … … 85 79 86 80 class DvParsable < DvEncapsulated 87 attr_reader :value, :formalism 88 def initialize(charset, language, size, formalism, value) 89 super(charset, language, size) 90 self.formalism = formalism 91 self.value = value 92 end 81 attr_reader :formalism 93 82 94 def value=(value)95 raise ArgumentError, 'value must not be nil' if value.nil?96 @value = value83 def initialize(args = {}) 84 super(args) 85 self.formalism = args[:formalism] 97 86 end 98 87 99 88 def formalism=(formalism) 100 if formalism.nil? 101 raise ArgumentError, "formalism must not be nil" 102 elsif formalism.empty? 103 raise ArgumentError, "formalism must nto be empty" 89 if formalism.nil? || formalism.empty? 90 raise ArgumentError, 'formalism is mandatory' 104 91 end 105 92 @formalism = formalism -
ruby/trunk/lib/open_ehr/rm/data_types/quantity.rb
r167 r297 3 3 # Ticket refs #50 4 4 require 'assumed_library_types' 5 module OpenE hr5 module OpenEHR 6 6 module RM 7 7 module DataTypes … … 10 10 autoload :Date_Time, "rm/data_types/quantity/date_time.rb" 11 11 12 class DvOrdered < OpenE hr::RM::DataTypes::Basic::DataValue12 class DvOrdered < OpenEHR::RM::DataTypes::Basic::DataValue 13 13 include Comparable 14 14 attr_accessor :normal_range, :other_refference_ranges, :normal_status … … 51 51 end 52 52 53 class DvInterval < OpenE hr::AssumedLibraryTypes::Interval53 class DvInterval < OpenEHR::AssumedLibraryTypes::Interval 54 54 55 55 end -
ruby/trunk/lib/open_ehr/rm/data_types/text.rb
r167 r297 2 2 # http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067605961_209522_3179Report.html 3 3 # Ticket refs #48 4 module OpenE hr4 module OpenEHR 5 5 module RM 6 6 module DataTypes … … 62 62 end # of CodePhrase 63 63 64 class DvText < OpenE hr::RM::DataTypes::Basic::DataValue64 class DvText < OpenEHR::RM::DataTypes::Basic::DataValue 65 65 attr_reader :value, :formatting, :hyperlink, :mappings 66 66 attr_reader :language, :encoding … … 146 146 end 147 147 148 class DvParagraph < OpenE hr::RM::DataTypes::Basic::DataValue148 class DvParagraph < OpenEHR::RM::DataTypes::Basic::DataValue 149 149 attr_reader :items 150 150 def initialize(items) -
ruby/trunk/lib/open_ehr/rm/data_types/uri.rb
r167 r297 4 4 5 5 require 'uri' 6 #require 'uri/generic' 7 module U ri8 class E hr< ::URI::Generic6 7 module URI 8 class EHR < ::URI::Generic 9 9 COMPONENT = [ 10 10 :scheme, :path, :fragment, :query 11 11 ].freeze 12 12 13 def self.build(args) 13 14 tmp = Util::make_components_hash(self, args) 14 15 super(tmp) 15 16 end 17 16 18 def initialize(*arg) 17 19 super(*arg) 18 20 end 21 19 22 def self.use_registry 20 23 true 21 24 end 22 25 end 23 @@schemes['EHR'] = E hr26 @@schemes['EHR'] = EHR 24 27 end 25 28 26 module OpenE hr29 module OpenEHR 27 30 module RM 28 31 module DataTypes 29 32 module Uri 30 class DvUri < OpenE hr::RM::DataTypes::Basic::DataValue31 def initialize( value)32 self.value = value33 class DvUri < OpenEHR::RM::DataTypes::Basic::DataValue 34 def initialize(args = {}) 35 self.value = args[:value] 33 36 end 37 38 def value 39 @value.to_s 40 end 41 34 42 def fragment_id 35 43 @value.fragment 36 44 end 45 37 46 def path 38 47 @value.path 39 48 end 49 40 50 def query 41 51 @value.query 42 52 end 53 43 54 def scheme 44 55 @value.scheme 45 56 end 57 46 58 def value=(value) 47 59 raise ArgumentError, "value is empty" if value.nil? 48 60 parse(value) 49 61 end 50 def value 51 @value.to_s 52 end 62 53 63 private 64 54 65 def parse(value) 55 66 @value = ::URI.parse(value) … … 61 72 super(value) 62 73 end 74 63 75 def value=(value) 64 76 raise ArgumentError, "scheme must be ehr" if !(value =~ /^ehr/i) 65 parse(value)77 @value = parse(value) 66 78 end 67 79 end # of DV_EHR_URI
Note:
See TracChangeset
for help on using the changeset viewer.