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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b76870466fef5096fbc9e2a741acc69520b02a37130ebd811d929e265663f799
4
- data.tar.gz: 9048d091f9224f42b9ef15c78d53e79191496490f1357bfb8527aacdcaac53c5
3
+ metadata.gz: cd9278f880225799697df0bc7599a97d5463942604f3c6947e65c5450495e2ad
4
+ data.tar.gz: 3441f94e0dc3cbced78e4572d4d743d047d0be1dcd0728c5ebbf8c7bb0b8d74c
5
5
  SHA512:
6
- metadata.gz: 59741c8b3c9faf57bfa2831702320651472b148a16ea9db5dc13fe44ecc3e1f09000098e11d8da6b43b0ae7ebb2e28e9eb794a08ad0e02673e95ce1690222444
7
- data.tar.gz: 35670278102a53384f7f6bd56787c951bd4ac82d93382df72f13dd992d61e21658525be77695ccefdd0d9f992b69b25e5962db6fb4f999fe2ab405979eb4e080
6
+ metadata.gz: d8f1453f376b923caf6b7868462f877246614b9f051da579b55429d21ad2f2ad66ce7ad6bf99ee83dcfb20160611b983e7a6e02c477ba4501b4e0e5c112ec3b4
7
+ data.tar.gz: ac6c5d333a5f6b5cd41c78c014b8166d4c9f38b88297b40e89b66243bcadea5ba2896d639e5efb792b84e6562931af22498c384d14b938c36c878ad50d750f3a
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2013 Miguel Vázquez García
1
+ Copyright (c) 2010-2022 Miguel Vázquez García
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
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
- header "Location", Entity::REST.entity_list_url(list_id, type)
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 = URI.encode(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 = URI.encode(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"
@@ -1,5 +1,9 @@
1
1
  module Sinatra
2
2
  module RbbtMiscHelpers
3
+ def job_url(job)
4
+ job_url = File.join("/", job.workflow.to_s, job.task_name.to_s, job.name)
5
+ end
6
+
3
7
  def param_file(name)
4
8
  name = name.to_s
5
9
  if @params[name + '__param_file']
@@ -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
@@ -146,7 +146,7 @@ $cyan: rgba(50, 211, 255, 1)
146
146
  .status.started
147
147
  color: $cyan
148
148
  .status.dependencies
149
- color: $cyan
149
+ color: $yellow
150
150
  .status.done
151
151
  color: $green
152
152
  .status.error, .status.aborted
@@ -21,7 +21,6 @@ function format_page(num, size, field){
21
21
  if ( undefined !== size) parts.push(size)
22
22
  if ( undefined !== field) parts.push(field)
23
23
 
24
- console.log(parts.join("~"))
25
24
  return parts.join("~")
26
25
  }
27
26
 
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.147
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: 2021-09-28 00:00:00.000000000 Z
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