openbel-api 1.0.3-java → 1.0.4-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25d2e441f67f4be259e2f3a594a66c1c6524c061
4
- data.tar.gz: 2dde1eb0808d0f1ded754a447ca787c06e8196e7
3
+ metadata.gz: 00a36abdeadf9bbfeaf6bd2251e2f7cd32b051bf
4
+ data.tar.gz: 29e80343fd5d984c9df84266fe707ded3fc10658
5
5
  SHA512:
6
- metadata.gz: f1564a9fa715f528b2dce42f4f6238fb78f15bced541a786eee8b7c595b325ce2d19a596fc07bab9e579976c560137ccb22bed17af2d1a00420462896e5d1f5f
7
- data.tar.gz: 84721bf531574e8c9355a26246c7f039c8556f28a0f1914ae251609dbd7ded8792a4c7dd05f22cd825141abfbe4915cf72b1592f2b3c55c796746ca65fe99a4f
6
+ metadata.gz: 0f417e1ab2ae9a477ed14d4ce15fbc048b83ce31e0fb2254c02ad16f11d4f1e187e18c2011420abf589367e9dcdabb230866b21af71b1517b9c866d29564aa76
7
+ data.tar.gz: 5a9377f4e826f6287883c89b414f4b5df48f5872fb72569da9ec1c577dcb04f716a1e0241ff85cb3376e31e5b9b2d710929da3c13ff5a775f21a737aaffdd229
data/.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  'README.md'
27
27
  ].flatten!
28
28
  spec.executables = Dir.glob('bin/*').map(&File.method(:basename))
29
- spec.homepage = 'https://github.com/OpenBEL/openbel-server'
29
+ spec.homepage = 'https://github.com/OpenBEL/openbel-api'
30
30
  spec.require_paths = ['app', 'lib']
31
31
  spec.platform = 'java'
32
32
  spec.required_ruby_version = '>= 2.0.0'
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@ All notable changes to openbel-api will be documented in this file. The curated
3
3
 
4
4
  This project adheres to [Semantic Versioning][Semantic Versioning].
5
5
 
6
+ ## [1.0.4][1.0.4] - 2016-12-28
7
+ ### Added
8
+ - Docker containers for development and production use of OpenBEL
9
+
10
+ ### Changed
11
+ - Converted authentication to use Keycloak Pubkey RSA256 Token authentication
12
+
6
13
  ## [1.0.1][1.0.1] - 2016-06-08
7
14
  ### Added
8
15
  - Renaming APIs and code on [new terminology][new terminology].
@@ -87,6 +94,7 @@ Datasets are stored with a URI computed from the scheme and host that is serving
87
94
  - Retrieve equivalent namespace values from the individual.
88
95
  - Retrieve orthologous namespace values from the individual.
89
96
 
97
+ [1.0.4]: https://github.com/OpenBEL/openbel-api/compare/0.6.2...1.0.4
90
98
  [1.0.1]: https://github.com/OpenBEL/openbel-api/compare/0.6.2...1.0.1
91
99
  [1.0.0]: https://github.com/OpenBEL/openbel-api/compare/0.6.2...1.0.0
92
100
  [0.6.2]: https://github.com/OpenBEL/openbel-api/compare/0.6.1...0.6.2
data/INSTALL.md CHANGED
@@ -1,19 +1,21 @@
1
- Install
2
- =======
1
+ ## Install
3
2
 
4
3
  This library requires [Ruby](https://www.ruby-lang.org) (**>= 2.0.0**). See [how to install ruby](https://github.com/OpenBEL/bel.rb/blob/master/INSTALL_RUBY.md).
5
4
 
6
- Install from [RubyGems.org](http://rubygems.org/gems/bel)
5
+ #### From RubyGems
6
+
7
+ Install from [RubyGems.org](http://rubygems.org/gems/openbel-api)
7
8
 
8
9
  ```bash
9
- gem install bel
10
+ gem install openbel-api
10
11
  ```
11
12
 
12
- Build from master branch
13
+ Run with `openbel-api --file your_config.yml`
14
+
15
+ You can obtain an example configuration file with `openbel-config`.
16
+
17
+ #### On Docker
18
+
19
+ Please see the DOCKER.md file for Docker instructions
13
20
 
14
- 1. Obtain source for master branch.
15
- - `git clone git@github.com:OpenBEL/bel.rb.git`
16
21
 
17
- 2. Build
18
- - `gem build bel.gemspec`
19
- - `gem install bel-[VERSION].gem`
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  The OpenBEL API provides RESTful API access to your BEL content. It is part of [OpenBEL Platform][OpenBEL Platform].
4
4
 
5
+
5
6
  ## Features
6
7
 
7
8
  - Nanopub Store
@@ -61,6 +62,8 @@ The OpenBEL API is built to run with [JRuby][JRuby] and [Java 8][Java 8].
61
62
 
62
63
  ## Getting up and Running
63
64
 
65
+ *See the DOCKER.md file instructions for using Docker (recommended).*
66
+
64
67
  ### Installation
65
68
 
66
69
  The OpenBEL API is packaged and installed as a Ruby gem. A Ruby gem is packed library or application that runs on the Ruby virtual machine. In this case OpenBEL API runs only on [JRuby][JRuby].
@@ -132,31 +135,48 @@ resource_search:
132
135
  database_file: 'biological-concepts-rdf.db'
133
136
  ```
134
137
 
135
-
136
138
  **Tip**
137
139
  You can obtain the latest Resource Search database (20150611) from the [OpenBEL build server][Resource Search 20150611].
138
140
 
139
- *Token-based authentication*
140
- The OpenBEL API is equipped to require authentication for specific API paths (e.g. nanopub, Datasets). The implementation uses [Auth0][Auth0] as a single sign-on service.
141
141
 
142
- By default authentication is disabled.
142
+ ## Enabling Authentication
143
143
 
144
- The default configuration is:
144
+ The OpenBEL API uses *Token-based authentication* supported by Keycloak.
145
+ The OpenBEL API is equipped to require authentication for specific API
146
+ paths (e.g. nanopub, Datasets). The implementation uses [Keycloak][Keycloak]
147
+ for a single sign-on service.
148
+
149
+ By default, authentication is disabled. The default configuration is:
145
150
 
146
151
  ```yaml
147
152
  # Set a secret used during session creation....
148
153
  session_secret: 'changeme'
149
154
 
150
- # User authentication using Auth0.
151
155
  auth:
156
+ # Controls whether the API requires authentication
152
157
  enabled: false
153
- redirect: 'https://openbel.auth0.com/authorize?response_type=code&scope=openid%20profile&client_id=K4oAPUaROjbWWTCoAhf0nKYfTGsZWbHE'
154
- default_connection: 'linkedin'
155
- domain: 'openbel.auth0.com'
156
- id: 'K4oAPUaROjbWWTCoAhf0nKYfTGsZWbHE'
157
- # secret: 'auth0 client secret here'
158
+ # Used by the auth middleware to decode and verify the JWT
159
+ #secret: 'JWT secret here'
160
+
161
+ # API Authentication is provided via JWTs from Keycloak
162
+ # see http://jwt.io/ and https://keycloak.org
163
+ # auth:
164
+ # # Controls whether the API requires authentication
165
+ # enabled: true
166
+ # # Used by the auth middleware to decode and verify the JWT
167
+ # secret: |
168
+ # -----BEGIN PUBLIC KEY-----
169
+ # <keycloak_pub_key>
170
+ # -----END PUBLIC KEY-----
158
171
  ```
159
172
 
173
+ An example
174
+ The keycloak Pub Key can be found in the Admin console for Keycloak:
175
+
176
+ 1. Realm Settings
177
+ 1. Keys tab
178
+ 1. Public Key -> View
179
+
160
180
  ### Running the OpenBEL API
161
181
 
162
182
  The OpenBEL API can be run using the `openbel-api` command and passing a configuration file.
@@ -276,7 +296,7 @@ Built with collaboration and a lot of :heart: by the [OpenBEL][OpenBEL] communit
276
296
  [Upgrading]: https://github.com/OpenBEL/openbel-api/blob/master/UPGRADING.md
277
297
  [RubyGems]: https://rubygems.org
278
298
  [RDF]: http://www.w3.org/RDF/
279
- [Auth0]: https://auth0.com/
299
+ [Keycloak]: https://http://www.keycloak.org/
280
300
  [Puma HTTP server]: http://puma.io/
281
301
  [Resource RDF 20150611]: http://build.openbel.org/browse/OR-RRD2/latestSuccessful/artifact
282
302
  [Resource Search 20150611]: http://build.openbel.org/browse/OR-RSD2/latestSuccessful/artifact
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.3
1
+ 1.0.4
@@ -6,6 +6,7 @@ require 'bel_parser'
6
6
 
7
7
  require_relative 'util'
8
8
 
9
+ require 'rack'
9
10
  require 'rack/cors'
10
11
  require 'sinatra/base'
11
12
  require "sinatra/cookies"
@@ -39,14 +39,17 @@ module OpenBEL
39
39
  token = token_param unless token_param.nil?
40
40
 
41
41
  secret = OpenBEL::Settings[:auth][:secret]
42
- secret = Base64.decode64(secret)
42
+ pubkey = OpenSSL::PKey::RSA.new(secret)
43
+
44
+ # secret = Base64.decode64(secret)
45
+
43
46
  # whether we should verify the token
44
47
  verify = true
45
48
  # JWT options passed to decode
46
- options = {}
49
+ options = { :algorithm => 'RS256' }
47
50
 
48
51
  begin
49
- decoded_token = decode(token, secret, verify, options)
52
+ decoded_token = decode(token, pubkey, verify, options)
50
53
  rescue ::JWT::VerificationError => ve
51
54
  puts ve.inspect
52
55
  raise 'invalid authorization token'
@@ -27,6 +27,11 @@ module OpenBEL
27
27
  )
28
28
  end
29
29
 
30
+ configure :development do |config|
31
+ Annotations.reset!
32
+ use Rack::Reloader
33
+ end
34
+
30
35
  options '/api/annotations' do
31
36
  response.headers['Allow'] = 'OPTIONS,GET'
32
37
  status 200
@@ -3,6 +3,11 @@ module OpenBEL
3
3
 
4
4
  class Authenticate < Base
5
5
 
6
+ configure :development do |config|
7
+ Authenticate.reset!
8
+ use Rack::Reloader
9
+ end
10
+
6
11
  get '/api/authentication-enabled' do
7
12
  enabled = OpenBEL::Settings[:auth][:enabled]
8
13
  hdrs = {'Content-Type' => 'application/json'}
@@ -56,6 +56,11 @@ module OpenBEL
56
56
  @annotation_transform = AnnotationTransform.new(annotations)
57
57
  end
58
58
 
59
+ configure :development do |config|
60
+ Datasets.reset!
61
+ use Rack::Reloader
62
+ end
63
+
59
64
  # Hang on to the Rack IO in order to do unbuffered reads.
60
65
  # use Rack::Config do |env|
61
66
  # env['rack.input'], env['data.input'] = StringIO.new, env['rack.input']
@@ -20,14 +20,27 @@ module OpenBEL
20
20
  @spec = BELParser::Language.specification(bel_version)
21
21
 
22
22
  # RdfRepository using Jena.
23
- @rr = BEL::RdfRepository.plugins[:jena].create_repository(
24
- :tdb_directory => OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
25
- )
23
+ tdb = OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
24
+ @rr = BEL::RdfRepository.plugins[:jena].create_repository(:tdb_directory => tdb)
26
25
 
27
26
  # Annotations using RdfRepository
28
27
  @annotations = BEL::Resource::Annotations.new(@rr)
29
28
  # Namespaces using RdfRepository
30
- @namespaces = BEL::Resource::Namespaces.new(@rr)
29
+ @namespaces = BEL::Resource::Namespaces.new(@rr)
30
+
31
+ @supported_namespaces = Hash[
32
+ @namespaces.each.map { |ns|
33
+ prefix = ns.prefix.first.upcase
34
+
35
+ [
36
+ prefix,
37
+ BELParser::Expression::Model::Namespace.new(
38
+ prefix,
39
+ ns.uri
40
+ )
41
+ ]
42
+ }
43
+ ]
31
44
 
32
45
  # Resource Search using SQLite.
33
46
  @search = BEL::Resource::Search.plugins[:sqlite].create_search(
@@ -36,11 +49,16 @@ module OpenBEL
36
49
 
37
50
  @expression_validator = BELParser::Expression::Validator.new(
38
51
  @spec,
39
- BELParser::Resources::DEFAULT_NAMESPACES,
40
- BELParser::Resource.default_uri_reader,
52
+ @supported_namespaces,
53
+ BELParser::Resource::JenaTDBReader.new(tdb),
41
54
  BELParser::Resource.default_url_reader)
42
55
  end
43
56
 
57
+ configure :development do |config|
58
+ Expressions.reset!
59
+ use Rack::Reloader
60
+ end
61
+
44
62
  options '/api/expressions/*/completions' do
45
63
  response.headers['Allow'] = 'OPTIONS,GET'
46
64
  status 200
@@ -177,7 +195,9 @@ module OpenBEL
177
195
  statement =
178
196
  BELParser::Expression.parse_statements(
179
197
  bel,
180
- @spec)
198
+ @spec,
199
+ @supported_namespaces
200
+ )
181
201
  halt 404 unless statement
182
202
 
183
203
  response.headers['Content-Type'] = 'application/json'
@@ -18,6 +18,11 @@ module OpenBEL
18
18
  @spec = BELParser::Language.specification(bel_version)
19
19
  end
20
20
 
21
+ configure :development do |config|
22
+ Language.reset!
23
+ use Rack::Reloader
24
+ end
25
+
21
26
  options '/api/language' do
22
27
  response.headers['Allow'] = 'OPTIONS,GET'
23
28
  status 200
@@ -40,6 +40,11 @@ module OpenBEL
40
40
  )
41
41
  end
42
42
 
43
+ configure :development do |config|
44
+ Namespaces.reset!
45
+ use Rack::Reloader
46
+ end
47
+
43
48
  options '/api/namespaces' do
44
49
  response.headers['Allow'] = 'OPTIONS,GET'
45
50
  status 200
@@ -32,6 +32,11 @@ module OpenBEL
32
32
  @annotation_grouping_transform = AnnotationGroupingTransform.new
33
33
  end
34
34
 
35
+ configure :development do |config|
36
+ Nanopubs.reset!
37
+ use Rack::Reloader
38
+ end
39
+
35
40
  helpers do
36
41
 
37
42
  def stream_nanopub_objects(cursor)
@@ -3,6 +3,11 @@ module OpenBEL
3
3
 
4
4
  class Root < Base
5
5
 
6
+ configure :development do |config|
7
+ Root.reset!
8
+ use Rack::Reloader
9
+ end
10
+
6
11
  options '/api' do
7
12
  response.headers['Allow'] = 'OPTIONS,GET'
8
13
  status 200
@@ -16,6 +16,11 @@ module OpenBEL
16
16
  }
17
17
  DEFAULT_TYPE = TEXT
18
18
 
19
+ configure :development do |config|
20
+ Version.reset!
21
+ use Rack::Reloader
22
+ end
23
+
19
24
  helpers do
20
25
  def requested_media_type
21
26
  if params && params[:format]
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # run via: bash <(curl -s https://raw.githubusercontent.com/OpenBEL/openbel-api/master/bin/setup-docker.sh)
4
+
5
+ hash docker 2>/dev/null || { echo >&2 "I require docker. Please install. Aborting."; exit 1; }
6
+ hash docker-compose 2>/dev/null || { echo >&2 "I require docker-compose. Please install. Aborting."; exit 1; }
7
+
8
+
9
+ ssh_status=$(ssh -o BatchMode=yes -o ConnectTimeout=5 git@github.com 2>&1)
10
+
11
+ if [[ $ssh_status == *"successfully authenticated"* ]] ; then
12
+ clone_cmd="git clone git@github.com:OpenBEL/openbel-api.git";
13
+ else
14
+ clone_cmd="git clone https://github.com/OpenBEL/openbel-api.git";
15
+ fi
16
+
17
+ if [ ! -d "openbel-api" ]; then
18
+ $clone_cmd
19
+ else
20
+ cd openbel-api;
21
+ git pull;
22
+ cd ..;
23
+ fi
24
+
25
+
26
+ cd openbel-api
27
+ git submodule update --init # Update project submodules (in the ./subprojects directory)
28
+ HOME=$(pwd)
29
+
30
+
31
+ # Download and bunzip2 datasets
32
+ if [ ! -d "$HOME/data/rdf_resources" ]; then
33
+ mkdir -p $HOME/data/rdf_resources
34
+ cd $HOME/data/rdf_resources
35
+ curl -O http://datasets.openbel.org/biological-concepts-rdf.db.bz2
36
+ bunzip2 biological-concepts-rdf.db.bz2
37
+ fi
38
+
39
+ if [ ! -d "$HOME/data/rdf_store" ]; then
40
+ mkdir -p $HOME/data
41
+ cd $HOME/data
42
+ curl -O http://datasets.openbel.org/rdf_store.tar.bz2
43
+ bunzip2 rdf_store.tar.bz2
44
+ tar xvf rdf_store.tar
45
+ rm rdf_store.tar
46
+ fi
47
+
48
+ cd $HOME
49
+
50
+ if [ ! -f "$HOME/config/config.yml" ]; then
51
+ cp config/config.yml.example config/config.yml
52
+ fi
53
+
54
+ printf "Remember to configure config/config.yml\n\n"
55
+
56
+ echo "To start the dev docker instance: "
57
+ echo " docker-compose build"
58
+ echo " docker-compose up"
59
+
60
+ printf "\n\nTo run production docker: "
61
+ echo " docker-compose -f docker-compose-prod.yml build"
62
+ echo " docker-compose -f docker-compose-prod.yml up"
data/config/config.yml CHANGED
@@ -8,7 +8,7 @@ bel:
8
8
  # (BEL version 1.0 specification)
9
9
  # 2.0
10
10
  # (BEL version 2.0 specification)
11
- version: 2.0
11
+ version: 1.0
12
12
 
13
13
  # Storage of nanopubs through the Mongo database.
14
14
  nanopub_store:
@@ -16,8 +16,8 @@ nanopub_store:
16
16
 
17
17
  # The MongoDB host to connect to. For example if MongoDB's net.bindIp
18
18
  # setting is configured as 127.0.0.1 we should be able to connect using
19
- # localhost.
20
- host: 'localhost'
19
+ # 'localhost'. We use 'mongodb' for use in the docker-compose file.
20
+ host: 'mongodb'
21
21
 
22
22
  # The default MongoDB port. Configured under MongoDB's `net.port` setting.
23
23
  port: 27017
@@ -51,12 +51,12 @@ nanopub_store:
51
51
  # RDF dataset for BEL datasets, annotations, and namespaces using Apache Jena.
52
52
  resource_rdf:
53
53
  jena:
54
- tdb_directory: 'biological-concepts-rdf'
54
+ tdb_directory: '/data/rdf_store'
55
55
 
56
56
  # Full-text search over annotation and namespace values using SQLite.
57
57
  resource_search:
58
58
  sqlite:
59
- database_file: 'biological-concepts-rdf.db'
59
+ database_file: '/data/rdf_resources/biological-concepts-rdf.db'
60
60
 
61
61
  # Set a secret used during session creation....
62
62
  session_secret: 'changeme'
@@ -66,5 +66,8 @@ auth:
66
66
  # Controls whether the API requires authentication
67
67
  enabled: false
68
68
  # Used by the auth middleware to decode and verify the JWT
69
- #secret: 'JWT secret here'
69
+ secret: |
70
+ -----BEGIN PUBLIC KEY-----
71
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu77nUtVw7SIIcUTSiStzMPB7BGB/9eS+CpppsUaiyZyWCXlrALT3YdqneSlpX4Ta+0wvhOkKQtoSS8dCH8GIi7esAmfdHetHfRgeDXHAlXo8HIzshUzODg3ysT7j+Ha3eJsO+LNS/omHDhsarP8Z2eThW876iKJCCc/mB76a6u1e4Id+52K5lG++m8Pn4Gs+cqd2sKUKcMJ9CkJ6dBIdGlXHMoOHj4C33SPrEG/vEBv5cu0l5PP3RiBAuaZHpLKzfIiaLOpj/k4dD/weVt5gwTIJn16AEgPD7173Xef0HgoPlQInDFrJwsGpYCnIPZWSxRbvjKkya2Auj0QZyMCrXwIDAQAB
72
+ -----END PUBLIC KEY-----
70
73
 
metadata CHANGED
@@ -1,348 +1,348 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openbel-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: java
6
6
  authors:
7
7
  - Anthony Bargnesi
8
8
  - Nick Bargnesi
9
9
  - William Hayes
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
  date: 2016-03-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
+ name: bel
16
17
  requirement: !ruby/object:Gem::Requirement
17
18
  requirements:
18
19
  - - "~>"
19
20
  - !ruby/object:Gem::Version
20
21
  version: 1.0.0
21
- name: bel
22
- prerelease: false
23
22
  type: :runtime
23
+ prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: 1.0.0
29
29
  - !ruby/object:Gem::Dependency
30
+ name: json-ld
30
31
  requirement: !ruby/object:Gem::Requirement
31
32
  requirements:
32
33
  - - '='
33
34
  - !ruby/object:Gem::Version
34
35
  version: 2.0.0
35
- name: json-ld
36
- prerelease: false
37
36
  type: :runtime
37
+ prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.0.0
43
43
  - !ruby/object:Gem::Dependency
44
+ name: rdf-json
44
45
  requirement: !ruby/object:Gem::Requirement
45
46
  requirements:
46
47
  - - '='
47
48
  - !ruby/object:Gem::Version
48
49
  version: 2.0.0
49
- name: rdf-json
50
- prerelease: false
51
50
  type: :runtime
51
+ prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
56
  version: 2.0.0
57
57
  - !ruby/object:Gem::Dependency
58
+ name: rdf-rdfa
58
59
  requirement: !ruby/object:Gem::Requirement
59
60
  requirements:
60
61
  - - '='
61
62
  - !ruby/object:Gem::Version
62
63
  version: 2.0.0
63
- name: rdf-rdfa
64
- prerelease: false
65
64
  type: :runtime
65
+ prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
70
  version: 2.0.0
71
71
  - !ruby/object:Gem::Dependency
72
+ name: rdf-rdfxml
72
73
  requirement: !ruby/object:Gem::Requirement
73
74
  requirements:
74
75
  - - '='
75
76
  - !ruby/object:Gem::Version
76
77
  version: 2.0.0
77
- name: rdf-rdfxml
78
- prerelease: false
79
78
  type: :runtime
79
+ prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
84
  version: 2.0.0
85
85
  - !ruby/object:Gem::Dependency
86
+ name: rdf-trig
86
87
  requirement: !ruby/object:Gem::Requirement
87
88
  requirements:
88
89
  - - '='
89
90
  - !ruby/object:Gem::Version
90
91
  version: 2.0.0
91
- name: rdf-trig
92
- prerelease: false
93
92
  type: :runtime
93
+ prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - '='
97
97
  - !ruby/object:Gem::Version
98
98
  version: 2.0.0
99
99
  - !ruby/object:Gem::Dependency
100
+ name: rdf-trix
100
101
  requirement: !ruby/object:Gem::Requirement
101
102
  requirements:
102
103
  - - '='
103
104
  - !ruby/object:Gem::Version
104
105
  version: 2.0.0
105
- name: rdf-trix
106
- prerelease: false
107
106
  type: :runtime
107
+ prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - '='
111
111
  - !ruby/object:Gem::Version
112
112
  version: 2.0.0
113
113
  - !ruby/object:Gem::Dependency
114
+ name: rdf-turtle
114
115
  requirement: !ruby/object:Gem::Requirement
115
116
  requirements:
116
117
  - - '='
117
118
  - !ruby/object:Gem::Version
118
119
  version: 2.0.0
119
- name: rdf-turtle
120
- prerelease: false
121
120
  type: :runtime
121
+ prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - '='
125
125
  - !ruby/object:Gem::Version
126
126
  version: 2.0.0
127
127
  - !ruby/object:Gem::Dependency
128
+ name: bel-search-sqlite
128
129
  requirement: !ruby/object:Gem::Requirement
129
130
  requirements:
130
131
  - - "~>"
131
132
  - !ruby/object:Gem::Version
132
133
  version: 1.0.0
133
- name: bel-search-sqlite
134
- prerelease: false
135
134
  type: :runtime
135
+ prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
140
  version: 1.0.0
141
141
  - !ruby/object:Gem::Dependency
142
+ name: bel-rdf-jena
142
143
  requirement: !ruby/object:Gem::Requirement
143
144
  requirements:
144
145
  - - "~>"
145
146
  - !ruby/object:Gem::Version
146
147
  version: 1.0.0
147
- name: bel-rdf-jena
148
- prerelease: false
149
148
  type: :runtime
149
+ prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
154
  version: 1.0.0
155
155
  - !ruby/object:Gem::Dependency
156
+ name: mongo
156
157
  requirement: !ruby/object:Gem::Requirement
157
158
  requirements:
158
159
  - - '='
159
160
  - !ruby/object:Gem::Version
160
161
  version: 1.12.5
161
- name: mongo
162
- prerelease: false
163
162
  type: :runtime
163
+ prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - '='
167
167
  - !ruby/object:Gem::Version
168
168
  version: 1.12.5
169
169
  - !ruby/object:Gem::Dependency
170
+ name: bson
170
171
  requirement: !ruby/object:Gem::Requirement
171
172
  requirements:
172
173
  - - '='
173
174
  - !ruby/object:Gem::Version
174
175
  version: 1.12.5
175
- name: bson
176
- prerelease: false
177
176
  type: :runtime
177
+ prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - '='
181
181
  - !ruby/object:Gem::Version
182
182
  version: 1.12.5
183
183
  - !ruby/object:Gem::Dependency
184
+ name: dot_hash
184
185
  requirement: !ruby/object:Gem::Requirement
185
186
  requirements:
186
187
  - - '='
187
188
  - !ruby/object:Gem::Version
188
189
  version: 0.5.9
189
- name: dot_hash
190
- prerelease: false
191
190
  type: :runtime
191
+ prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
194
  - - '='
195
195
  - !ruby/object:Gem::Version
196
196
  version: 0.5.9
197
197
  - !ruby/object:Gem::Dependency
198
+ name: jrjackson
198
199
  requirement: !ruby/object:Gem::Requirement
199
200
  requirements:
200
201
  - - '='
201
202
  - !ruby/object:Gem::Version
202
203
  version: 0.3.7
203
- name: jrjackson
204
- prerelease: false
205
204
  type: :runtime
205
+ prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
208
  - - '='
209
209
  - !ruby/object:Gem::Version
210
210
  version: 0.3.7
211
211
  - !ruby/object:Gem::Dependency
212
+ name: json_schema
212
213
  requirement: !ruby/object:Gem::Requirement
213
214
  requirements:
214
215
  - - '='
215
216
  - !ruby/object:Gem::Version
216
217
  version: 0.10.0
217
- name: json_schema
218
- prerelease: false
219
218
  type: :runtime
219
+ prerelease: false
220
220
  version_requirements: !ruby/object:Gem::Requirement
221
221
  requirements:
222
222
  - - '='
223
223
  - !ruby/object:Gem::Version
224
224
  version: 0.10.0
225
225
  - !ruby/object:Gem::Dependency
226
+ name: multi_json
226
227
  requirement: !ruby/object:Gem::Requirement
227
228
  requirements:
228
229
  - - '='
229
230
  - !ruby/object:Gem::Version
230
231
  version: 1.11.2
231
- name: multi_json
232
- prerelease: false
233
232
  type: :runtime
233
+ prerelease: false
234
234
  version_requirements: !ruby/object:Gem::Requirement
235
235
  requirements:
236
236
  - - '='
237
237
  - !ruby/object:Gem::Version
238
238
  version: 1.11.2
239
239
  - !ruby/object:Gem::Dependency
240
+ name: oat
240
241
  requirement: !ruby/object:Gem::Requirement
241
242
  requirements:
242
243
  - - '='
243
244
  - !ruby/object:Gem::Version
244
245
  version: 0.4.6
245
- name: oat
246
- prerelease: false
247
246
  type: :runtime
247
+ prerelease: false
248
248
  version_requirements: !ruby/object:Gem::Requirement
249
249
  requirements:
250
250
  - - '='
251
251
  - !ruby/object:Gem::Version
252
252
  version: 0.4.6
253
253
  - !ruby/object:Gem::Dependency
254
+ name: puma
254
255
  requirement: !ruby/object:Gem::Requirement
255
256
  requirements:
256
257
  - - '='
257
258
  - !ruby/object:Gem::Version
258
259
  version: 3.1.0
259
- name: puma
260
- prerelease: false
261
260
  type: :runtime
261
+ prerelease: false
262
262
  version_requirements: !ruby/object:Gem::Requirement
263
263
  requirements:
264
264
  - - '='
265
265
  - !ruby/object:Gem::Version
266
266
  version: 3.1.0
267
267
  - !ruby/object:Gem::Dependency
268
+ name: rack
268
269
  requirement: !ruby/object:Gem::Requirement
269
270
  requirements:
270
271
  - - '='
271
272
  - !ruby/object:Gem::Version
272
273
  version: 1.6.4
273
- name: rack
274
- prerelease: false
275
274
  type: :runtime
275
+ prerelease: false
276
276
  version_requirements: !ruby/object:Gem::Requirement
277
277
  requirements:
278
278
  - - '='
279
279
  - !ruby/object:Gem::Version
280
280
  version: 1.6.4
281
281
  - !ruby/object:Gem::Dependency
282
+ name: rack-cors
282
283
  requirement: !ruby/object:Gem::Requirement
283
284
  requirements:
284
285
  - - '='
285
286
  - !ruby/object:Gem::Version
286
287
  version: 0.4.0
287
- name: rack-cors
288
- prerelease: false
289
288
  type: :runtime
289
+ prerelease: false
290
290
  version_requirements: !ruby/object:Gem::Requirement
291
291
  requirements:
292
292
  - - '='
293
293
  - !ruby/object:Gem::Version
294
294
  version: 0.4.0
295
295
  - !ruby/object:Gem::Dependency
296
+ name: rack-handlers
296
297
  requirement: !ruby/object:Gem::Requirement
297
298
  requirements:
298
299
  - - '='
299
300
  - !ruby/object:Gem::Version
300
301
  version: 0.7.0
301
- name: rack-handlers
302
- prerelease: false
303
302
  type: :runtime
303
+ prerelease: false
304
304
  version_requirements: !ruby/object:Gem::Requirement
305
305
  requirements:
306
306
  - - '='
307
307
  - !ruby/object:Gem::Version
308
308
  version: 0.7.0
309
309
  - !ruby/object:Gem::Dependency
310
+ name: sinatra
310
311
  requirement: !ruby/object:Gem::Requirement
311
312
  requirements:
312
313
  - - '='
313
314
  - !ruby/object:Gem::Version
314
315
  version: 1.4.6
315
- name: sinatra
316
- prerelease: false
317
316
  type: :runtime
317
+ prerelease: false
318
318
  version_requirements: !ruby/object:Gem::Requirement
319
319
  requirements:
320
320
  - - '='
321
321
  - !ruby/object:Gem::Version
322
322
  version: 1.4.6
323
323
  - !ruby/object:Gem::Dependency
324
+ name: sinatra-contrib
324
325
  requirement: !ruby/object:Gem::Requirement
325
326
  requirements:
326
327
  - - '='
327
328
  - !ruby/object:Gem::Version
328
329
  version: 1.4.6
329
- name: sinatra-contrib
330
- prerelease: false
331
330
  type: :runtime
331
+ prerelease: false
332
332
  version_requirements: !ruby/object:Gem::Requirement
333
333
  requirements:
334
334
  - - '='
335
335
  - !ruby/object:Gem::Version
336
336
  version: 1.4.6
337
337
  - !ruby/object:Gem::Dependency
338
+ name: jwt
338
339
  requirement: !ruby/object:Gem::Requirement
339
340
  requirements:
340
341
  - - '='
341
342
  - !ruby/object:Gem::Version
342
343
  version: 1.5.2
343
- name: jwt
344
- prerelease: false
345
344
  type: :runtime
345
+ prerelease: false
346
346
  version_requirements: !ruby/object:Gem::Requirement
347
347
  requirements:
348
348
  - - '='
@@ -351,8 +351,9 @@ dependencies:
351
351
  description: The OpenBEL API provides a RESTful API over HTTP to manage BEL knowledge.
352
352
  email: abargnesi@selventa.com
353
353
  executables:
354
- - openbel-config
355
354
  - openbel-api
355
+ - openbel-config
356
+ - setup-docker.sh
356
357
  extensions: []
357
358
  extra_rdoc_files: []
358
359
  files:
@@ -408,6 +409,7 @@ files:
408
409
  - app/openbel/api/version.rb
409
410
  - bin/openbel-api
410
411
  - bin/openbel-config
412
+ - bin/setup-docker.sh
411
413
  - config/config.yml
412
414
  - config/server_config.rb
413
415
  - lib/openbel/api/cache/cache.rb
@@ -428,11 +430,11 @@ files:
428
430
  - lib/openbel/api/plugin/plugin_repository.rb
429
431
  - lib/openbel/api/storage/cache_proxy.rb
430
432
  - lib/openbel/api/storage/triple_storage.rb
431
- homepage: https://github.com/OpenBEL/openbel-server
433
+ homepage: https://github.com/OpenBEL/openbel-api
432
434
  licenses:
433
435
  - Apache-2.0
434
436
  metadata: {}
435
- post_install_message:
437
+ post_install_message:
436
438
  rdoc_options: []
437
439
  require_paths:
438
440
  - app
@@ -448,9 +450,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
448
450
  - !ruby/object:Gem::Version
449
451
  version: '0'
450
452
  requirements: []
451
- rubyforge_project:
452
- rubygems_version: 2.6.4
453
- signing_key:
453
+ rubyforge_project:
454
+ rubygems_version: 2.4.6
455
+ signing_key:
454
456
  specification_version: 4
455
457
  summary: The OpenBEL API provided over RESTful HTTP endpoints.
456
458
  test_files: []