intermine 0.98.04 → 0.98.05
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/intermine/query.rb +17 -0
- data/lib/intermine/results.rb +1 -1
- data/lib/intermine/service.rb +6 -0
- data/lib/intermine/version.rb +1 -1
- data/test/live_test.rb +22 -1
- metadata +3 -3
data/lib/intermine/query.rb
CHANGED
@@ -356,6 +356,17 @@ module InterMine::PathQuery
|
|
356
356
|
return doc
|
357
357
|
end
|
358
358
|
|
359
|
+
# Return true if the other query has exactly
|
360
|
+
# the same configuration, and belongs to the same
|
361
|
+
# service.
|
362
|
+
def eql?(other)
|
363
|
+
if other.is_a? Query
|
364
|
+
return self.service == other.service && self.to_xml_to_s == other.to_xml.to_s
|
365
|
+
else
|
366
|
+
return false
|
367
|
+
end
|
368
|
+
end
|
369
|
+
|
359
370
|
# Get your own result reader for handling the results at a low level.
|
360
371
|
# If no columns have been selected for output before requesting results,
|
361
372
|
# all attribute columns will be selected.
|
@@ -498,11 +509,16 @@ module InterMine::PathQuery
|
|
498
509
|
# Any columns ending in "*" will be interpreted as a request to add
|
499
510
|
# all attribute columns from that table to the query
|
500
511
|
#
|
512
|
+
# Any columns that name a class or reference will add the id of that
|
513
|
+
# object to the query. This is helpful for creating lists and other
|
514
|
+
# specialist services.
|
515
|
+
#
|
501
516
|
# query = service.query("Gene")
|
502
517
|
# query.add_views("*")
|
503
518
|
# query.add_to_select("*")
|
504
519
|
# query.add_views("proteins.*")
|
505
520
|
# query.add_views("pathways.*", "organism.shortName")
|
521
|
+
# query.add_views("proteins", "exons")
|
506
522
|
#
|
507
523
|
def add_views(*views)
|
508
524
|
views.flatten.map do |x|
|
@@ -514,6 +530,7 @@ module InterMine::PathQuery
|
|
514
530
|
add_views(attrs)
|
515
531
|
else
|
516
532
|
path = InterMine::Metadata::Path.new(y, @model, subclasses)
|
533
|
+
path = InterMine::Metadata::Path.new(y.to_s + ".id", @model, subclasses) unless path.is_attribute?
|
517
534
|
if @root.nil?
|
518
535
|
@root = path.rootClass
|
519
536
|
end
|
data/lib/intermine/results.rb
CHANGED
@@ -333,7 +333,7 @@ module InterMine::Results
|
|
333
333
|
|
334
334
|
|
335
335
|
# Get the parameters for this request, given the specified format.
|
336
|
-
def params(format)
|
336
|
+
def params(format="tab")
|
337
337
|
p = @query.params.merge("start" => @start, "format" => format)
|
338
338
|
p["size"] = @size unless @size.nil?
|
339
339
|
return p
|
data/lib/intermine/service.rb
CHANGED
@@ -92,6 +92,7 @@ module InterMine
|
|
92
92
|
extend Forwardable
|
93
93
|
|
94
94
|
VERSION_PATH = "/version"
|
95
|
+
RELEASE_PATH = "/version/release"
|
95
96
|
MODEL_PATH = "/model/json"
|
96
97
|
TEMPLATES_PATH = "/templates"
|
97
98
|
QUERY_RESULTS_PATH = "/query/results"
|
@@ -162,6 +163,11 @@ module InterMine
|
|
162
163
|
@list_manager = InterMine::Lists::ListManager.new(self)
|
163
164
|
end
|
164
165
|
|
166
|
+
# Return the release string
|
167
|
+
def release
|
168
|
+
return @release ||= fetch(@root + RELEASE_PATH)
|
169
|
+
end
|
170
|
+
|
165
171
|
# call-seq:
|
166
172
|
# model() => Model
|
167
173
|
#
|
data/lib/intermine/version.rb
CHANGED
data/test/live_test.rb
CHANGED
@@ -3,7 +3,28 @@ require File.dirname(__FILE__) + "/test_helper.rb"
|
|
3
3
|
require "test/unit"
|
4
4
|
require "intermine/service"
|
5
5
|
|
6
|
-
class
|
6
|
+
class LiveDemoTest < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@service = Service.new("http://localhost:8080/intermine-test")
|
10
|
+
end
|
11
|
+
|
12
|
+
def testVersion
|
13
|
+
assert(@service.version >= 6)
|
14
|
+
end
|
15
|
+
|
16
|
+
def testRelease
|
17
|
+
assert_match(/test/i, @service.release)
|
18
|
+
end
|
19
|
+
|
20
|
+
def testCount
|
21
|
+
assert_equal(7, @service.query("Company").count)
|
22
|
+
assert_equal(3, @service.query("Department").where(:name => "Sales").count)
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
class LiveFlyMineTest < Test::Unit::TestCase
|
7
28
|
|
8
29
|
def setup
|
9
30
|
@service = Service.new("www.flymine.org/query")
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: intermine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 413
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 98
|
9
|
-
-
|
10
|
-
version: 0.98.
|
9
|
+
- 5
|
10
|
+
version: 0.98.05
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alex Kalderimis
|