- Timestamp:
- Mar 15, 2010, 11:32:41 PM (14 years ago)
- Location:
- ruby/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/open_ehr/serializer.rb
r407 r408 23 23 hd << " (adl_version = #{@archetype.adl_version})" 24 24 end 25 hd << NL+INDENT + "#{@archetype.archetype_id.value}"+NL +NL25 hd << NL+INDENT + "#{@archetype.archetype_id.value}"+NL*2 26 26 hd << 'concept'+NL+ INDENT+"[#{@archetype.concept}]"+NL 27 27 hd << NL+'language'+NL+INDENT+'original_language = <['+ … … 32 32 33 33 def description 34 34 desc = '' 35 if @archetype.description 36 ad = @archetype.description 37 desc << 'description' + NL 38 desc << INDENT + 'original_author = <' + NL 39 ad.original_author.each do |k,v| 40 desc << INDENT+INDENT+'["'+k+'"] = <"'+v+'">'+NL 41 end 42 desc << INDENT+'>'+NL 43 desc << INDENT+'lifecycle_state = <"'+ad.lifecycle_state+'">'+NL 44 desc << INDENT+'details = <'+NL 45 ad.details.each do |lang,item| 46 desc << INDENT*2+'["'+lang+'"] = <'+NL 47 desc << INDENT*3+'language = <['+ 48 item.language.terminology_id.value+'::'+ 49 item.language.code_string+']>'+NL 50 desc << INDENT*3+'purpose = <"'+item.purpose+'">'+NL 51 if item.keywords then 52 desc << INDENT*3+'keywords = <' 53 item.keywords.each do |word| 54 desc << '"'+word+'",' 55 end 56 desc.chop! << '>'+NL 57 end 58 desc << INDENT*3+'use = <"'+item.use+'">'+NL if item.use 59 desc << INDENT*3+'misuse = <"'+item.misuse+'">'+NL if item.misuse 60 desc << INDENT*3+'copyright = <"'+item.copyright+'">'+NL if item.copyright 61 if item.original_resource_uri 62 desc << INDENT*3 + 'original_resource_uri = <' 63 item.original_resource_uri.each do |k,v| 64 desc << INDENT*4+'["'+k+'"] = <"'+v+'">'+NL 65 end 66 desc << INDENT*3+'>'+NL 67 end 68 if item.other_details 69 desc << INDENT*3 + 'other_details = <' 70 item.original_resource_uri.each do |k,v| 71 desc << INDENT*4+'["'+k+'"] = <"'+v+'">'+NL 72 end 73 desc << INDENT*3+'>'+NL 74 end 75 desc << INDENT*2+'>'+NL 76 end 77 desc << INDENT+'>'+NL 78 end 79 return desc 35 80 end 36 81 … … 59 104 xml.concept @archetype.concept 60 105 xml.original_language do 61 xml.code_string @archetype.original_language.code_string62 106 xml.terminology_id do 63 107 xml.value @archetype.original_language.terminology_id.value 64 108 end 109 xml.code_string @archetype.original_language.code_string 65 110 end 66 111 return header … … 68 113 69 114 def description 70 115 desc = '' 116 xml = Builder::XmlMarkup.new(:indent => 2, :target => desc) 117 ad = @archetype.description 118 if ad 119 xml.description do 120 ad.original_author.each do |key,value| 121 xml.original_author(value,"id"=>key) 122 end 123 if ad.other_contributors 124 ad.other_contributors.each do |co| 125 xml.other_contributors co 126 end 127 end 128 xml.lifecycle_state ad.lifecycle_state 129 xml.details do 130 ad.details.each do |lang, item| 131 xml.language do 132 xml.terminology_id do 133 xml.value item.language.terminology_id.value 134 end 135 xml.code_string lang 136 end 137 xml.purpose item.purpose 138 xml.use item.use if item.use 139 xml.misuse item.misuse if item.misuse 140 xml.copyright item.copyright if item.copyright 141 if ad.other_details 142 ad.other_details.each do |key,value| 143 xml.other_details(value, "id"=>key) 144 end 145 end 146 end 147 end 148 end 149 end 150 return desc 71 151 end 72 152 -
ruby/trunk/spec/lib/open_ehr/serializer/adl_serializer_spec.rb
r407 r408 13 13 adl = adl_file.readlines 14 14 @sample_header = adl[0..7].join 15 @sample_description = adl[ 8..24].join15 @sample_description = adl[9..22].join 16 16 adl_file.close 17 17 end … … 28 28 @adl_serializer.header.should == @sample_header 29 29 end 30 31 it 'description should return archetype description' do 32 @adl_serializer.description.should == @sample_description 33 end 30 34 end -
ruby/trunk/spec/lib/open_ehr/serializer/openEHR-EHR-SECTION.test.v1.adl
r407 r408 6 6 7 7 language 8 original_language = <[ openEHR::ja]>8 original_language = <[ISO_639-1::ja]> 9 9 10 10 description 11 11 original_author = < 12 ["name"] = <"Shinji KOBAYASHI"> 13 ["organisation"] = <"openEHR.jp"> 12 14 ["email"] = <"skoba@moss.gr.jp"> 13 ["organisation"] = <"openEHR.jp">14 ["name"] = <"Shinji KOBAYASHI">15 15 > 16 16 lifecycle_state = <"draft"> 17 17 details = < 18 18 ["ja"] = < 19 language = <[ openEHR::ja]>19 language = <[ISO_639-1::ja]> 20 20 purpose = <"Serializer test"> 21 21 misuse = <"evaluate message"> -
ruby/trunk/spec/lib/open_ehr/serializer/sample_archetype_spec.rb
r407 r408 24 24 archetype_id = ArchetypeID.new(:value => 25 25 'openEHR-EHR-SECTION.test.v1') 26 terminology_id = TerminologyID.new(:value => ' openEHR')26 terminology_id = TerminologyID.new(:value => 'ISO_639-1') 27 27 original_language = CodePhrase.new(:code_string => 'ja', 28 28 :terminology_id => terminology_id) … … 40 40 :misuse => 'evaluate message') 41 41 details = {'ja' => resource_description_item} 42 de cription = ResourceDescription.new(:original_author => original_author,43 :lifecycle_state => 'draft',44 :details => details)42 description = ResourceDescription.new(:original_author => original_author, 43 :lifecycle_state => 'draft', 44 :details => details) 45 45 @archetype = Archetype.new(:archetype_id => archetype_id, 46 46 :concept => 'at0000', -
ruby/trunk/spec/lib/open_ehr/serializer/xml_serializer_spec.rb
r407 r408 22 22 <concept>at0000</concept> 23 23 <original_language> 24 <terminology_id> 25 <value>ISO_639-1</value> 26 </terminology_id> 24 27 <code_string>ja</code_string> 25 <terminology_id>26 <value>openEHR</value>27 </terminology_id>28 28 </original_language> 29 29 END 30 30 end 31 32 it 'should return XML formatted description' do 33 @xml_serializer.description.should == <<END 34 <description> 35 <original_author id="name">Shinji KOBAYASHI</original_author> 36 <original_author id="organisation">openEHR.jp</original_author> 37 <original_author id="email">skoba@moss.gr.jp</original_author> 38 <lifecycle_state>draft</lifecycle_state> 39 <details> 40 <language> 41 <terminology_id> 42 <value>ISO_639-1</value> 43 </terminology_id> 44 <code_string>ja</code_string> 45 </language> 46 <purpose>Serializer test</purpose> 47 <misuse>evaluate message</misuse> 48 </details> 49 </description> 50 END 51 end 31 52 end
Note:
See TracChangeset
for help on using the changeset viewer.