Class: OpenBEL::Plugin::Nanopub

Inherits:
Object
  • Object
show all
Includes:
OpenBEL::Plugin
Defined in:
lib/openbel/api/plugin/nanopub/nanopub.rb

Constant Summary collapse

ID =
'nanopub'
NAME =
'OpenBEL Nanopub API'
DESC =
'API for accesing OpenBEL Nanopub.'

Constants included from OpenBEL::Plugin

EMPTY_ARRAY

Instance Method Summary collapse

Methods included from OpenBEL::Plugin

#<=>, #==, #hash, included, #on_unload

Instance Method Details

#configure(extensions = {}, options = {}) ⇒ Object



49
50
51
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 49

def configure(extensions = {}, options = {})
  @options = options
end

#create_instanceObject



53
54
55
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 53

def create_instance
  OpenBEL::Nanopub::Nanopub.new(@options)
end

#descriptionObject



21
22
23
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 21

def description
  DESC
end

#idObject



13
14
15
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 13

def id
  ID
end

#nameObject



17
18
19
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 17

def name
  NAME
end

#on_loadObject



37
38
39
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 37

def on_load
  require_relative '../../nanopub/mongo'
end

#optional_extensionsObject



33
34
35
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 33

def optional_extensions
  []
end

#required_extensionsObject



29
30
31
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 29

def required_extensions
  []
end

#typeObject



25
26
27
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 25

def type
  :nanopub
end

#validate(extensions = {}, options = {}) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/openbel/api/plugin/nanopub/nanopub.rb', line 41

def validate(extensions = {}, options = {})
  [:host, :port, :database].map { |setting|
    unless options[setting]
      ValidationError.new(self, :storage, "The #{setting} setting is missing.")
    end
  }.compact!
end