source: ruby/branches/0.0/models/rm/data_types/encapslated.rb@ 167

Last change on this file since 167 was 167, checked in by KOBAYASHI, Shinji, 15 years ago

adjust for rails

File size: 1.3 KB
Line 
1module OpenEhr
2 module RM
3 module DataTypes
4 module Encapsulated
5 class DvEncapsulated < OpenEhr::RM::DataTypes::Basic::DataValue
6 attr_accessor :charset, :language
7 def size
8 raise NotImplementedError, "size method not implemented"
9 end
10 private
11 def size_positive
12 raise ArgumentError, "size must be positive" if size < 0
13 end
14 end
15 class DvMultimedia < DvEncapsulated
16
17 end
18 class DvParsable < DvEncapsulated
19 attr_reader :value, :formalism
20 def initialize(value, formalism, charset = nil, language = nil)
21 @value = value
22 size_positive
23 formalism_validity(formalism)
24 @formalism = formalism
25 @charset, @language = charset, language
26 end
27 def size
28 value.size
29 end
30 private
31 def formalism_validity(formalism)
32 if formalism.nil
33 raise ArgumentError, "formalism must not be nil"
34 elsif formalism.empty?
35 raise ArgumentError, "formalism must nto be empty"
36 end
37 end
38 end
39 end # of Encapsulated
40 end # of Data_Types
41 end # of RM
42end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.