rbbt-rest 1.1.3 → 1.1.4

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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MjY4NGQ1Mjg4YTIyYmRjYWQ0OWFkMjQ4NmQxMjU3NmIwYjIzN2M1Yw==
5
+ data.tar.gz: !binary |-
6
+ MTQ3MGVlMzE3NjU2ZDc3ZmI4YjM4MDA1MjY0ZDI4NjFkYTY5ZDAxOQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ OTg5MGEwZmQ5YmYyOWRmNzM2YjQ4OTZkNzI1YjRiZGQ5ZjkzYWRhMjJjNTVj
10
+ ZTliMjJlYWE0YjJhOGI1ZTdhZWVkNzM4MjFmODllZGRhZDA2OGE3NjQ1ZDQ5
11
+ ZTBmYTkyOTY2ZDAxNzlmMGYzYzFiZjY2NmFlN2Q5M2M1OWM1NmU=
12
+ data.tar.gz: !binary |-
13
+ ZTQ3Y2Q5YTFjOGQ4YTlmMzlhMmJhNTUwZTFlODUxNjhjYjEwNzBmZDg2YmNk
14
+ OWI2OGQzNzI1MzNmYTQzYzVjYWJlYmZiNWY2NDY5NGRmYWE2OWQ4ZjE4YjBm
15
+ MDliZDczODJmNjdlYWNiODZiOGY3Mzk3MTFjZGFkMDMzZjBhYTU=
@@ -22,16 +22,19 @@ class WorkflowRESTClient
22
22
  end
23
23
 
24
24
  def self.get_raw(url, params = {})
25
+ Log.debug("RestClient get_raw #{}: #{ url } - #{params.inspect}")
25
26
  params = params.merge({ :_format => 'raw' })
26
27
  RestClient.get(url, :params => params)
27
28
  end
28
29
 
29
30
  def self.post_jobname(url, params = {})
31
+ Log.debug("RestClient post_jobname #{}: #{ url } - #{params.inspect}")
30
32
  params = params.merge({ :_format => 'jobname' })
31
33
  RestClient.post(url, params)
32
34
  end
33
35
 
34
36
  def self.get_json(url, params = {})
37
+ Log.debug("RestClient get_json #{}: #{ url } - #{params.inspect}")
35
38
  params = params.merge({ :_format => 'json' })
36
39
  res = RestClient.get(url, :params => params)
37
40
  begin
@@ -93,7 +96,7 @@ class WorkflowRESTClient
93
96
  end
94
97
  end
95
98
 
96
- def _exec
99
+ def _exec(noload = false)
97
100
  if Array === @url
98
101
  url, params = @url
99
102
  else
@@ -102,17 +105,21 @@ class WorkflowRESTClient
102
105
 
103
106
  params[:jobname] = @name if @name
104
107
 
105
- case result_type
106
- when :string
108
+ if noload and %w(boolean string tsv).include? result_type
107
109
  WorkflowRESTClient.get_raw(url, params)
108
- when :boolean
109
- WorkflowRESTClient.get_raw(url, params) == "true"
110
- when :tsv
111
- TSV.open(StringIO.new(WorkflowRESTClient.get_raw(url, params)))
112
- when :annotations
113
- Annotated.load_tsv(TSV.open(StringIO.new(WorkflowRESTClient.get_raw(url, params))))
114
110
  else
115
- WorkflowRESTClient.get_json(url, params)
111
+ case result_type
112
+ when :string
113
+ WorkflowRESTClient.get_raw(url, params)
114
+ when :boolean
115
+ WorkflowRESTClient.get_raw(url, params) == "true"
116
+ when :tsv
117
+ TSV.open(StringIO.new(WorkflowRESTClient.get_raw(url, params)))
118
+ when :annotations
119
+ Annotated.load_tsv(TSV.open(StringIO.new(WorkflowRESTClient.get_raw(url, params))))
120
+ else
121
+ WorkflowRESTClient.get_json(url, params)
122
+ end
116
123
  end
117
124
  end
118
125
 
@@ -121,8 +128,12 @@ class WorkflowRESTClient
121
128
  prepare_result(res, result_type)
122
129
  end
123
130
 
124
- def run
125
- exec
131
+ def run(noload = false)
132
+ if noload
133
+ _exec(noload)
134
+ else
135
+ exec
136
+ end
126
137
  end
127
138
 
128
139
  def load
@@ -278,7 +289,6 @@ class WorkflowRESTClient
278
289
  end
279
290
  else
280
291
 
281
- ddd task
282
292
  if Task === task
283
293
  task_name = task.name
284
294
  else
@@ -9,10 +9,7 @@ module RbbtRESTHelpers
9
9
 
10
10
  result = render template_file, {:job => job}, layout_file
11
11
 
12
- job.clean
13
-
14
- status 500
15
- result
12
+ halt 500, result
16
13
  end
17
14
 
18
15
  def wait_on(job, layout = nil)
@@ -164,7 +164,7 @@ module RbbtRESTHelpers
164
164
  url = remove_GET_param(url, "_")
165
165
 
166
166
  table_class = []
167
- table_class << 'wide' if tsv.fields.length > 4
167
+ table_class << 'wide responsive' if tsv.fields.length > 4
168
168
 
169
169
  options[:url] = url
170
170
  options[:table_class] = table_class
@@ -34,7 +34,7 @@ module Sinatra
34
34
  end
35
35
 
36
36
  before do
37
- Log.debug("IP #{request.ip}: " << request.path_info << ". Params: " << Misc.remove_long_items(params).inspect)
37
+ Log.info("IP #{request.ip}: " << request.path_info << ". Params: " << Misc.remove_long_items(params).inspect)
38
38
  process_common_parameters
39
39
 
40
40
  if profile
@@ -108,11 +108,12 @@ module Sinatra
108
108
 
109
109
  job = workflow.load_id(File.join(task, job))
110
110
 
111
- clean_job(workflow, job)
111
+ clean_job(workflow, job) if update == :clean
112
112
 
113
113
  begin
114
- done = job.done?
115
114
  started = job.info.any?
115
+ done = job.done?
116
+ error = job.error?
116
117
 
117
118
  if done
118
119
  show_result job, workflow, task
@@ -129,14 +129,18 @@ module WorkflowRESTHelpers
129
129
  show_exec_result job.exec, workflow, task
130
130
  when :synchronous, :sync
131
131
  job.clean if update == :reload
132
- job.run
133
- job_url = to(File.join("/", workflow.to_s, task, job.name))
134
- job_url += "?_format=#{@format}" if @format
135
- halt 200, job.name if format === :jobname
136
- redirect job_url
132
+ begin
133
+ job.run(false) unless File.exists? job.info_file
134
+ job_url = to(File.join("/", workflow.to_s, task, job.name))
135
+ job_url += "?_format=#{@format}" if @format
136
+ halt 200, job.name if format === :jobname
137
+ redirect job_url
138
+ rescue
139
+ halt 500, $!.message
140
+ end
137
141
  when :asynchronous, :async, nil
138
142
  job.clean if update == :reload
139
- job.fork
143
+ job.fork unless File.exists? job.info_file
140
144
  job_url = to(File.join("/", workflow.to_s, task, job.name))
141
145
  job_url += "?_format=#{@format}" if @format
142
146
  halt 200, job.name if format === :jobname
@@ -5,6 +5,7 @@
5
5
  @import form
6
6
  @import table
7
7
  @import tabs
8
+ @import responsive_table
8
9
 
9
10
  @import style_mixins
10
11
 
@@ -46,12 +46,19 @@ $section-title-bg-active-tabs: $section_active_bg
46
46
  $section-content-bg: $section_content_bg
47
47
 
48
48
  //{{{{{{{{{
49
- //{{{ SECTION
49
+ //{{{ TABS
50
50
  //{{{{{{{{{
51
51
 
52
- $tab-border-color: $section_active_bg
53
- $tab-color-bg: $section_title_bg
54
- $tab-active-color-bg: white
52
+ $tab-background: $section-title-bg
53
+ $tab-border-color: $section-active-bg
54
+ $tab-content-border-color: $primary-color
55
+
56
+ $tab-active-border-color: darken($section-title-bg-active-tabs, 10%)
57
+ $tab-active-color-bg: $section-title-bg-active-tabs
58
+ $tab-active-content-color-bg: white
59
+
60
+ $tab-inactive-border-color: $section_title_bg
61
+ $tab-inactive-color-bg: darken(white, 5%)
55
62
 
56
63
 
57
64
  //{{{{{{{{{
@@ -0,0 +1,80 @@
1
+ @media only screen and (max-width: 767px)
2
+ table.flipped, table.wide
3
+ display: block
4
+ position: relative
5
+ width: 100%
6
+ border-collapse: collapse
7
+ border-spacing: 0
8
+ th, td
9
+ margin: 0
10
+ vertical-align: top
11
+ height: 2em
12
+
13
+ th
14
+ text-align: left
15
+
16
+ thead
17
+ display: block
18
+ float: left
19
+ max-width: 40%
20
+ white-space: nowrap
21
+ overflow: auto
22
+ overflow-y: hidden
23
+
24
+ tfoot
25
+ width: 100%
26
+ float: right
27
+
28
+ tbody
29
+ display: block
30
+ width: auto
31
+ position: relative
32
+ overflow-x: auto
33
+ white-space: nowrap
34
+
35
+
36
+ thead tr
37
+ display: block
38
+
39
+
40
+ th
41
+ display: block
42
+ text-align: right
43
+
44
+
45
+ tbody tr
46
+ display: inline-block
47
+ vertical-align: top
48
+
49
+
50
+ td
51
+ display: block
52
+ min-height: 1.25em
53
+ text-align: left
54
+
55
+ /* sort out borders */
56
+
57
+ th
58
+ border-bottom: 0
59
+ border-left: 0
60
+
61
+
62
+ td
63
+ border-left: 0
64
+ border-right: 0
65
+ border-bottom: 0
66
+
67
+
68
+ tbody tr
69
+ border-left: 1px solid #babcbf
70
+
71
+
72
+ //th:last-child, td:last-child
73
+ tfoot
74
+ border: 2px solid #babcbf
75
+ border-top: 1px solid #babcbf
76
+
77
+
78
+
79
+
80
+
@@ -1,34 +1,81 @@
1
+ @import colors
2
+ @import "normalize"
3
+ @import "foundation/_variables"
4
+ @import foundation/components/_global
1
5
  dl.tabs
2
6
  position: relative
3
- & > dd:not(.selected)
4
- visibility: hidden
5
- height: 0px
6
- margin: 0px
7
- padding: 0px
8
- border: none
7
+ background: $tab-background
8
+ border: 1px solid $tab-border-color
9
+ margin-bottom: 0
10
+ padding-bottom: 0
11
+
9
12
  & > dt
10
- margin: 0px
11
- padding: 5px
12
- padding-bottom: 2px
13
13
  display: inline-block
14
- border: 1px solid $tab-border-color
15
- border-bottom: 2px solid white
16
- z-index: 5
17
- margin-bottom: 5px
18
- background: $tab-active-color-bg
19
-
20
- &:not(.selected)
21
- cursor: pointer
22
- border: none
23
- background: $tab-color-bg
14
+ max-width: 40%
15
+ overflow: hidden
16
+ text-overflow: ellipsis
17
+ cursor: pointer
18
+ &.selected
19
+ cursor: auto
20
+
21
+
24
22
  & > dd
25
23
  float: right
26
24
  width: 100%
27
- padding: 5px
25
+ height: 0px
28
26
  margin: 0px
29
- margin-top: -6px
27
+ overflow: hidden
28
+ visibility: hidden
29
+ &.selected
30
+ height: auto
31
+ visibility: visible
32
+ overflow-x: auto
33
+
34
+ & > dt
30
35
  border: 1px solid $tab-border-color
31
- z-index: 4
32
- margin-bottom: 5px
33
- table
34
- margin: 0px
36
+ background: $tab-inactive-color-bg
37
+ padding: 5px
38
+ margin: 10px 0px 5px 5px
39
+
40
+ &.selected
41
+ background: $tab-active-color-bg
42
+ border-bottom: 2px solid $primary-color
43
+
44
+ & > dd
45
+ border: none
46
+ margin: 0
47
+ padding: 0
48
+ &.selected
49
+ padding: 5px
50
+ border: 2px solid $tab-content-border-color
51
+ background: white
52
+ border-top: 1px solid $tab-border-color
53
+ table
54
+ margin: 0px
55
+
56
+ // &:not(.selected)
57
+ // height: 0px
58
+ // margin: 0px
59
+ // border: none
60
+
61
+ //& > dt
62
+ // z-index: 5
63
+ // margin: 0px
64
+ // margin-bottom: 0px
65
+ // padding: 5px
66
+ // padding-bottom: 2px
67
+
68
+ // &:not(.selected)
69
+ // z-index: 3
70
+ // margin-bottom: 3px
71
+
72
+ //& > dd
73
+ // padding: 5px
74
+ // margin: 0px
75
+ // margin-bottom: 5px
76
+ // z-index: 4
77
+
78
+ // &:not(.selected)
79
+ // padding: 0px
80
+
81
+
@@ -221,9 +221,9 @@ register_dom_update('table[attr-page] > thead > tr > th', function(th){
221
221
  var direction
222
222
 
223
223
  if (th.is('.headerSortDown')){
224
- direction = -1
224
+ direction = 1
225
225
  }else{
226
- direction = 1
226
+ direction = -1
227
227
  }
228
228
 
229
229
  if (direction == -1){
@@ -240,7 +240,7 @@ register_dom_update('table[attr-page] > thead > tr > th', function(th){
240
240
  var th = table.find('thead > tr > th:contains(' + field + ')')
241
241
  table.addClass('sorted').attr('rbbt-update_tags','')
242
242
  table.attr('attr-page', format_page(num, size, ffield))
243
- if (direction == 1){
243
+ if (direction == -1){
244
244
  th.removeClass('headerSortUp');
245
245
  th.addClass('headerSortDown');
246
246
  }else{
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
5
- prerelease:
4
+ version: 1.1.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Miguel Vazquez
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-22 00:00:00.000000000 Z
11
+ date: 2013-05-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: sinatra
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: zurb-foundation
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: compass
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: json
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: haml
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rest-client
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: sinatra-authorization
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ! '>='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: sinatra-cross_origin
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ! '>='
156
137
  - !ruby/object:Gem::Version
@@ -207,6 +188,7 @@ files:
207
188
  - share/views/compass/list_container.sass
208
189
  - share/views/compass/lists.sass
209
190
  - share/views/compass/offcanvas.sass
191
+ - share/views/compass/responsive_table.sass
210
192
  - share/views/compass/style.sass
211
193
  - share/views/compass/style_mixins.sass
212
194
  - share/views/compass/table.sass
@@ -759,26 +741,25 @@ files:
759
741
  - LICENSE
760
742
  homepage: http://github.com/mikisvaz/rbbt-rest
761
743
  licenses: []
744
+ metadata: {}
762
745
  post_install_message:
763
746
  rdoc_options: []
764
747
  require_paths:
765
748
  - lib
766
749
  required_ruby_version: !ruby/object:Gem::Requirement
767
- none: false
768
750
  requirements:
769
751
  - - ! '>='
770
752
  - !ruby/object:Gem::Version
771
753
  version: '0'
772
754
  required_rubygems_version: !ruby/object:Gem::Requirement
773
- none: false
774
755
  requirements:
775
756
  - - ! '>='
776
757
  - !ruby/object:Gem::Version
777
758
  version: '0'
778
759
  requirements: []
779
760
  rubyforge_project:
780
- rubygems_version: 1.8.24
761
+ rubygems_version: 2.0.3
781
762
  signing_key:
782
- specification_version: 3
763
+ specification_version: 4
783
764
  summary: Rbbt Web and REST interfaces
784
765
  test_files: []