Sha256: ca79c93bf6588195a13b2879b03485e8d6912b1acad52a7bd3c6ebdde5c07ae4
Contents?: true
Size: 1.99 KB
Versions: 3
Compression:
Stored size: 1.99 KB
Contents
require 'rbbt/util/misc' require 'rbbt/knowledge_base' module KnowledgeBaseRESTHelpers class << self attr_accessor :knowledge_base_dir, :knowledge_bases end self.knowledge_base_dir = "var/knowledge_base" def prepare_entities_for_json(entities) case entities when AnnotatedArray list_hash(entities) when Array entities.inject([]){|acc,e| acc << prepare_entities_for_json(e); acc } when Hash hash = {} entities.each do |key,values| hash[key] = prepare_entities_for_json(values) end hash when String entities end end def get_kb(name) @knowledge_bases ||= IndiferentHash.setup({}) case name when :genomics, "genomics" @knowledge_bases[name] ||= Genomics.knowledge_base else @knowledge_bases[name] ||= KnowledgeBase.new File.join(KnowledgeBaseRESTHelpers.knowledge_base_dir, name) end end def get_knowledge_base(name, namespace = nil) @knowledge_bases ||= IndiferentHash.setup({}) @knowledge_bases[name] ||= begin kb = case when [:genomics, "genomics"].include?(name) Genomics.knowledge_base when (Misc.path_relative_to(settings.cache_dir, name) and File.exists?(name)) KnowledgeBase.new name when KnowledgeBase.registry.include?(name) KnowledgeBase.registry[name] when Study.studies.include?(name) Study.setup(name).knowledge_base else KnowledgeBase.new File.join(KnowledgeBaseRESTHelpers.knowledge_base_dir, name) end namespace ? kb.version(namespace) : kb end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbbt-rest-1.2.2 | lib/rbbt/rest/knowledge_base/helpers.rb |
rbbt-rest-1.2.1 | lib/rbbt/rest/knowledge_base/helpers.rb |
rbbt-rest-1.2.0 | lib/rbbt/rest/knowledge_base/helpers.rb |