Module: BEL::Translator::Plugins
- Defined in:
- lib/bel/translator.rb,
lib/bel/translator/plugins/rj.rb,
lib/bel/translator/plugins/bnj.rb,
lib/bel/translator/plugins/jgf.rb,
lib/bel/translator/plugins/rdfa.rb,
lib/bel/translator/plugins/trig.rb,
lib/bel/translator/plugins/trix.rb,
lib/bel/translator/plugins/xbel.rb,
lib/bel/translator/plugins/jsonld.rb,
lib/bel/translator/plugins/nquads.rb,
lib/bel/translator/plugins/rdfxml.rb,
lib/bel/translator/plugins/turtle.rb,
lib/bel/translator/plugins/ntriples.rb,
lib/bel/translator/plugins/bnj/translator.rb,
lib/bel/translator/plugins/jgf/translator.rb,
lib/bel/translator/plugins/xbel/translator.rb,
lib/bel/translator/plugins/xbel/xbel_yielder.rb,
lib/bel/translator/plugins/xbel/nanopub_handler.rb,
lib/bel/translator/plugins/xbel/nanopub_yielder.rb
Overview
The Plugins module provides a namespace for translator plugins. Translator plugins must be defined within Plugins in order to be discovered.
Defined Under Namespace
Modules: Bnj, Jgf, Jsonld, Nquads, Ntriples, Rdfa, Rdfxml, Rj, Trig, Trix, Turtle, Xbel
Class Method Summary collapse
-
.for(value) ⇒ nil, ...
Retrieves one or more translator plugins that were identified by
value
.
Class Method Details
.for(value) ⇒ nil, ...
Retrieves one or more translator plugins that were identified by value
.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/bel/translator.rb', line 46 def self.for(value) return nil unless value value_symbol = value.to_sym plugins = BEL::Translator.plugins return plugins[value_symbol] if plugins.include?(value_symbol) matches = plugins.values.select { |t| match = false match |= (value_symbol == t.name.to_sym) match |= (t.media_types.include?(value_symbol)) match |= (t.file_extensions.include?(value_symbol)) match } if matches.empty? nil elsif matches.size == 1 matches.first else matches end end |