lateral_recommender 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Accept:
13
13
  - '*/*'
14
14
  Date:
15
- - Thu, 22 Jan 2015 15:02:54 GMT
15
+ - Thu, 05 Feb 2015 15:40:25 GMT
16
16
  Content-Type:
17
17
  - application/x-www-form-urlencoded
18
18
  response:
@@ -41,13 +41,13 @@ http_interactions:
41
41
  Strict-Transport-Security:
42
42
  - max-age=31536000
43
43
  X-Request-Id:
44
- - f14c83a7-2278-4fb1-b7ee-b3a80a4d7185
44
+ - 47a7acdf-e8ca-4c81-b99f-849d4613e52e
45
45
  X-Runtime:
46
- - '0.548847'
46
+ - '0.580616'
47
47
  X-Powered-By:
48
48
  - Phusion Passenger 4.0.37
49
49
  Date:
50
- - Thu, 22 Jan 2015 15:02:55 GMT
50
+ - Thu, 05 Feb 2015 15:40:25 GMT
51
51
  body:
52
52
  encoding: ASCII-8BIT
53
53
  string: !binary |-
@@ -112,5 +112,5 @@ http_interactions:
112
112
  bWVzIE0uIERvaG0iXSwiZGF0ZSI6IjIwMTQtMTAtMTMiLCJkb2N1bWVudF9p
113
113
  ZCI6InB1Ym1lZC0xNjM3OTUzMS0xIn1d
114
114
  http_version:
115
- recorded_at: Thu, 22 Jan 2015 15:02:56 GMT
115
+ recorded_at: Thu, 05 Feb 2015 15:40:26 GMT
116
116
  recorded_with: VCR 2.9.3
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Accept:
13
13
  - '*/*'
14
14
  Date:
15
- - Thu, 22 Jan 2015 15:01:37 GMT
15
+ - Thu, 05 Feb 2015 15:40:24 GMT
16
16
  Content-Type:
17
17
  - application/x-www-form-urlencoded
18
18
  response:
@@ -41,13 +41,13 @@ http_interactions:
41
41
  Strict-Transport-Security:
42
42
  - max-age=31536000
43
43
  X-Request-Id:
44
- - 71613226-3c50-4623-8fbe-9ad5be24d638
44
+ - 22ab22b4-7e60-4e9a-8fa9-120fbcd859bb
45
45
  X-Runtime:
46
- - '0.591229'
46
+ - '0.439285'
47
47
  X-Powered-By:
48
48
  - Phusion Passenger 4.0.37
49
49
  Date:
50
- - Thu, 22 Jan 2015 15:01:37 GMT
50
+ - Thu, 05 Feb 2015 15:40:24 GMT
51
51
  body:
52
52
  encoding: ASCII-8BIT
53
53
  string: !binary |-
@@ -84,5 +84,5 @@ http_interactions:
84
84
  MTQtMTAtMTMiLCJkb2N1bWVudF9pZCI6Indpa2lwZWRpYS0yMDcxMzYzMiJ9
85
85
  XQ==
86
86
  http_version:
87
- recorded_at: Thu, 22 Jan 2015 15:01:39 GMT
87
+ recorded_at: Thu, 05 Feb 2015 15:40:25 GMT
88
88
  recorded_with: VCR 2.9.3
@@ -8,7 +8,7 @@ describe LateralRecommender do
8
8
  it 'errors with invalid API key' do
9
9
  api = LateralRecommender::API.new 'no'
10
10
  VCR.use_cassette('invalid_key') do
11
- response = api.near_text text: 'test'
11
+ response = api.near_text 'test'
12
12
  expect(response[:error][:status_code]).to eq(401)
13
13
  expect(response[:error][:message]).to include('invalid subscription key')
14
14
  end
@@ -22,59 +22,76 @@ describe LateralRecommender do
22
22
  end
23
23
  end
24
24
 
25
- it 'gets recommendations' do
25
+ it 'gets recommendations from text' do
26
26
  VCR.use_cassette('near_text') do
27
- response = api.near_text text: body
27
+ response = api.near_text body
28
28
  expect(response.length).to eq(20)
29
29
  expect(response.first['document_id']).to eq('doc_id')
30
30
  end
31
31
  end
32
32
 
33
- it 'gets recommendations from movies' do
33
+ it 'gets recommendations by ID' do
34
+ VCR.use_cassette('near_id') do
35
+ response = api.near_id 'doc_id'
36
+ expect(response.length).to eq(20)
37
+ expect(response.first['document_id']).to eq('doc_id')
38
+ end
39
+ end
40
+
41
+ it 'gets recommendations from text in movies' do
34
42
  api = LateralRecommender::API.new ENV['API_KEY'], 'movies'
35
43
  VCR.use_cassette('near_text_movies') do
36
- response = api.near_text text: body
37
- expect(response.length).to eq(20)
44
+ response = api.near_text body
45
+ expect(response.length).to eq(19)
38
46
  expect(response.first['title']).to eq('First World')
39
47
  end
40
48
  end
41
49
 
42
- it 'gets recommendations from news' do
50
+ it 'gets recommendations from text in news' do
43
51
  api = LateralRecommender::API.new ENV['API_KEY'], 'news'
44
52
  VCR.use_cassette('near_text_news') do
45
- response = api.near_text text: body
53
+ response = api.near_text body
46
54
  expect(response.length).to be > 10 # This should be done better
47
55
  expect(response.first['title']).to include('The Space Missions and Events')
48
56
  end
49
57
  end
50
58
 
51
- it 'gets recommendations from wikipedia' do
59
+ it 'gets recommendations from text in wikipedia' do
52
60
  api = LateralRecommender::API.new ENV['API_KEY'], 'wikipedia'
53
61
  VCR.use_cassette('near_text_wikipedia') do
54
- response = api.near_text text: body
62
+ response = api.near_text body
55
63
  expect(response.length).to eq(10)
56
64
  expect(response.first['title']).to eq('Space exploration')
57
65
  end
58
66
  end
59
67
 
60
- it 'gets recommendations from pubmed' do
68
+ it 'gets recommendations from text in pubmed' do
61
69
  api = LateralRecommender::API.new ENV['API_KEY'], 'pubmed'
62
70
  VCR.use_cassette('near_text_pubmed') do
63
- response = api.near_text text: body
71
+ response = api.near_text body
64
72
  expect(response.length).to eq(10)
65
73
  expect(response.first['title']).to include('NASA and the search')
66
74
  end
67
75
  end
68
76
 
69
- it 'gets recommendations from arxiv' do
77
+ it 'gets recommendations from text in arxiv' do
70
78
  api = LateralRecommender::API.new ENV['API_KEY'], 'arxiv'
71
79
  VCR.use_cassette('near_text_arxiv') do
72
- response = api.near_text text: body
80
+ response = api.near_text body
73
81
  expect(response.length).to eq(10)
74
82
  expect(response.first['title']).to include('A Lunar L2-Farside')
75
83
  end
76
84
  end
77
85
 
86
+ it 'gets recommendations by ID in arxiv' do
87
+ api = LateralRecommender::API.new ENV['API_KEY'], 'arxiv'
88
+ VCR.use_cassette('near_id_arxiv') do
89
+ response = api.near_id 'arxiv-http://arxiv.org/abs/1403.2165'
90
+ expect(response.length).to eq(10)
91
+ expect(response.first['title']).to include('Set-valued sorting index')
92
+ end
93
+ end
94
+
78
95
  it 'adds a user' do
79
96
  VCR.use_cassette('add_user') do
80
97
  response = api.add_user('user_id')
@@ -104,7 +121,7 @@ describe LateralRecommender do
104
121
  api = LateralRecommender::API.new ENV['API_KEY'], 'movies'
105
122
  VCR.use_cassette('near_user_movies') do
106
123
  response = api.near_user('user_id')
107
- expect(response.length).to eq(20)
124
+ expect(response.length).to eq(19)
108
125
  expect(response.first['title']).to include('First World')
109
126
  end
110
127
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'env_vars'
1
+ require 'env_vars' unless ENV.include? 'TRAVIS_BUILD_ID'
2
2
  require 'vcr'
3
3
  require 'ap'
4
4
  require 'lateral_recommender'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lateral_recommender
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Novakovic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: json
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: activesupport
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -144,6 +158,8 @@ extensions: []
144
158
  extra_rdoc_files: []
145
159
  files:
146
160
  - .gitignore
161
+ - .rspec
162
+ - .travis.yml
147
163
  - Gemfile
148
164
  - LICENSE.txt
149
165
  - README.md
@@ -156,6 +172,8 @@ files:
156
172
  - spec/fixtures/tapes/add_user.yml
157
173
  - spec/fixtures/tapes/add_user_document.yml
158
174
  - spec/fixtures/tapes/invalid_key.yml
175
+ - spec/fixtures/tapes/near_id.yml
176
+ - spec/fixtures/tapes/near_id_arxiv.yml
159
177
  - spec/fixtures/tapes/near_text.yml
160
178
  - spec/fixtures/tapes/near_text_arxiv.yml
161
179
  - spec/fixtures/tapes/near_text_movies.yml
@@ -200,6 +218,8 @@ test_files:
200
218
  - spec/fixtures/tapes/add_user.yml
201
219
  - spec/fixtures/tapes/add_user_document.yml
202
220
  - spec/fixtures/tapes/invalid_key.yml
221
+ - spec/fixtures/tapes/near_id.yml
222
+ - spec/fixtures/tapes/near_id_arxiv.yml
203
223
  - spec/fixtures/tapes/near_text.yml
204
224
  - spec/fixtures/tapes/near_text_arxiv.yml
205
225
  - spec/fixtures/tapes/near_text_movies.yml