Changeset 163 for ruby/trunk/lib/models
- Timestamp:
- Jul 8, 2009, 11:06:17 PM (15 years ago)
- Location:
- ruby/trunk/lib/models
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/models/am/archetype/archetype.rb
r26 r163 10 10 end 11 11 12 class ARCHETYPE < OpenEHR::RM::Common::Resource::A UTHORED_RESOURCE12 class ARCHETYPE < OpenEHR::RM::Common::Resource::Authored_Resource 13 13 include ADL_Definition 14 14 attr_accessor :archetype_id, :concept_code, :is_controlled, :original_language, :parent_archtype_id, :uid -
ruby/trunk/lib/models/rm/common/resource.rb
r24 r163 4 4 module Common 5 5 module Resource 6 class A UTHORED_RESOURCE7 attr_reader :is_controled,:revision_history, :translations8 attr_accessor :description, : original_language6 class Authored_Resource 7 attr_reader :original_language, :translations 8 attr_accessor :description, :revision_history 9 9 10 10 def initialize(args = { }) 11 @original_language = args[:original_language] if args[:original_language] 12 @translations = args[:translations] if args[:translations] 13 @revision_history = args[:revision_history] ? args[:revision_history] : nil 11 self.original_language = args[:original_language] 12 self.translations = args[:translations] 13 self.revision_history = args[:revision_history] 14 self.description = args[:description] 15 end 14 16 15 unless @revision_history 16 @is_controled = false 17 else 18 @is_controled = true 17 def original_language=(original_language) 18 if original_language.nil? 19 raise ArgumentError, 'original language is mandatory' 19 20 end 21 @original_language = original_language 22 end 20 23 21 @original_language = args[:original_language] if args[:original_language] 22 @translations = args[:translations] if args[:translations] 23 @description = args[:description] if args[:description] 24 def translations=(translations) 25 if !translations.nil? && translations.empty? 26 raise ArgumentError, 'translation is empty' 27 end 28 @translations = translations 24 29 end 25 30 … … 28 33 end 29 34 30 def language _available31 languages = Set.new32 if @translations != nil33 languages << @translations.keys 34 end35 languages << @original_language.code_string35 def languages_available 36 return Set.new(@translations.keys) 37 end 38 39 def is_controlled? 40 return !@revision_history.nil? 36 41 end 37 42 end 38 43 39 class T RANSLATION_DETAILS40 attr_ accessor :language, :author, :accreditation41 attr_accessor : other_details, :terminology_service44 class Translation_Details 45 attr_reader :language, :author 46 attr_accessor :accreditation, :other_details 42 47 43 def initialize(language, author, accreditation, other_details, 44 terminology_service) 48 def initialize(args = {}) 49 self.language = args[:language] 50 self.author = args[:author] 51 self.accreditation = args[:accreditation] 52 self.other_details = args[:other_details] 53 end 54 55 def language=(language) 56 raise ArgumentError, 'language is mandatory' if language.nil? 45 57 @language = language 58 end 59 60 def author=(author) 61 raise ArgumentError, 'author is mandatory' if author.nil? 46 62 @author = author 47 @accreditation = accreditation48 @other_details = other_details49 @terminology_service = terminology_service50 63 end 51 64 end 52 end 65 66 class Resource_Description 67 attr_reader :original_author, :lifecycle_state, :details 68 attr_accessor :other_contributors, :resource_package_uri, 69 :other_details, :parent_resource 70 71 def initialize(args = {}) 72 self.original_author = args[:original_author] 73 self.lifecycle_state = args[:lifecycle_state] 74 self.details = args[:details] 75 self.other_contributors = args[:other_contributors] 76 self.resource_package_uri = args[:resource_package_uri] 77 self.other_details = args[:other_details] 78 self.parent_resource = args[:parent_resource] 79 end 80 81 def original_author=(original_author) 82 if original_author.nil? || original_author.empty? 83 raise ArgumentError, 'original_author is mandatory' 84 end 85 @original_author = original_author 86 end 87 88 def lifecycle_state=(lifecycle_state) 89 if lifecycle_state.nil? || lifecycle_state.empty? 90 raise ArgumentError, 'lifecycle_state is malformatted' 91 end 92 @lifecycle_state = lifecycle_state 93 end 94 95 def details=(details) 96 if details.nil? || details.empty? 97 raise ArgumentError, 'nil or empty details' 98 end 99 @details = details 100 end 101 end 102 103 class Resource_Description_Item 104 attr_reader :language, :purpose, :use, :misuse, :copyright 105 attr_accessor :keywords, :original_resource_uri, :other_details 106 107 def initialize(args = { }) 108 self.language = args[:language] 109 self.purpose = args[:purpose] 110 self.keywords = args[:keywords] 111 self.use = args[:use] 112 self.misuse = args[:misuse] 113 self.copyright = args[:copyright] 114 self.original_resource_uri = args[:original_resource_uri] 115 self.other_details = args[:other_details] 116 end 117 118 def language=(language) 119 raise ArgumentError, 'language is mandatory' if language.nil? 120 @language = language 121 end 122 123 def purpose=(purpose) 124 if purpose.nil? || purpose.empty? 125 raise ArgumentError, 'purpose is mandatory' 126 end 127 @purpose = purpose 128 end 129 130 def use=(use) 131 if !use.nil? && use.empty? 132 raise ArgumentError, 'use is invalid' 133 end 134 @use = use 135 end 136 137 def misuse=(misuse) 138 if !misuse.nil? && misuse.empty? 139 raise ArgumentError, 'misuse is invalid' 140 end 141 @misuse = misuse 142 end 143 144 def copyright=(copyright) 145 if !copyright.nil? && copyright.empty? 146 raise ArgumentError, 'copyright is invalid' 147 end 148 @copyright = copyright 149 end 150 end 151 end # end of Resouce 53 152 end # end of module Common 54 153 end # end of module RM -
ruby/trunk/lib/models/tests/rm/test_common.rb
r162 r163 16 16 class RM_Common_Resource_Test < Test::Unit::TestCase 17 17 def setup 18 @authored_resource = OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE.new(:original_language => "ja", 19 :translations => "en", 20 :description => "test") 21 @translation_details = OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS.new(nil,nil,nil,nil,nil) 22 end 18 terminology_id = Terminology_ID.new('openehr') 19 code_phrase = Code_Phrase.new('ja', terminology_id) 20 @translation_details = OpenEHR::RM::Common::Resource::Translation_Details.new(:language => code_phrase, :author => {'KOBAYASHI, Shinji', 'Ehime Univ'}, 21 :accreditation => 'jp', :other_details => {'ruby', 'test'}) 22 @authored_resource = OpenEHR::RM::Common::Resource::Authored_Resource.new(:original_language => code_phrase, :translations => {'ja', @translation_details}, :description => "test") 23 @resource_description_item = OpenEHR::RM::Common::Resource::Resource_Description_Item.new(:language => code_phrase, 24 :purpose => 'test', 25 :keywords => %w[test ruby], 26 :use => 'unit test', 27 :misuse => 'real use', 28 :copyright => 'openEHR.jp', 29 :original_resource_uri => {'issuer', 'http://openehr.jp/'}, 30 :other_details => {'samos', 'icicth7'}) 31 @resource_description = OpenEHR::RM::Common::Resource::Resource_Description.new(:original_author => {'KOBAYASHI, Shinji' => 'Ehime University'}, 32 :lifecycle_state => 'experimental', 33 :details => {'ja', @resource_description_item}, 34 :other_contributors => %w[aki tim hugh], 35 :resource_package_uri => 'http://openehr.jp/svn/ruby', 36 :other_details => {'ja', 'shikoku'}, 37 :parent_resource => @authored_resource) 38 @authored_resource = OpenEHR::RM::Common::Resource::Authored_Resource.new(:original_language => code_phrase, :translations => {'ja', @translation_details}, :description => @resource_description) 39 end 40 23 41 def test_init 24 assert_instance_of OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE, @authored_resource 25 assert_instance_of OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS, @translation_details 42 assert_instance_of OpenEHR::RM::Common::Resource::Authored_Resource, @authored_resource 43 assert_instance_of OpenEHR::RM::Common::Resource::Translation_Details, @translation_details 44 assert_instance_of OpenEHR::RM::Common::Resource::Resource_Description_Item, @resource_description_item 45 assert_instance_of OpenEHR::RM::Common::Resource::Resource_Description, @resource_description 46 end 47 48 def test_translation_details 49 assert_equal 'ja', @translation_details.language.code_string 50 assert_equal 'Ehime Univ', @translation_details.author['KOBAYASHI, Shinji'] 51 assert_equal 'jp', @translation_details.accreditation 52 assert_equal 'test', @translation_details.other_details['ruby'] 26 53 end 27 54 28 55 def test_authoured_resource 29 assert_equal 'ja', @authored_resource.original_language 56 assert_equal 'ja', @authored_resource.original_language.code_string 57 assert_equal @translation_details, @authored_resource.translations['ja'] 58 assert_equal 'experimental', @authored_resource.description.lifecycle_state 59 assert !@authored_resource.is_controlled? 60 assert_equal(Set['ja'], @authored_resource.languages_available) 61 end 62 63 def test_resource_description_item 64 assert_equal 'ja', @resource_description_item.language.code_string 65 assert_equal 'test', @resource_description_item.purpose 66 assert_equal %w[test ruby], @resource_description_item.keywords 67 assert_equal 'unit test', @resource_description_item.use 68 assert_equal 'real use', @resource_description_item.misuse 69 assert_equal 'openEHR.jp', @resource_description_item.copyright 70 assert_equal 'http://openehr.jp/', @resource_description_item.original_resource_uri['issuer'] 71 assert_equal 'icicth7', @resource_description_item.other_details['samos'] 72 end 73 74 def test_resource_description 75 assert_equal 'Ehime University', @resource_description.original_author['KOBAYASHI, Shinji'] 76 assert_equal 'experimental', @resource_description.lifecycle_state 77 assert_equal 'test', @resource_description.details['ja'].purpose 78 assert_equal %w[aki tim hugh], @resource_description.other_contributors 79 assert_equal 'http://openehr.jp/svn/ruby', @resource_description.resource_package_uri 80 assert_equal 'shikoku', @resource_description.other_details['ja'] 81 assert_equal 'ja', @resource_description.parent_resource.original_language.code_string 30 82 end 31 83 end
Note:
See TracChangeset
for help on using the changeset viewer.