solvebio 1.7.1 → 1.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 31db4c26b2c9b63dcbebbe8696a37b3e0946c831
4
+ data.tar.gz: 84b6c054b263fde61e0123c03eabbe9240cd4177
5
+ SHA512:
6
+ metadata.gz: 6874a148c1e5a109981fdb3aa649437c58c8037232f3cbcdd25b9c31365290575c1a3f29ec6934710695aea5986f96ef419686b7eff07fad4cfcea153eb7a41d
7
+ data.tar.gz: 24f926d966b43b7ab239993169bfe35f87abfb1f0e0c9f3a4f93d91133e0a9b1647d31b253ecc18c8d645219ee1da631163dd6846a8142515704a6a1c2a8cd1c
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 1.7.1
2
+ current_version = 1.7.2
3
3
  files = lib/solvebio/version.rb
4
4
  commit = True
5
5
  tag = False
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
 
4
4
  gem 'addressable'
5
5
  gem 'rest_client'
6
- gem 'netrc', '~>0.7.7' # rest_client needs netrc 0.7.7
6
+ gem 'netrc', '~>0.7.7' # rest_client needs netrc 0.7.7
7
7
  group :test do
8
8
  gem 'webmock'
9
9
  end
data/README.md CHANGED
@@ -27,9 +27,7 @@ Installing from Git
27
27
 
28
28
  First, install dependencies:
29
29
 
30
- gem install rest_client
31
- gem install addressable
32
- gem install netrc
30
+ gem install rest_client addressable netrc
33
31
 
34
32
  Install from source:
35
33
 
data/Rakefile CHANGED
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  task :install => :gem do
27
27
  Dir.chdir(ROOT_DIR) do
28
- sh %{gem install --both pkg/#{gemspec.file_name}}
28
+ sh %{gem install --dev --both pkg/#{gemspec.file_name}}
29
29
  end
30
30
  end
31
31
 
data/installer CHANGED
@@ -43,20 +43,36 @@ function ctrl_c() {
43
43
 
44
44
  echo " Installing SolveBio for Ruby..."
45
45
  echo
46
- echo " IMPORTANT: Your computer's password may be required. It will NOT be sent to SolveBio."
47
46
 
48
47
  # Setup the log
49
48
  LOG=/tmp/solvebio-ruby.log
50
49
  echo "SolveBio Ruby Guided Installer log" > $LOG
51
50
  echo `date` >> $LOG
52
51
 
53
- # Are we installing or upgrading?
54
- if [ $(gem list | grep solvebio -c) -ne 0 ]; then
55
- sudo gem update solvebio 2>&1 >> $LOG
56
- else
57
- sudo gem install -q solvebio 2>&1 >> $LOG
52
+ RUBY=`which ruby`
53
+
54
+ if [ "$RUBY" == "" ]; then
55
+ echo " Ruby is not installed. Please install Ruby before installing SolveBio for Ruby."
56
+ fail_exit
57
+ fi
58
+
59
+ GEM=`which gem`
60
+
61
+ if [ "$RUBY" == "" ]; then
62
+ echo " Ruby is not installed. Please install Ruby before installing SolveBio for Ruby."
63
+ fail_exit
64
+ fi
65
+
66
+ # TODO: check ruby and gem versions
67
+ GEM_OWNER=`ls -l $GEM | awk '{ print $3 }'`
68
+
69
+ if [ "$GEM_OWNER" == "root" ]; then
70
+ GEM="sudo ${GEM}"
71
+ echo " IMPORTANT: Your computer's password may be required. It will NOT be sent to SolveBio."
58
72
  fi
59
73
 
74
+ $GEM install solvebio 2>&1 >> $LOG
75
+
60
76
  if [ $? -eq 0 ]; then
61
77
  VERSION=`ruby -e "require 'solvebio'; print SolveBio::VERSION"`
62
78
  echo
@@ -68,6 +84,15 @@ if [ $? -eq 0 ]; then
68
84
  echo
69
85
  echo " ##############################################"
70
86
  echo
87
+
88
+ # Detect old credentials in ~/.netrc (they will interfere with Ruby's Rest Client)
89
+ NETRC_WARN=`grep -c "solvebio" ~/.netrc`
90
+ if [ "$NETRC_WARN" -gt "0" ]; then
91
+ echo
92
+ echo "Warning: SolveBio credentials were found in ~/.netrc"
93
+ echo "Please delete the lines in ~/.netrc with SolveBio credentials."
94
+ echo
95
+ fi
71
96
  else
72
97
  fail_exit
73
98
  fi
@@ -12,21 +12,14 @@ IRB.conf[:PROMPT][:SIMPLE] = {
12
12
  require 'solvebio'
13
13
  require 'solvebio/cli'
14
14
 
15
- have_completion = nil
16
15
  begin
17
- require 'bond' and require 'bond/completion'
18
- have_completion = 'bond'
16
+ require 'bond'
17
+ Bond.start
19
18
  rescue LoadError
20
19
  begin
21
- have_completion = require 'irb/completion'
20
+ require 'irb/completion'
22
21
  rescue LoadError
23
- have_completion = false
24
- end
25
- end
26
-
27
- unless have_completion
28
- if have_completion != 'bond'
29
- puts "Please install the 'bond' getm for better autocompletion"
22
+ puts "To enable tab-completion, please install the 'bond' gem (gem install bond)."
30
23
  end
31
24
  end
32
25
 
@@ -144,9 +144,11 @@ module SolveBio
144
144
  begin
145
145
  value = Float(value)
146
146
  rescue
147
- raise(TypeError,
148
- "Invalid field value #{value} for #{key}; " +
149
- "Should be a number")
147
+ if /\d{4}-\d{2}-\d{2}/ !~ value
148
+ raise(TypeError,
149
+ "Invalid field value #{value} for #{key}; " +
150
+ "Should be a number or a date in the format 'YYYY-MM-DD'.")
151
+ end
150
152
  end
151
153
  tuple = [key, value]
152
154
  when 'range'
@@ -230,10 +232,8 @@ module SolveBio
230
232
  else
231
233
  rv << {key => process_filters(val)}
232
234
  end
233
- elsif f.kind_of?(Array)
234
- rv << f
235
235
  else
236
- raise TypeError, "Invalid filter class #{f.class}"
236
+ rv << f
237
237
  end
238
238
  end
239
239
  end
@@ -300,9 +300,9 @@ module SolveBio
300
300
  end
301
301
 
302
302
  if chromosome.nil?
303
- f &= SolveBio::Filter.new({"chromosome" => nil})
303
+ f &= SolveBio::Filter.new({"#{FIELD_CHR}" => nil})
304
304
  else
305
- f &= SolveBio::Filter.new({"chromosome" => chromosome.sub('chr', '')})
305
+ f &= SolveBio::Filter.new({"#{FIELD_CHR}" => chromosome.sub('chr', '')})
306
306
  end
307
307
 
308
308
  @filters = f.filters
@@ -151,6 +151,9 @@ module SolveBio
151
151
  result = Tabulate.tabulate(buffer[0], ['Fields', 'Data'], ['right', 'left'], true)
152
152
  return "\n#{result}\n\n... #{(size - 1).pretty_int} more results."
153
153
  end
154
+ # Force inspect to always call to_s.
155
+ # This happens automatically in Ruby < 2.0.0
156
+ alias_method(:inspect, :to_s)
154
157
 
155
158
  # Convert SolveBio::QueryPaging object to a Hash type
156
159
  def to_h
@@ -1,3 +1,3 @@
1
1
  module SolveBio
2
- VERSION = '1.7.1'
2
+ VERSION = '1.7.2'
3
3
  end
data/solvebio.gemspec CHANGED
@@ -52,13 +52,12 @@ EOD
52
52
  ## List your runtime dependencies here. Runtime dependencies are those
53
53
  ## that are needed for an end user to actually USE your code.
54
54
 
55
- s.add_dependency('netrc', '>=0.7.7') # handling .netrc
56
- s.add_dependency('rest_client', '>=1.8.1') # better URI handler
57
- s.add_dependency('addressable', '>=2.3.6') # better URI parsing
55
+ s.add_dependency('netrc', '~> 0.7')
56
+ s.add_dependency('rest_client', '~> 1.8', '>= 1.8.1')
57
+ s.add_dependency('addressable', '~> 2.3', '>= 2.3.6')
58
58
 
59
59
  ## List your development dependencies here. Development dependencies are
60
60
  ## those that are only needed during development
61
- # s.add_development_dependency('DEVDEPNAME', [">= 1.1.0", "< 2.0.0"])
62
61
  s.add_development_dependency('rake')
63
62
  s.add_development_dependency('rdoc')
64
63
  s.add_development_dependency('webmock')
@@ -49,7 +49,7 @@ module SolveBio
49
49
 
50
50
  def test_genomic_filter
51
51
  assert_equal(
52
- '<GenomicFilter [{:and=>[["genomic_coordinates.start", 13], ["genomic_coordinates.stop", 32200000], ["chromosome", "hg38"]]}]>',
52
+ '<GenomicFilter [{:and=>[["genomic_coordinates.start", 13], ["genomic_coordinates.stop", 32200000], ["genomic_coordinates.chromosome", "hg38"]]}]>',
53
53
  SolveBio::GenomicFilter.
54
54
  new("hg38", "13", 32200000, 32500000).inspect)
55
55
  end
@@ -65,21 +65,21 @@ module SolveBio
65
65
  def test_genomic_single_position
66
66
  f = SolveBio::GenomicFilter.new('chr1', 100)
67
67
  assert_equal(
68
- '<GenomicFilter [{:and=>[["genomic_coordinates.start__gte", 100.0], ["genomic_coordinates.start__lte", 100.0], ["chromosome", "1"]]}]>',
68
+ '<GenomicFilter [{:and=>[["genomic_coordinates.start__gte", 100.0], ["genomic_coordinates.start__lte", 100.0], ["genomic_coordinates.chromosome", "1"]]}]>',
69
69
  f.inspect)
70
70
 
71
71
  f = SolveBio::GenomicFilter.new('chr1', 100, 100, true)
72
72
  assert_equal(
73
- '<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 100], ["chromosome", "1"]]}]>',
73
+ '<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 100], ["genomic_coordinates.chromosome", "1"]]}]>',
74
74
  f.inspect)
75
75
  end
76
76
 
77
77
  def test_range
78
78
  f = SolveBio::GenomicFilter.new('chr1', 100, 200)
79
- assert_equal('<GenomicFilter [{:and=>[{:or=>[{:and=>[["genomic_coordinates.start__gte", 200.0], ["genomic_coordinates.start__lte", 100.0]]}, ["genomic_coordinates.start__range", [100, 201]], ["genomic_coordinates.stop__range", [100, 201]]]}, ["chromosome", "1"]]}]>',
79
+ assert_equal('<GenomicFilter [{:and=>[{:or=>[{:and=>[["genomic_coordinates.start__gte", 200.0], ["genomic_coordinates.start__lte", 100.0]]}, ["genomic_coordinates.start__range", [100, 201]], ["genomic_coordinates.stop__range", [100, 201]]]}, ["genomic_coordinates.chromosome", "1"]]}]>',
80
80
  f.inspect)
81
81
  f = SolveBio::GenomicFilter.new('chr1', 100, 200, true)
82
- assert_equal('<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 200], ["chromosome", "1"]]}]>',
82
+ assert_equal('<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 200], ["genomic_coordinates.chromosome", "1"]]}]>',
83
83
  f.inspect)
84
84
  end
85
85
  end
metadata CHANGED
@@ -1,125 +1,118 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solvebio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
5
- prerelease:
4
+ version: 1.7.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - SolveBio
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-12-14 00:00:00.000000000 Z
11
+ date: 2014-12-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: netrc
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 0.7.7
19
+ version: '0.7'
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
29
- version: 0.7.7
26
+ version: '0.7'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rest_client
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.8'
34
+ - - ">="
36
35
  - !ruby/object:Gem::Version
37
36
  version: 1.8.1
38
37
  type: :runtime
39
38
  prerelease: false
40
39
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
40
  requirements:
43
- - - ! '>='
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.8'
44
+ - - ">="
44
45
  - !ruby/object:Gem::Version
45
46
  version: 1.8.1
46
47
  - !ruby/object:Gem::Dependency
47
48
  name: addressable
48
49
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
50
  requirements:
51
- - - ! '>='
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.3'
54
+ - - ">="
52
55
  - !ruby/object:Gem::Version
53
56
  version: 2.3.6
54
57
  type: :runtime
55
58
  prerelease: false
56
59
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
60
  requirements:
59
- - - ! '>='
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '2.3'
64
+ - - ">="
60
65
  - !ruby/object:Gem::Version
61
66
  version: 2.3.6
62
67
  - !ruby/object:Gem::Dependency
63
68
  name: rake
64
69
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
70
  requirements:
67
- - - ! '>='
71
+ - - ">="
68
72
  - !ruby/object:Gem::Version
69
73
  version: '0'
70
74
  type: :development
71
75
  prerelease: false
72
76
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
77
  requirements:
75
- - - ! '>='
78
+ - - ">="
76
79
  - !ruby/object:Gem::Version
77
80
  version: '0'
78
81
  - !ruby/object:Gem::Dependency
79
82
  name: rdoc
80
83
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
84
  requirements:
83
- - - ! '>='
85
+ - - ">="
84
86
  - !ruby/object:Gem::Version
85
87
  version: '0'
86
88
  type: :development
87
89
  prerelease: false
88
90
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
91
  requirements:
91
- - - ! '>='
92
+ - - ">="
92
93
  - !ruby/object:Gem::Version
93
94
  version: '0'
94
95
  - !ruby/object:Gem::Dependency
95
96
  name: webmock
96
97
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
98
  requirements:
99
- - - ! '>='
99
+ - - ">="
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
105
  requirements:
107
- - - ! '>='
106
+ - - ">="
108
107
  - !ruby/object:Gem::Version
109
108
  version: '0'
110
- description: ! 'SolveBio is a platform for biomedical datasets. With SolveBio you
111
- can
112
-
109
+ description: |
110
+ SolveBio is a platform for biomedical datasets. With SolveBio you can
113
111
  forget about parsing complex flat files and sifting through cryptic
114
-
115
112
  datasets. Just use the Ruby Client and API to explore massive
116
-
117
113
  datasets and automate just about any bioinformatics workflow.
118
114
 
119
-
120
115
  See https://www.solvebio.com/ for more information.
121
-
122
- '
123
116
  email: contact@solvebio.com
124
117
  executables:
125
118
  - solvebio.rb
@@ -127,9 +120,9 @@ extensions: []
127
120
  extra_rdoc_files:
128
121
  - LICENSE
129
122
  files:
130
- - .bumpversion.cfg
131
- - .gitignore
132
- - .travis.yml
123
+ - ".bumpversion.cfg"
124
+ - ".gitignore"
125
+ - ".travis.yml"
133
126
  - Gemfile
134
127
  - Gemspec
135
128
  - LICENSE
@@ -194,26 +187,25 @@ files:
194
187
  homepage: https://www.solvebio.com
195
188
  licenses:
196
189
  - MIT
190
+ metadata: {}
197
191
  post_install_message:
198
192
  rdoc_options:
199
- - --charset=UTF-8
193
+ - "--charset=UTF-8"
200
194
  require_paths:
201
195
  - lib
202
196
  required_ruby_version: !ruby/object:Gem::Requirement
203
- none: false
204
197
  requirements:
205
- - - ! '>='
198
+ - - ">="
206
199
  - !ruby/object:Gem::Version
207
200
  version: 1.9.0
208
201
  required_rubygems_version: !ruby/object:Gem::Requirement
209
- none: false
210
202
  requirements:
211
- - - ! '>='
203
+ - - ">="
212
204
  - !ruby/object:Gem::Version
213
205
  version: '0'
214
206
  requirements: []
215
207
  rubyforge_project:
216
- rubygems_version: 1.8.23
208
+ rubygems_version: 2.4.5
217
209
  signing_key:
218
210
  specification_version: 2
219
211
  summary: Ruby bindings for the SolveBio API