quorum 0.3.1 → 0.3.2

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.
data/.travis.yml ADDED
@@ -0,0 +1,21 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ gemfile:
6
+ - gemfiles/Gemfile.rails-3.1.x
7
+ - gemfiles/Gemfile.rails-3.2.x
8
+ before_install:
9
+ - sudo apt-get update
10
+ - sudo apt-get install ncbi-blast+ emboss
11
+ before_script:
12
+ - "export DISPLAY=:99.0"
13
+ - "sh -e /etc/init.d/xvfb start"
14
+ - bundle install
15
+ - mysql -e "create database quorum_test;"
16
+ - "rake travis:create_db_config"
17
+ - "rake app:db:schema:load"
18
+ script: "rake travis:spec"
19
+ notifications:
20
+ email:
21
+ - "kas@ncgr.org"
data/Gemfile CHANGED
@@ -1,15 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Declare your gem's dependencies in quorum.gemspec.
4
- # Bundler will treat runtime dependencies like base dependencies, and
5
- # development dependencies will be added by default to the :development group.
6
3
  gemspec
7
4
 
8
- # Declare any dependencies that are still in development here instead of in
9
- # your gemspec. These might include edge Rails or gems from your path or
10
- # Git. Remember to move these dependencies to your gemspec before releasing
11
- # your gem to rubygems.org.
12
-
13
- # To use debugger
14
- # gem 'ruby-debug19', :require => 'ruby-debug'
15
-
5
+ group :test do
6
+ gem 'rake', '~> 0.9.2'
7
+ end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- quorum (0.3.1)
4
+ quorum (0.3.2)
5
5
  bio-blastxmlparser (~> 1.0.1)
6
6
  jquery-rails
7
7
  net-ssh (~> 2.3.0)
@@ -12,38 +12,39 @@ PATH
12
12
  GEM
13
13
  remote: http://rubygems.org/
14
14
  specs:
15
- actionmailer (3.2.2)
16
- actionpack (= 3.2.2)
17
- mail (~> 2.4.0)
18
- actionpack (3.2.2)
19
- activemodel (= 3.2.2)
20
- activesupport (= 3.2.2)
15
+ actionmailer (3.2.6)
16
+ actionpack (= 3.2.6)
17
+ mail (~> 2.4.4)
18
+ actionpack (3.2.6)
19
+ activemodel (= 3.2.6)
20
+ activesupport (= 3.2.6)
21
21
  builder (~> 3.0.0)
22
22
  erubis (~> 2.7.0)
23
23
  journey (~> 1.0.1)
24
24
  rack (~> 1.4.0)
25
- rack-cache (~> 1.1)
25
+ rack-cache (~> 1.2)
26
26
  rack-test (~> 0.6.1)
27
- sprockets (~> 2.1.2)
28
- activemodel (3.2.2)
29
- activesupport (= 3.2.2)
27
+ sprockets (~> 2.1.3)
28
+ activemodel (3.2.6)
29
+ activesupport (= 3.2.6)
30
30
  builder (~> 3.0.0)
31
- activerecord (3.2.2)
32
- activemodel (= 3.2.2)
33
- activesupport (= 3.2.2)
31
+ activerecord (3.2.6)
32
+ activemodel (= 3.2.6)
33
+ activesupport (= 3.2.6)
34
34
  arel (~> 3.0.2)
35
35
  tzinfo (~> 0.3.29)
36
- activeresource (3.2.2)
37
- activemodel (= 3.2.2)
38
- activesupport (= 3.2.2)
39
- activesupport (3.2.2)
36
+ activeresource (3.2.6)
37
+ activemodel (= 3.2.6)
38
+ activesupport (= 3.2.6)
39
+ activesupport (3.2.6)
40
40
  i18n (~> 0.6)
41
41
  multi_json (~> 1.0)
42
+ addressable (2.2.8)
42
43
  arel (3.0.2)
43
44
  bio-blastxmlparser (1.0.1)
44
45
  bio-logger (>= 1.0.0)
45
46
  nokogiri (>= 1.5.0)
46
- bio-logger (1.0.0)
47
+ bio-logger (1.0.1)
47
48
  log4r (>= 1.1.9)
48
49
  builder (3.0.0)
49
50
  capybara (1.1.2)
@@ -53,9 +54,9 @@ GEM
53
54
  rack-test (>= 0.5.4)
54
55
  selenium-webdriver (~> 2.0)
55
56
  xpath (~> 0.1.4)
56
- childprocess (0.3.1)
57
+ childprocess (0.3.2)
57
58
  ffi (~> 1.0.6)
58
- database_cleaner (0.7.2)
59
+ database_cleaner (0.8.0)
59
60
  diff-lcs (1.1.3)
60
61
  erubis (2.7.0)
61
62
  factory_girl (2.6.4)
@@ -66,27 +67,29 @@ GEM
66
67
  ffi (1.0.11)
67
68
  hike (1.2.1)
68
69
  i18n (0.6.0)
69
- jasmine (1.1.2)
70
- jasmine-core (>= 1.1.0)
71
- rack (>= 1.1)
70
+ jasmine (1.2.0)
71
+ jasmine-core (>= 1.2.0)
72
+ rack (~> 1.0)
72
73
  rspec (>= 1.3.1)
73
74
  selenium-webdriver (>= 0.1.3)
74
- jasmine-core (1.1.0)
75
- journey (1.0.3)
76
- jquery-rails (2.0.1)
75
+ jasmine-core (1.2.0)
76
+ journey (1.0.4)
77
+ jquery-rails (2.0.2)
77
78
  railties (>= 3.2.0, < 5.0)
78
79
  thor (~> 0.14)
79
- json (1.6.6)
80
+ json (1.7.3)
81
+ libwebsocket (0.1.3)
82
+ addressable
80
83
  log4r (1.1.10)
81
84
  mail (2.4.4)
82
85
  i18n (>= 0.4.0)
83
86
  mime-types (~> 1.16)
84
87
  treetop (~> 1.4.8)
85
- mime-types (1.18)
86
- multi_json (1.2.0)
88
+ mime-types (1.19)
89
+ multi_json (1.3.6)
87
90
  mysql2 (0.3.11)
88
91
  net-ssh (2.3.0)
89
- nokogiri (1.5.2)
92
+ nokogiri (1.5.4)
90
93
  polyglot (0.3.3)
91
94
  rack (1.4.1)
92
95
  rack-cache (1.2)
@@ -97,21 +100,21 @@ GEM
97
100
  rack
98
101
  rack-test (0.6.1)
99
102
  rack (>= 1.0)
100
- rails (3.2.2)
101
- actionmailer (= 3.2.2)
102
- actionpack (= 3.2.2)
103
- activerecord (= 3.2.2)
104
- activeresource (= 3.2.2)
105
- activesupport (= 3.2.2)
103
+ rails (3.2.6)
104
+ actionmailer (= 3.2.6)
105
+ actionpack (= 3.2.6)
106
+ activerecord (= 3.2.6)
107
+ activeresource (= 3.2.6)
108
+ activesupport (= 3.2.6)
106
109
  bundler (~> 1.0)
107
- railties (= 3.2.2)
108
- railties (3.2.2)
109
- actionpack (= 3.2.2)
110
- activesupport (= 3.2.2)
110
+ railties (= 3.2.6)
111
+ railties (3.2.6)
112
+ actionpack (= 3.2.6)
113
+ activesupport (= 3.2.6)
111
114
  rack-ssl (~> 1.3.2)
112
115
  rake (>= 0.8.7)
113
116
  rdoc (~> 3.4)
114
- thor (~> 0.14.6)
117
+ thor (>= 0.14.6, < 2.0)
115
118
  rake (0.9.2.2)
116
119
  rdoc (3.12)
117
120
  json (~> 1.4)
@@ -128,42 +131,42 @@ GEM
128
131
  resque-result (1.0.1)
129
132
  resque (~> 1.9)
130
133
  resque-meta (~> 1.0)
131
- resque_spec (0.9.2)
134
+ resque_spec (0.12.2)
132
135
  resque (>= 1.19.0)
133
136
  rspec (>= 2.5.0)
134
- rspec (2.9.0)
135
- rspec-core (~> 2.9.0)
136
- rspec-expectations (~> 2.9.0)
137
- rspec-mocks (~> 2.9.0)
138
- rspec-core (2.9.0)
139
- rspec-expectations (2.9.0)
137
+ rspec (2.10.0)
138
+ rspec-core (~> 2.10.0)
139
+ rspec-expectations (~> 2.10.0)
140
+ rspec-mocks (~> 2.10.0)
141
+ rspec-core (2.10.1)
142
+ rspec-expectations (2.10.0)
140
143
  diff-lcs (~> 1.1.3)
141
- rspec-mocks (2.9.0)
142
- rspec-rails (2.9.0)
144
+ rspec-mocks (2.10.1)
145
+ rspec-rails (2.10.1)
143
146
  actionpack (>= 3.0)
144
147
  activesupport (>= 3.0)
145
148
  railties (>= 3.0)
146
- rspec (~> 2.9.0)
147
- rubyzip (0.9.6.1)
148
- selenium-webdriver (2.20.0)
149
+ rspec (~> 2.10.0)
150
+ rubyzip (0.9.9)
151
+ selenium-webdriver (2.24.0)
149
152
  childprocess (>= 0.2.5)
150
- ffi (~> 1.0)
153
+ libwebsocket (~> 0.1.3)
151
154
  multi_json (~> 1.0)
152
155
  rubyzip
153
156
  sinatra (1.3.2)
154
157
  rack (~> 1.3, >= 1.3.6)
155
158
  rack-protection (~> 1.2)
156
159
  tilt (~> 1.3, >= 1.3.3)
157
- sprockets (2.1.2)
160
+ sprockets (2.1.3)
158
161
  hike (~> 1.2)
159
162
  rack (~> 1.0)
160
163
  tilt (~> 1.1, != 1.3.0)
161
- thor (0.14.6)
164
+ thor (0.15.3)
162
165
  tilt (1.3.3)
163
166
  treetop (1.4.10)
164
167
  polyglot
165
168
  polyglot (>= 0.3.1)
166
- tzinfo (0.3.32)
169
+ tzinfo (0.3.33)
167
170
  vegas (0.1.11)
168
171
  rack (>= 1.0.0)
169
172
  xpath (0.1.4)
@@ -179,5 +182,6 @@ DEPENDENCIES
179
182
  jasmine (~> 1.1)
180
183
  mysql2 (~> 0.3.11)
181
184
  quorum!
185
+ rake (~> 0.9.2)
182
186
  resque_spec (~> 0.8)
183
187
  rspec-rails (~> 2.6)
data/HISTORY.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.3.2 (2012-06--22)
2
+
3
+ * Added support for user defined callback in QUORUM.pollResults().
4
+ Useful if user chooses to define their own view template(s).
5
+ See app/assets/javascripts/quorum/quorum.js and
6
+ app/views/quorum/jobs/show.html.erb for more information.
7
+ * JS bug fixes.
8
+ * Added specs and updated gems.
9
+
1
10
  ## 0.3.1 (2012-04-02)
2
11
 
3
12
  * Added quorum layouts to quorum:views generator.
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Quorum
1
+ = Quorum {<img src="https://secure.travis-ci.org/ncgr/quorum.png?branch=master"alt="Build Status" />}[http://travis-ci.org/ncgr/quorum]
2
2
 
3
3
  A flexible bioinformatics search tool.
4
4
 
@@ -9,6 +9,7 @@ bioinformatics search tools.
9
9
 
10
10
  Dependencies:
11
11
 
12
+ * Ruby >= 1.9.2
12
13
  * Rails >= 3.1.0
13
14
  * Redis >= 0.900 for Resque (https://github.com/defunkt/resque)
14
15
  * NCBI Blast+ (ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST)
@@ -162,9 +163,10 @@ Follow the steps below to execute Quorum remotely via Net::SSH.
162
163
  * Ensure you have supplied the necessary information in
163
164
  "config/quorum_settings.yml" to execute Quorum remotely.
164
165
 
165
- <tt>remote: true</tt>
166
- <tt>ssh_host: remote.machine.org</tt>
167
- <tt>ssh_user: remote_user</tt>
166
+ blast:
167
+ remote: true
168
+ ssh_host: remote.machine.org
169
+ ssh_user: remote_user
168
170
 
169
171
  Net::SSH.start() optional params (http://net-ssh.github.com/ssh/v2/api/index.html)
170
172
 
@@ -224,7 +226,7 @@ To override Quorum's default images, run the generator.
224
226
  A copy of Quorum's images can be found in your application under
225
227
  "app/assets/images/quorum/".
226
228
 
227
- <b>jQuery UI</b>
229
+ ==== jQuery UI
228
230
 
229
231
  Don't like Quorum's jQuery UI theme? Override it!
230
232
 
@@ -233,34 +235,36 @@ Don't like Quorum's jQuery UI theme? Override it!
233
235
  * Replace Quorum's theme in "app/assets/{stylesheets:images}/quorum" with
234
236
  your own.
235
237
 
236
- Don't plan on supporting all of Quorum's alogrithms? Override Quorum's views
237
- and comment out any unwanted algorithms in "app/views/quorum/jobs/new.html.erb"
238
- and "app/views/quorum/jobs/show.html.erb".
238
+ ==== Don't plan on supporting all of Quorum's alogrithms?
239
+
240
+ Override Quorum's views and comment out any unwanted algorithms in
241
+ "app/views/quorum/jobs/new.html.erb" and
242
+ "app/views/quorum/jobs/show.html.erb".
239
243
 
240
244
  For example:
241
245
 
242
246
  Remove Blastp in "app/views/quorum/jobs/new.html.erb"
243
247
 
244
- <!-- Search Algorithms -->
245
- <!-- Comment out an algorithm below to remove it from the form. -->
248
+ <%# Search Algorithms %>
249
+ <%# Comment out an algorithm below to remove it from the form. %>
246
250
 
247
- <!-- blastn -->
251
+ <%# blastn %>
248
252
  <%= render :partial => "quorum/jobs/form/blastn_form", :locals => {
249
253
  :f => f, :blast_dbs => @blast_dbs } %>
250
254
 
251
- <!-- blastx -->
255
+ <%# blastx %>
252
256
  <%= render :partial => "quorum/jobs/form/blastx_form", :locals => {
253
257
  :f => f, :blast_dbs => @blast_dbs } %>
254
258
 
255
- <!-- tblastn -->
259
+ <%# tblastn %>
256
260
  <%= render :partial => "quorum/jobs/form/tblastn_form", :locals => {
257
261
  :f => f, :blast_dbs => @blast_dbs } %>
258
262
 
259
- <!-- blastp -->
263
+ <%# blastp %>
260
264
  <% render :partial => "quorum/jobs/form/blastp_form", :locals => {
261
265
  :f => f, :blast_dbs => @blast_dbs } %>
262
266
 
263
- <!-- End Search Algorithms -->
267
+ <%# End Search Algorithms %>
264
268
 
265
269
  Remove Blastp in "app/views/quorum/jobs/show.html.erb"
266
270
 
@@ -269,12 +273,12 @@ Remove Blastp in "app/views/quorum/jobs/show.html.erb"
269
273
  <li><a href="#tabs-1">Blastn</a></li>
270
274
  <li><a href="#tabs-2">Blastx</a></li>
271
275
  <li><a href="#tabs-3">Tblastn</a></li>
272
- <!--
276
+ <%#
273
277
  <li><a href="#tabs-4">Blastp</a></li>
274
- -->
278
+ %>
275
279
  </ul>
276
280
 
277
- <!-- Search results per algorithm -->
281
+ <%# Search results per algorithm %>
278
282
  <div id="tabs-1">
279
283
  <h2>Blastn</h2>
280
284
  <div id="blastn-results">
@@ -306,6 +310,12 @@ Remove Blastp in "app/views/quorum/jobs/show.html.erb"
306
310
  -->
307
311
  </div>
308
312
 
313
+ ==== Don't like Quorum's default show template?
314
+
315
+ Override Quorum's views and specify your own JavaScript callback function!
316
+
317
+ See "app/views/quorum/show.html.erb" for more details.
318
+
309
319
  === Redis
310
320
 
311
321
  For detailed Redis installation instructions, follow the links below.
@@ -321,7 +331,7 @@ the link below.
321
331
 
322
332
  * Resque (https://github.com/defunkt/resque)
323
333
 
324
- <b>Resque Web Interface</b>
334
+ ==== Resque Web Interface
325
335
 
326
336
  Quorum mounts Resque's web interface by default via
327
337
 
data/Rakefile CHANGED
@@ -29,3 +29,54 @@ task :default => :spec
29
29
 
30
30
  Bundler::GemHelper.install_tasks
31
31
 
32
+ # Travis Tasks
33
+ namespace :travis do
34
+ # Specs
35
+ task :spec do
36
+ Rake::Task["travis:create_dirs"].execute
37
+ ["rake spec", "rake app:jasmine:ci JASMINE_PORT=53331"].each do |cmd|
38
+ puts "Starting to run #{cmd}..."
39
+ system("export DISPLAY=:99.0 && bundle exec #{cmd}")
40
+ raise "#{cmd} failed!" unless $?.exitstatus == 0
41
+ end
42
+ Rake::Task["travis:remove_db_config"].execute
43
+ end
44
+
45
+ # Create spec/dummy/config/database.yml for Travis.
46
+ task :create_db_config do
47
+ config = File.expand_path("../spec/dummy/config", __FILE__)
48
+ File.open(File.join(config, "database.yml"), "w+") do |file|
49
+ file.puts "test:\n adapter: mysql2\n database: quorum_test\n" <<
50
+ " username: root\n password:\n host: localhost\n encoding: utf8"
51
+ end
52
+ end
53
+
54
+ # Remove spec/dummy/config/database.yml after Travis.
55
+ task :remove_db_config do
56
+ config = File.expand_path("../spec/dummy/config", __FILE__)
57
+ File.delete(File.join(config, "database.yml"))
58
+ end
59
+
60
+ # Create necessary directories for test. Mimic a real app install
61
+ # via rails g quorum:install.
62
+ #
63
+ # The directories below are not in the git repo.
64
+ task :create_dirs do
65
+ app = File.expand_path("../spec/dummy", __FILE__)
66
+ quorum = File.expand_path("../spec/dummy/quorum", __FILE__)
67
+
68
+ app_tmp = File.join(app, "tmp")
69
+ app_pids = File.join(app_tmp, "pids")
70
+ app_cache = File.join(app_tmp, "cache")
71
+
72
+ Dir.mkdir(app_tmp) unless File.directory?(app_tmp)
73
+ Dir.mkdir(app_pids) unless File.directory?(app_pids)
74
+ Dir.mkdir(app_cache) unless File.directory?(app_cache)
75
+
76
+ quorum_log = File.join(quorum, "log")
77
+ quorum_tmp = File.join(quorum, "tmp")
78
+
79
+ Dir.mkdir(quorum_log) unless File.directory?(quorum_log)
80
+ Dir.mkdir(quorum_tmp) unless File.directory?(quorum_tmp)
81
+ end
82
+ end
@@ -59,6 +59,10 @@ $(function() {
59
59
  form.autoHint('removeHints');
60
60
  });
61
61
 
62
+ $(window).unload(function() {
63
+ $('input[type=submit]', 'form').val('Submit').removeAttr('disabled');
64
+ });
65
+
62
66
  // Reset form.
63
67
  $('#quorum_job_reset').click(function() {
64
68
  $('textarea').val('');