1 | require 'set'
|
---|
2 | module OpenEHR
|
---|
3 | module RM
|
---|
4 | module Common
|
---|
5 | module Resource
|
---|
6 | class Authored_Resource
|
---|
7 | attr_reader :is_controled
|
---|
8 | attr_reader :revision_history, :translations
|
---|
9 | attr_accessor :description, :original_language
|
---|
10 | def initialize(original_language, translations,
|
---|
11 | description, revision_history = nil)
|
---|
12 | if original_language == nil
|
---|
13 | raise Exception.new("original language nil")
|
---|
14 | end
|
---|
15 | if translations == nil
|
---|
16 | raise Exception.new("translation empty")
|
---|
17 | end
|
---|
18 | if revision_history == nil
|
---|
19 | is_controled = false
|
---|
20 | else
|
---|
21 | is_controled = true
|
---|
22 | end
|
---|
23 | @original_language = original_language
|
---|
24 | @translations = translations
|
---|
25 | @description = description
|
---|
26 | @revision_history = revision_history
|
---|
27 | end
|
---|
28 | def current_version
|
---|
29 | @revision_history.most_recent_revision
|
---|
30 | end
|
---|
31 | def language_available
|
---|
32 | languages = Set.new
|
---|
33 | if translations != nil
|
---|
34 | languages << translations.keys
|
---|
35 | end
|
---|
36 | languages << original_language.code_string
|
---|
37 | end
|
---|
38 | end
|
---|
39 | class Translation_Details
|
---|
40 | attr_accessor :language, :author, :accreditation
|
---|
41 | attr_accessor :other_details, :terminology_service
|
---|
42 | def initialize(language, author, accreditation, other_details,
|
---|
43 | terminology_service)
|
---|
44 | @language = language
|
---|
45 | @author = author
|
---|
46 | @accreditation = accreditation
|
---|
47 | @other_details = other_details
|
---|
48 | @terminology_service = terminology_service
|
---|
49 | end
|
---|
50 | end
|
---|
51 | end
|
---|
52 | end # end of module Common
|
---|
53 | end # end of module RM
|
---|
54 | end # end of module OpenEHR
|
---|