bel 0.3.3 → 0.4.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +53 -8
- data/bel.gemspec +10 -15
- data/bin/bel +63 -4
- data/bin/bel2rdf.rb +1 -1
- data/bin/bel_compare.rb +1 -1
- data/bin/bel_parse.rb +1 -1
- data/bin/bel_rdfschema.rb +1 -1
- data/bin/bel_summarize.rb +1 -1
- data/bin/bel_upgrade.rb +1 -1
- data/lib/bel.rb +8 -10
- data/lib/bel/completion.rb +3 -2
- data/lib/bel/completion/value_match_rule.rb +10 -0
- data/lib/bel/evidence_model/citation.rb +101 -43
- data/lib/bel/evidence_model/evidence.rb +2 -2
- data/lib/bel/evidence_model/experiment_context.rb +1 -0
- data/lib/bel/evidence_model/metadata.rb +15 -2
- data/lib/bel/evidence_model/references.rb +10 -10
- data/lib/bel/json.rb +63 -0
- data/lib/bel/json/adapter/multi_json.rb +36 -0
- data/lib/bel/json/adapter/oj.rb +65 -0
- data/lib/bel/json/adapter/ruby_json.rb +28 -0
- data/lib/bel/json/reader.rb +9 -0
- data/lib/bel/json/writer.rb +9 -0
- data/lib/bel/libbel.rb +1 -4
- data/lib/bel/parser.rb +2 -2
- data/lib/bel/rdf_repository.rb +18 -0
- data/lib/bel/rdf_repository/plugins/memory.rb +28 -0
- data/lib/bel/rdf_repository/plugins/mongo.rb +28 -0
- data/lib/bel/resource.rb +24 -0
- data/lib/bel/resource/namespace.rb +122 -0
- data/lib/bel/resource/namespace_value.rb +69 -0
- data/lib/bel/resource/namespaces.rb +83 -0
- data/lib/bel/resource/search.rb +26 -0
- data/lib/bel/resource/search/api.rb +36 -0
- data/lib/bel/resource/search/search_result.rb +32 -0
- data/lib/bel/translate.rb +108 -0
- data/lib/bel/translator.rb +69 -0
- data/lib/bel/translator/plugins/bel_script.rb +36 -0
- data/lib/bel/translator/plugins/bel_script/bel_yielder.rb +144 -0
- data/lib/bel/translator/plugins/bel_script/evidence_yielder.rb +95 -0
- data/lib/bel/translator/plugins/bel_script/translator.rb +24 -0
- data/lib/bel/translator/plugins/jgf.rb +37 -0
- data/lib/bel/translator/plugins/jgf/translator.rb +160 -0
- data/lib/bel/translator/plugins/json_evidence.rb +38 -0
- data/lib/bel/translator/plugins/json_evidence/translator.rb +90 -0
- data/lib/bel/translator/plugins/rdf.rb +48 -0
- data/lib/bel/translator/plugins/rdf/bel_schema.rb +339 -0
- data/lib/bel/translator/plugins/rdf/monkey_patch.rb +310 -0
- data/lib/bel/translator/plugins/rdf/reader.rb +173 -0
- data/lib/bel/translator/plugins/rdf/translator.rb +40 -0
- data/lib/bel/translator/plugins/rdf/writer.rb +45 -0
- data/lib/bel/translator/plugins/xbel.rb +36 -0
- data/lib/bel/translator/plugins/xbel/evidence_handler.rb +468 -0
- data/lib/bel/translator/plugins/xbel/evidence_yielder.rb +24 -0
- data/lib/bel/translator/plugins/xbel/translator.rb +24 -0
- data/lib/bel/translator/plugins/xbel/xbel_yielder.rb +414 -0
- data/lib/bel/vendor/little-plugger.rb +323 -0
- data/lib/bel/version.rb +1 -1
- metadata +44 -158
- data/lib/bel/extension.rb +0 -37
- data/lib/bel/extension_format.rb +0 -207
- data/lib/bel/extensions/bel.rb +0 -258
- data/lib/bel/extensions/jgf.rb +0 -219
- data/lib/bel/extensions/json/jrjackson.rb +0 -31
- data/lib/bel/extensions/json/json.rb +0 -133
- data/lib/bel/extensions/json/multi_json.rb +0 -29
- data/lib/bel/extensions/json/oj.rb +0 -68
- data/lib/bel/extensions/json/ruby_json.rb +0 -29
- data/lib/bel/extensions/rdf/bel_rdf.rb +0 -338
- data/lib/bel/extensions/rdf/rdf.rb +0 -584
- data/lib/bel/extensions/xbel.rb +0 -923
- data/lib/bel/format.rb +0 -58
@@ -0,0 +1,323 @@
|
|
1
|
+
|
2
|
+
# == Synopsis
|
3
|
+
# LittlePlugger is a module that provides Gem based plugin management.
|
4
|
+
# By extending your own class or module with LittlePlugger you can easily
|
5
|
+
# manage the loading and initializing of plugins provided by other gems.
|
6
|
+
#
|
7
|
+
# == Details
|
8
|
+
# Plugins are great! They allow other developers to add functionality to
|
9
|
+
# an application but relieve the application developer of the responsibility
|
10
|
+
# for mainting some other developer's plugin code. LittlePlugger aims to
|
11
|
+
# make it dead simple to manage external plugins as gems.
|
12
|
+
#
|
13
|
+
# === Naming
|
14
|
+
# Every plugin managed by LittlePlugger will have a name represented as a
|
15
|
+
# Symbol. This name is used to register the plugin, load the plugin file,
|
16
|
+
# and manage the plugin class/module. Here are the three rules for plugin
|
17
|
+
# names:
|
18
|
+
#
|
19
|
+
# 1) all lowercase with underscores
|
20
|
+
# 2) maps to a file of the same name with an '.rb' extension
|
21
|
+
# 3) converting the name to camel case yields the plugin class / module
|
22
|
+
#
|
23
|
+
# These rules are essentially the standard ruby practice of naming files
|
24
|
+
# after the class / module the file defines.
|
25
|
+
#
|
26
|
+
# === Finding & Loading
|
27
|
+
# Plugins are found by searching through the lib folders of all installed
|
28
|
+
# gems; these gems are not necessarily loaded - just searched. If the lib
|
29
|
+
# folder has a subdirectory that matches the +plugin_path+, then all ruby
|
30
|
+
# files in the gem's +plugin_path+ are noted for later loading.
|
31
|
+
#
|
32
|
+
# A file is only loaded if the basename of the file matches one of the
|
33
|
+
# registered plugin names. If no plugins are registered, then every file in
|
34
|
+
# the +plugin_path+ is loaded.
|
35
|
+
#
|
36
|
+
# The plugin classes / modules are all expected to live in the same
|
37
|
+
# namespace for a particular application. For example, all plugins for the
|
38
|
+
# "Foo" application should reside in a "Foo::Plugins" namespace. This allows
|
39
|
+
# the plugins to be automatically initialized by LittlePlugger.
|
40
|
+
#
|
41
|
+
# === Initializing
|
42
|
+
# Optionally, plugins can provide an initialization method for running any
|
43
|
+
# setup code needed by the plugin. This initialize method should be named as
|
44
|
+
# follows: "initializer_#{plugin_name}" where the name of the plugin is
|
45
|
+
# appended to the end of the initializer method name.
|
46
|
+
#
|
47
|
+
# If this method exists, it will be called automatically when plugins are
|
48
|
+
# loaded. The order of loading of initialization is not strictly defined, so
|
49
|
+
# do not rely on another plugin being initialized for your own plugin
|
50
|
+
# successfully initialize.
|
51
|
+
#
|
52
|
+
# == Usage
|
53
|
+
# LittlePlugger is used by extending your own class or module with the
|
54
|
+
# LittlePlugger module.
|
55
|
+
#
|
56
|
+
# module Logging
|
57
|
+
# extend LittlePlugger
|
58
|
+
# end
|
59
|
+
#
|
60
|
+
# This defines a +plugin_path+ and a +plugin_module+ for our Logging module.
|
61
|
+
# The +plugin_path+ is set to "logging/plugins", and therefore, the
|
62
|
+
# +plugin_modlue+ is defined as Logging::Plugins. All plugins for the
|
63
|
+
# Logging module should be found underneath this plugin module.
|
64
|
+
#
|
65
|
+
# The plugins for the Logging module are loaded and initialized by calling
|
66
|
+
# the +initialize_plugins+ method.
|
67
|
+
#
|
68
|
+
# Logging.initialize_plugins
|
69
|
+
#
|
70
|
+
# If you only want to load the plugin files but not initialize the plugin
|
71
|
+
# classes / modules then you can call the +load_plugins+ method.
|
72
|
+
#
|
73
|
+
# Logging.load_plugins
|
74
|
+
#
|
75
|
+
# Finally, you can get a hash of all the loaded plugins.
|
76
|
+
#
|
77
|
+
# Logging.plugins
|
78
|
+
#
|
79
|
+
# This returns a hash keyed by the plugin names with the plugin class /
|
80
|
+
# module as the value.
|
81
|
+
#
|
82
|
+
# If you only want a certain set of plugins to be loaded, then pass the
|
83
|
+
# names to the +plugin+ method.
|
84
|
+
#
|
85
|
+
# Logging.plugin :foo, :bar, :baz
|
86
|
+
#
|
87
|
+
# Now only three plugins for the Logging module will be loaded.
|
88
|
+
#
|
89
|
+
# === Customizing
|
90
|
+
# LittlePlugger allows the use of a custom plugin path and module. These are
|
91
|
+
# specified when extending with LilttlePlugger by passing the specific path
|
92
|
+
# and module to LittlePlugger.
|
93
|
+
#
|
94
|
+
# class Hoe
|
95
|
+
# extend LittlePlugger( :path => 'hoe', :module => Hoe )
|
96
|
+
#
|
97
|
+
# plugin(
|
98
|
+
# :clean, :debug, :deps, :flay, :flog, :package,
|
99
|
+
# :publish, :rcov, :signing, :test
|
100
|
+
# )
|
101
|
+
# end
|
102
|
+
#
|
103
|
+
# All ruby files found under the "hoe" directory will be treated as
|
104
|
+
# plugins, and the plugin classes / modules should reside directly under the
|
105
|
+
# Hoe namespace.
|
106
|
+
#
|
107
|
+
# We also specify a list of plugins to be loaded. Only these plugins will be
|
108
|
+
# loaded and initialized by the LittlePlugger module. The +plugin+ method
|
109
|
+
# can be called multiple times to add more plugins.
|
110
|
+
#
|
111
|
+
module LittlePlugger
|
112
|
+
|
113
|
+
VERSION = '1.1.4' # :nodoc:
|
114
|
+
|
115
|
+
# Returns the version string for the library.
|
116
|
+
#
|
117
|
+
def self.version
|
118
|
+
VERSION
|
119
|
+
end
|
120
|
+
|
121
|
+
module ClassMethods
|
122
|
+
|
123
|
+
# Add the _names_ to the list of plugins that will be loaded.
|
124
|
+
#
|
125
|
+
def plugin( *names )
|
126
|
+
plugin_names.concat(names.map! {|n| n.to_sym})
|
127
|
+
end
|
128
|
+
|
129
|
+
# Add the _names_ to the list of plugins that will *not* be loaded. This
|
130
|
+
# list prevents the plugin system from loading unwanted or unneeded
|
131
|
+
# plugins.
|
132
|
+
#
|
133
|
+
# If a plugin name appears in both the 'disregard_plugin' list and the
|
134
|
+
# 'plugin' list, the disregard list takes precedence; that is, the plugin
|
135
|
+
# will not be loaded.
|
136
|
+
#
|
137
|
+
def disregard_plugin( *names )
|
138
|
+
@disregard_plugin ||= []
|
139
|
+
@disregard_plugin.concat(names.map! {|n| n.to_sym})
|
140
|
+
@disregard_plugin
|
141
|
+
end
|
142
|
+
alias :disregard_plugins :disregard_plugin
|
143
|
+
|
144
|
+
# Returns the array of plugin names that will be loaded. If the array is
|
145
|
+
# empty, then any plugin found in the +plugin_path+ will be loaded.
|
146
|
+
#
|
147
|
+
def plugin_names
|
148
|
+
@plugin_names ||= []
|
149
|
+
end
|
150
|
+
|
151
|
+
# Loads the desired plugins and returns a hash. The hash contains all
|
152
|
+
# the plugin classes and modules keyed by the plugin name.
|
153
|
+
#
|
154
|
+
def plugins
|
155
|
+
load_plugins
|
156
|
+
pm = plugin_module
|
157
|
+
names = pm.constants.map { |s| s.to_s }
|
158
|
+
names.reject! { |n| n =~ %r/^[A-Z_]+$/ }
|
159
|
+
|
160
|
+
h = {}
|
161
|
+
names.each do |name|
|
162
|
+
sym = ::LittlePlugger.underscore(name).to_sym
|
163
|
+
next unless plugin_names.empty? or plugin_names.include? sym
|
164
|
+
next if disregard_plugins.include? sym
|
165
|
+
h[sym] = pm.const_get name
|
166
|
+
end
|
167
|
+
h
|
168
|
+
end
|
169
|
+
|
170
|
+
# Iterate over the loaded plugin classes and modules and call the
|
171
|
+
# initialize method for each plugin. The plugin's initialize method is
|
172
|
+
# defeind as +initialize_plugin_name+, where the plugin name is unique
|
173
|
+
# to each plugin.
|
174
|
+
#
|
175
|
+
def initialize_plugins
|
176
|
+
plugins.each do |name, klass|
|
177
|
+
msg = "initialize_#{name}"
|
178
|
+
klass.send msg if klass.respond_to? msg
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
# Iterate through all installed gems looking for those that have the
|
183
|
+
# +plugin_path+ in their "lib" folder, and load all .rb files found in
|
184
|
+
# the gem's plugin path. Each .rb file should define one class or module
|
185
|
+
# that will be used as a plugin.
|
186
|
+
#
|
187
|
+
def load_plugins
|
188
|
+
@loaded ||= {}
|
189
|
+
found = {}
|
190
|
+
|
191
|
+
Gem.find_files(File.join(plugin_path, '*.rb')).sort!.reverse_each do |path|
|
192
|
+
name = File.basename(path, '.rb').to_sym
|
193
|
+
found[name] = path unless found.key? name
|
194
|
+
end
|
195
|
+
|
196
|
+
:keep_on_truckin while found.map { |name, path|
|
197
|
+
next unless plugin_names.empty? or plugin_names.include? name
|
198
|
+
next if disregard_plugins.include? name
|
199
|
+
next if @loaded[name]
|
200
|
+
begin
|
201
|
+
@loaded[name] = load path
|
202
|
+
rescue ScriptError, StandardError => err
|
203
|
+
warn "Error loading #{path.inspect}: #{err.message}. skipping..."
|
204
|
+
end
|
205
|
+
}.any?
|
206
|
+
end
|
207
|
+
|
208
|
+
# The path to search in a gem's 'lib' folder for plugins.
|
209
|
+
#
|
210
|
+
def plugin_path
|
211
|
+
::LittlePlugger.default_plugin_path(self)
|
212
|
+
end
|
213
|
+
|
214
|
+
# This module or class where plugins are located.
|
215
|
+
#
|
216
|
+
def plugin_module
|
217
|
+
::LittlePlugger.default_plugin_module(plugin_path)
|
218
|
+
end
|
219
|
+
|
220
|
+
end # module ClassMethods
|
221
|
+
|
222
|
+
# :stopdoc:
|
223
|
+
|
224
|
+
# Called when another object extends itself with LittlePlugger.
|
225
|
+
#
|
226
|
+
def self.extended( other )
|
227
|
+
other.extend ClassMethods
|
228
|
+
end
|
229
|
+
|
230
|
+
# Convert the given string from camel case to snake case. Method liberally
|
231
|
+
# stolen from ActiveSupport.
|
232
|
+
#
|
233
|
+
# underscore( "FooBar" ) #=> "foo_bar"
|
234
|
+
#
|
235
|
+
def self.underscore( string )
|
236
|
+
string.to_s.
|
237
|
+
gsub(%r/::/, '/').
|
238
|
+
gsub(%r/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
239
|
+
gsub(%r/([a-z\d])([A-Z])/,'\1_\2').
|
240
|
+
tr('-', '_').
|
241
|
+
downcase
|
242
|
+
end
|
243
|
+
|
244
|
+
# For a given object returns a default plugin path. The path is
|
245
|
+
# created by splitting the object's class name on the namespace separator
|
246
|
+
# "::" and converting each part of the namespace into an underscored
|
247
|
+
# string (see the +underscore+ method). The strings are then joined using
|
248
|
+
# the File#join method to give a filesystem path. Appended to this path is
|
249
|
+
# the 'plugins' directory.
|
250
|
+
#
|
251
|
+
# default_plugin_path( FooBar::Baz ) #=> "foo_bar/baz/plugins"
|
252
|
+
#
|
253
|
+
def self.default_plugin_path( obj )
|
254
|
+
obj = obj.class unless obj.is_a? Module
|
255
|
+
File.join(underscore(obj.name), 'plugins')
|
256
|
+
end
|
257
|
+
|
258
|
+
# For a given path returns the class or module corresponding to the
|
259
|
+
# path. This method assumes a correspondence between directory names and
|
260
|
+
# Ruby namespaces.
|
261
|
+
#
|
262
|
+
# default_plugin_module( "foo_bar/baz/plugins" ) #=> FooBar::Baz::Plugins
|
263
|
+
#
|
264
|
+
# This method will fail if any of the namespaces have not yet been
|
265
|
+
# defined.
|
266
|
+
#
|
267
|
+
def self.default_plugin_module( path )
|
268
|
+
path.split(File::SEPARATOR).inject(Object) do |mod, const|
|
269
|
+
const = const.split('_').map { |s| s.capitalize }.join
|
270
|
+
mod.const_get const
|
271
|
+
end
|
272
|
+
end
|
273
|
+
# :startdoc:
|
274
|
+
|
275
|
+
end # module LittlePlugger
|
276
|
+
|
277
|
+
|
278
|
+
module Kernel
|
279
|
+
|
280
|
+
# call-seq:
|
281
|
+
# LittlePlugger( opts = {} )
|
282
|
+
#
|
283
|
+
# This method allows the user to override some of LittlePlugger's default
|
284
|
+
# settings when mixed into a module or class.
|
285
|
+
#
|
286
|
+
# See the "Customizing" section of the LittlePlugger documentation for an
|
287
|
+
# example of how this method is used.
|
288
|
+
#
|
289
|
+
# ==== Options
|
290
|
+
#
|
291
|
+
# * :path <String>
|
292
|
+
# The default plugin path. Defaults to "module_name/plugins".
|
293
|
+
#
|
294
|
+
# * :module <Module>
|
295
|
+
# The module where plugins will be loaded. Defaults to
|
296
|
+
# ModuleName::Plugins.
|
297
|
+
#
|
298
|
+
# * :plugins <Array>
|
299
|
+
# The array of default plugins to load. Only the plugins listed in this
|
300
|
+
# array will be loaded by LittlePlugger.
|
301
|
+
#
|
302
|
+
def LittlePlugger( opts = {} )
|
303
|
+
return ::LittlePlugger::ClassMethods if opts.empty?
|
304
|
+
Module.new {
|
305
|
+
include ::LittlePlugger::ClassMethods
|
306
|
+
|
307
|
+
if opts.key?(:path)
|
308
|
+
eval %Q{def plugin_path() #{opts[:path].to_s.inspect} end}
|
309
|
+
end
|
310
|
+
|
311
|
+
if opts.key?(:module)
|
312
|
+
eval %Q{def plugin_module() #{opts[:module].name} end}
|
313
|
+
end
|
314
|
+
|
315
|
+
if opts.key?(:plugins)
|
316
|
+
plugins = Array(opts[:plugins]).map {|val| val.to_sym.inspect}.join(',')
|
317
|
+
eval %Q{def plugin_names() @plugin_names ||= [#{plugins}] end}
|
318
|
+
end
|
319
|
+
}
|
320
|
+
end
|
321
|
+
end # module Kernel
|
322
|
+
|
323
|
+
# EOF
|
data/lib/bel/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Bargnesi
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2015-
|
14
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: ffi
|
@@ -27,146 +27,6 @@ dependencies:
|
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 1.9.8
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: addressable
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
requirements:
|
34
|
-
- - "~>"
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '2.3'
|
37
|
-
type: :development
|
38
|
-
prerelease: false
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - "~>"
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: '2.3'
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: rdf
|
46
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
-
requirements:
|
48
|
-
- - "~>"
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '1.1'
|
51
|
-
type: :development
|
52
|
-
prerelease: false
|
53
|
-
version_requirements: !ruby/object:Gem::Requirement
|
54
|
-
requirements:
|
55
|
-
- - "~>"
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '1.1'
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: rdf-turtle
|
60
|
-
requirement: !ruby/object:Gem::Requirement
|
61
|
-
requirements:
|
62
|
-
- - "~>"
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '1.1'
|
65
|
-
type: :development
|
66
|
-
prerelease: false
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
69
|
-
- - "~>"
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '1.1'
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: uuid
|
74
|
-
requirement: !ruby/object:Gem::Requirement
|
75
|
-
requirements:
|
76
|
-
- - "~>"
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: '2.3'
|
79
|
-
type: :development
|
80
|
-
prerelease: false
|
81
|
-
version_requirements: !ruby/object:Gem::Requirement
|
82
|
-
requirements:
|
83
|
-
- - "~>"
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '2.3'
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: minitest
|
88
|
-
requirement: !ruby/object:Gem::Requirement
|
89
|
-
requirements:
|
90
|
-
- - "~>"
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: '5.7'
|
93
|
-
type: :development
|
94
|
-
prerelease: false
|
95
|
-
version_requirements: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '5.7'
|
100
|
-
- !ruby/object:Gem::Dependency
|
101
|
-
name: rake
|
102
|
-
requirement: !ruby/object:Gem::Requirement
|
103
|
-
requirements:
|
104
|
-
- - "~>"
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: '10.4'
|
107
|
-
type: :development
|
108
|
-
prerelease: false
|
109
|
-
version_requirements: !ruby/object:Gem::Requirement
|
110
|
-
requirements:
|
111
|
-
- - "~>"
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version: '10.4'
|
114
|
-
- !ruby/object:Gem::Dependency
|
115
|
-
name: rake-compiler
|
116
|
-
requirement: !ruby/object:Gem::Requirement
|
117
|
-
requirements:
|
118
|
-
- - "~>"
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: '0.9'
|
121
|
-
type: :development
|
122
|
-
prerelease: false
|
123
|
-
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
requirements:
|
125
|
-
- - "~>"
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
version: '0.9'
|
128
|
-
- !ruby/object:Gem::Dependency
|
129
|
-
name: rdoc
|
130
|
-
requirement: !ruby/object:Gem::Requirement
|
131
|
-
requirements:
|
132
|
-
- - "~>"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '4.2'
|
135
|
-
type: :development
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
requirements:
|
139
|
-
- - "~>"
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '4.2'
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: rspec
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
requirements:
|
146
|
-
- - "~>"
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
version: '3.2'
|
149
|
-
type: :development
|
150
|
-
prerelease: false
|
151
|
-
version_requirements: !ruby/object:Gem::Requirement
|
152
|
-
requirements:
|
153
|
-
- - "~>"
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version: '3.2'
|
156
|
-
- !ruby/object:Gem::Dependency
|
157
|
-
name: yard
|
158
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
-
requirements:
|
160
|
-
- - "~>"
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
version: '0.8'
|
163
|
-
type: :development
|
164
|
-
prerelease: false
|
165
|
-
version_requirements: !ruby/object:Gem::Requirement
|
166
|
-
requirements:
|
167
|
-
- - "~>"
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: '0.8'
|
170
30
|
description: " The BEL gem allows the reading, writing, and processing of BEL (Biological
|
171
31
|
Expression Language) with a natural DSL. "
|
172
32
|
email:
|
@@ -215,6 +75,7 @@ files:
|
|
215
75
|
- ext/mri/libbel.def
|
216
76
|
- lib/bel.rb
|
217
77
|
- lib/bel/completion.rb
|
78
|
+
- lib/bel/completion/value_match_rule.rb
|
218
79
|
- lib/bel/completion_rule.rb
|
219
80
|
- lib/bel/evidence_model.rb
|
220
81
|
- lib/bel/evidence_model/bel_parameter.rb
|
@@ -226,19 +87,12 @@ files:
|
|
226
87
|
- lib/bel/evidence_model/metadata.rb
|
227
88
|
- lib/bel/evidence_model/references.rb
|
228
89
|
- lib/bel/evidence_model/summary_text.rb
|
229
|
-
- lib/bel/
|
230
|
-
- lib/bel/
|
231
|
-
- lib/bel/
|
232
|
-
- lib/bel/
|
233
|
-
- lib/bel/
|
234
|
-
- lib/bel/
|
235
|
-
- lib/bel/extensions/json/multi_json.rb
|
236
|
-
- lib/bel/extensions/json/oj.rb
|
237
|
-
- lib/bel/extensions/json/ruby_json.rb
|
238
|
-
- lib/bel/extensions/rdf/bel_rdf.rb
|
239
|
-
- lib/bel/extensions/rdf/rdf.rb
|
240
|
-
- lib/bel/extensions/xbel.rb
|
241
|
-
- lib/bel/format.rb
|
90
|
+
- lib/bel/json.rb
|
91
|
+
- lib/bel/json/adapter/multi_json.rb
|
92
|
+
- lib/bel/json/adapter/oj.rb
|
93
|
+
- lib/bel/json/adapter/ruby_json.rb
|
94
|
+
- lib/bel/json/reader.rb
|
95
|
+
- lib/bel/json/writer.rb
|
242
96
|
- lib/bel/language.rb
|
243
97
|
- lib/bel/libbel.rb
|
244
98
|
- lib/bel/libbel/bel_ast_structs.rb
|
@@ -269,8 +123,40 @@ files:
|
|
269
123
|
- lib/bel/nonblocking_io_wrapper.rb
|
270
124
|
- lib/bel/parser.rb
|
271
125
|
- lib/bel/quoting.rb
|
126
|
+
- lib/bel/rdf_repository.rb
|
127
|
+
- lib/bel/rdf_repository/plugins/memory.rb
|
128
|
+
- lib/bel/rdf_repository/plugins/mongo.rb
|
129
|
+
- lib/bel/resource.rb
|
130
|
+
- lib/bel/resource/namespace.rb
|
131
|
+
- lib/bel/resource/namespace_value.rb
|
132
|
+
- lib/bel/resource/namespaces.rb
|
133
|
+
- lib/bel/resource/search.rb
|
134
|
+
- lib/bel/resource/search/api.rb
|
135
|
+
- lib/bel/resource/search/search_result.rb
|
272
136
|
- lib/bel/script.rb
|
137
|
+
- lib/bel/translate.rb
|
138
|
+
- lib/bel/translator.rb
|
139
|
+
- lib/bel/translator/plugins/bel_script.rb
|
140
|
+
- lib/bel/translator/plugins/bel_script/bel_yielder.rb
|
141
|
+
- lib/bel/translator/plugins/bel_script/evidence_yielder.rb
|
142
|
+
- lib/bel/translator/plugins/bel_script/translator.rb
|
143
|
+
- lib/bel/translator/plugins/jgf.rb
|
144
|
+
- lib/bel/translator/plugins/jgf/translator.rb
|
145
|
+
- lib/bel/translator/plugins/json_evidence.rb
|
146
|
+
- lib/bel/translator/plugins/json_evidence/translator.rb
|
147
|
+
- lib/bel/translator/plugins/rdf.rb
|
148
|
+
- lib/bel/translator/plugins/rdf/bel_schema.rb
|
149
|
+
- lib/bel/translator/plugins/rdf/monkey_patch.rb
|
150
|
+
- lib/bel/translator/plugins/rdf/reader.rb
|
151
|
+
- lib/bel/translator/plugins/rdf/translator.rb
|
152
|
+
- lib/bel/translator/plugins/rdf/writer.rb
|
153
|
+
- lib/bel/translator/plugins/xbel.rb
|
154
|
+
- lib/bel/translator/plugins/xbel/evidence_handler.rb
|
155
|
+
- lib/bel/translator/plugins/xbel/evidence_yielder.rb
|
156
|
+
- lib/bel/translator/plugins/xbel/translator.rb
|
157
|
+
- lib/bel/translator/plugins/xbel/xbel_yielder.rb
|
273
158
|
- lib/bel/util.rb
|
159
|
+
- lib/bel/vendor/little-plugger.rb
|
274
160
|
- lib/bel/vendor/trollop.rb
|
275
161
|
- lib/bel/version.rb
|
276
162
|
homepage: https://github.com/OpenBEL/bel.rb
|
@@ -307,12 +193,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
307
193
|
version: 2.0.0
|
308
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
309
195
|
requirements:
|
310
|
-
- - "
|
196
|
+
- - ">"
|
311
197
|
- !ruby/object:Gem::Version
|
312
|
-
version:
|
198
|
+
version: 1.3.1
|
313
199
|
requirements: []
|
314
200
|
rubyforge_project:
|
315
|
-
rubygems_version: 2.4.5
|
201
|
+
rubygems_version: 2.4.5.1
|
316
202
|
signing_key:
|
317
203
|
specification_version: 4
|
318
204
|
summary: Process BEL with ruby.
|