Changeset 130


Ignore:
Timestamp:
May 29, 2009, 12:46:40 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #51

Location:
ruby/trunk/lib/models/rm/data_types
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/models/rm/data_types/encapslated.rb

    r4 r130  
     1# OpenEHR::RM::Data_Types::Encapsulated
     2# http://www.openehr.org/svn/specification/TAGS/Release-1.0.2/publishing/architecture/computable/UML/uml_start_view.html
     3# refs #51
     4require 'rubygems'
     5require 'locale/info'
     6
    17module OpenEHR
    28  module RM
     
    410      module Encapsulated
    511        class DV_Encapsulated  < OpenEHR::RM::Data_Types::Basic::Data_Value
    6           attr_accessor :charset, :language
     12          attr_reader :language, :charset
     13
    714          def size
    815            raise NotImplementedError, "size method not implemented"
    916          end
     17
     18          def language=(language)
     19            unless Language::Info.valid_language?(language.code_string)
     20              raise ArgumentError, 'invalid language code'
     21            end
     22            @language = language
     23          end
     24
     25          def charset=(charset)
     26            unless charset_valid?(charset)
     27              raise ArgumentError, 'invalid charset'
     28            end
     29            @charset=charset
     30          end
     31
    1032          private
    1133          def size_positive
    1234            raise ArgumentError, "size must be positive" if size < 0
    1335          end
     36
     37          def charset_valid?(charset)
     38            open('charset.list') do |file|
     39              while line = file.gets
     40                if charset == line
     41                  file.close
     42                  return true
     43                end
     44              end
     45            end
     46            return false
     47          end
    1448        end
     49
    1550        class DV_Multimedia < DV_Encapsulated
    1651         
    1752        end
     53
    1854        class DV_Parsable < DV_Encapsulated
    1955          attr_reader :value, :formalism
Note: See TracChangeset for help on using the changeset viewer.