rbbt-rest 1.8.147 → 1.8.151
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 +4 -4
- data/LICENSE +1 -1
- data/Rakefile +1 -0
- data/lib/rbbt/rest/common/cache.rb +14 -5
- data/lib/rbbt/rest/common/table.rb +11 -1
- data/lib/rbbt/rest/helpers.rb +4 -0
- data/lib/rbbt/rest/workflow/jobs.rb +2 -2
- data/share/views/compass/app.sass +1 -1
- data/share/views/public/js/rbbt/table.js +0 -1
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cd9278f880225799697df0bc7599a97d5463942604f3c6947e65c5450495e2ad
|
|
4
|
+
data.tar.gz: 3441f94e0dc3cbced78e4572d4d743d047d0be1dcd0728c5ebbf8c7bb0b8d74c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d8f1453f376b923caf6b7868462f877246614b9f051da579b55429d21ad2f2ad66ce7ad6bf99ee83dcfb20160611b983e7a6e02c477ba4501b4e0e5c112ec3b4
|
|
7
|
+
data.tar.gz: ac6c5d333a5f6b5cd41c78c014b8166d4c9f38b88297b40e89b66243bcadea5ba2896d639e5efb792b84e6562931af22498c384d14b938c36c878ad50d750f3a
|
data/LICENSE
CHANGED
data/Rakefile
CHANGED
|
@@ -21,6 +21,7 @@ begin
|
|
|
21
21
|
gem.add_dependency('json')
|
|
22
22
|
gem.add_dependency('haml')
|
|
23
23
|
gem.add_dependency('rest-client')
|
|
24
|
+
gem.add_dependency('therubyracer')
|
|
24
25
|
gem.add_dependency('sinatra-authorization')
|
|
25
26
|
gem.add_dependency('sinatra-cross_origin')
|
|
26
27
|
gem.add_dependency('sinatra-contrib')
|
|
@@ -4,6 +4,17 @@ require 'rbbt/rest/common/table'
|
|
|
4
4
|
|
|
5
5
|
module RbbtRESTHelpers
|
|
6
6
|
|
|
7
|
+
def escape_url(url)
|
|
8
|
+
base, _sep, query = url.partition("?")
|
|
9
|
+
base = base.split("/").collect{|p| CGI.escape(p) }* "/"
|
|
10
|
+
if query && ! query.empty?
|
|
11
|
+
query = query.split("&").collect{|e| e.split("=").collect{|pe| CGI.escape(pe) } * "=" } * "&"
|
|
12
|
+
[base, query] * "?"
|
|
13
|
+
else
|
|
14
|
+
base
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
7
18
|
MEMORY_CACHE = {}
|
|
8
19
|
|
|
9
20
|
def old_cache(path, check)
|
|
@@ -164,15 +175,13 @@ module RbbtRESTHelpers
|
|
|
164
175
|
list_id = "List of #{type} in table #{ @fragment }"
|
|
165
176
|
list_id << " (#{ @filter })" if @filter
|
|
166
177
|
Entity::List.save_list(type.to_s, list_id, list, user)
|
|
167
|
-
|
|
168
|
-
url = Entity::REST.entity_list_url(list_id, type)
|
|
178
|
+
url = Entity::REST.entity_list_url(list_id, type)
|
|
169
179
|
url = url + '?_layout=false' unless @layout
|
|
170
|
-
url =
|
|
180
|
+
url = escape_url(url)
|
|
171
181
|
redirect to(url)
|
|
172
182
|
when "map"
|
|
173
183
|
raw_tsv, tsv_options = load_tsv(fragment_file)
|
|
174
184
|
raw_tsv.unnamed = true
|
|
175
|
-
Log.tsv raw_tsv
|
|
176
185
|
tsv = tsv_process(raw_tsv)
|
|
177
186
|
|
|
178
187
|
field = tsv.key_field
|
|
@@ -189,7 +198,7 @@ module RbbtRESTHelpers
|
|
|
189
198
|
Entity::Map.save_map(type.to_s, column, map_id, tsv, user)
|
|
190
199
|
url = Entity::REST.entity_map_url(map_id, type, column)
|
|
191
200
|
url = url + '?_layout=false' unless @layout
|
|
192
|
-
url =
|
|
201
|
+
url = escape_url(url)
|
|
193
202
|
redirect to(url)
|
|
194
203
|
when "excel"
|
|
195
204
|
require 'rbbt/tsv/excel'
|
|
@@ -98,6 +98,8 @@ P-values
|
|
|
98
98
|
P.values
|
|
99
99
|
score
|
|
100
100
|
scores
|
|
101
|
+
weight
|
|
102
|
+
weights
|
|
101
103
|
ratio
|
|
102
104
|
ratios
|
|
103
105
|
t.value
|
|
@@ -113,7 +115,7 @@ size
|
|
|
113
115
|
Matches
|
|
114
116
|
Quality
|
|
115
117
|
EOF
|
|
116
|
-
).split("\n")
|
|
118
|
+
).split("\n").collect{|v| [v, v.upcase, v.downcase, Misc.humanize(v)] }.flatten
|
|
117
119
|
|
|
118
120
|
def invalid?
|
|
119
121
|
self == "NA" or self == "NaN"
|
|
@@ -326,6 +328,14 @@ module RbbtRESTHelpers
|
|
|
326
328
|
end
|
|
327
329
|
|
|
328
330
|
res = case options[:span]
|
|
331
|
+
when 'semicolon'
|
|
332
|
+
if Array === value
|
|
333
|
+
value.collect do |val|
|
|
334
|
+
val.split(";").collect{|v| "<span class='table_value'>#{v.to_s}</span>" } * ";"
|
|
335
|
+
end * ", "
|
|
336
|
+
else
|
|
337
|
+
value.split(";").collect{|v| "<span class='table_value'>#{v.to_s}</span>" } * ";"
|
|
338
|
+
end
|
|
329
339
|
when true, "true", :true
|
|
330
340
|
Array === value ? value.collect{|v| "<span class='table_value'>#{v.to_s}</span>"} * ", " : "<span class='table_value'>#{value}</span>"
|
|
331
341
|
when :long, "long"
|
data/lib/rbbt/rest/helpers.rb
CHANGED
|
@@ -143,7 +143,7 @@ module WorkflowRESTHelpers
|
|
|
143
143
|
halt 200, job.load.to_json
|
|
144
144
|
when :tsv
|
|
145
145
|
content_type "text/tab-separated-values"
|
|
146
|
-
job.path ? send_file(job.path) : halt(200, job.load.to_s)
|
|
146
|
+
job.path ? send_file(job.path, :filename => (params[:filename] || File.basename(job.path))) : halt(200, job.load.to_s)
|
|
147
147
|
when :literal, :raw
|
|
148
148
|
path = job.path
|
|
149
149
|
mime = file_mimetype path
|
|
@@ -152,7 +152,7 @@ module WorkflowRESTHelpers
|
|
|
152
152
|
if Open.remote? job.path
|
|
153
153
|
Open.open(job.path, :nocache => true)
|
|
154
154
|
elsif File.exists? job.path
|
|
155
|
-
send_file(job.path)
|
|
155
|
+
send_file(job.path, :filename => (params[:filename] || File.basename(job.path)))
|
|
156
156
|
else
|
|
157
157
|
halt 200, job.load
|
|
158
158
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rbbt-rest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.8.
|
|
4
|
+
version: 1.8.151
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Miguel Vazquez
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-07-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -122,6 +122,20 @@ dependencies:
|
|
|
122
122
|
- - ">="
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: '0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: therubyracer
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
125
139
|
- !ruby/object:Gem::Dependency
|
|
126
140
|
name: sinatra-authorization
|
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|