Changeset 297 for ruby/trunk/lib/open_ehr/rm/data_types/encapsulated.rb
- Timestamp:
- Sep 25, 2009, 12:15:59 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.