rbbt-rest 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
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: []