class DcmDict::Dictionary::UidDictionary
Main class to handle uid data as dictionary
Public Class Methods
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 33 def initialize super end
Calls superclass method
DcmDict::Dictionary::BaseDictionary::new
Private Instance Methods
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 50 def atomic_feature_at(uid, key) try_to_find_feature(uid, key) rescue Exception => ex raise DictionaryError.new("Unable to find feature #{key.inspect} for uid '#{uid}' as #{uid.class} (#{ex.class}: #{ex.message.inspect})") end
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 60 def atomic_record_at(uid) try_to_find_uid(uid) rescue Exception => ex raise DictionaryError.new("Unable to find reference for uid '#{uid}' as #{uid.class} (#{ex.class}: #{ex.message.inspect})") end
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 46 def freeze_source_data @uid_dict.freeze end
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 38 def map_source_data @uid_dict={} SourceData::UidValuesData.each do |data| record = UidRecord.new(data).freeze UidIndexKey.each { |key| @uid_dict[data[key]] = record } end end
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 56 def try_to_find_feature(uid, key) atomic_record_at(uid).send(key) end
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 66 def try_to_find_uid(uid) @uid_dict[uid] || try_to_find_unknown_uid(uid) end
Source
# File lib/dcm_dict/dictionary/uid_dictionary.rb, line 71 def try_to_find_unknown_uid(uid) raise "Unknown UID value" unless uid.uid_value? UidRecord.new({ uid_value: uid }) end