lateral_recommender 0.0.1 → 0.0.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.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/.travis.yml +15 -0
- data/README.md +27 -17
- data/lateral_recommender.gemspec +1 -3
- data/lib/lateral_recommender/version.rb +1 -1
- data/lib/lateral_recommender.rb +13 -0
- data/spec/fixtures/tapes/add.yml +4 -4
- data/spec/fixtures/tapes/add_user.yml +7 -7
- data/spec/fixtures/tapes/add_user_document.yml +7 -7
- data/spec/fixtures/tapes/invalid_key.yml +4 -4
- data/spec/fixtures/tapes/near_id.yml +47 -0
- data/spec/fixtures/tapes/near_id_arxiv.yml +68 -0
- data/spec/fixtures/tapes/near_text.yml +17 -25
- data/spec/fixtures/tapes/near_text_arxiv.yml +17 -17
- data/spec/fixtures/tapes/near_text_movies.yml +1212 -1212
- data/spec/fixtures/tapes/near_text_news.yml +320 -284
- data/spec/fixtures/tapes/near_text_pubmed.yml +22 -22
- data/spec/fixtures/tapes/near_text_wikipedia.yml +17 -17
- data/spec/fixtures/tapes/near_user.yml +8 -8
- data/spec/fixtures/tapes/near_user_arxiv.yml +5 -5
- data/spec/fixtures/tapes/near_user_movies.yml +1210 -1229
- data/spec/fixtures/tapes/near_user_news.yml +327 -291
- data/spec/fixtures/tapes/near_user_pubmed.yml +5 -5
- data/spec/fixtures/tapes/near_user_wikipedia.yml +5 -5
- data/spec/lateral_recommender_spec.rb +32 -15
- data/spec/spec_helper.rb +1 -1
- metadata +22 -2
@@ -12,7 +12,7 @@ http_interactions:
|
|
12
12
|
Accept:
|
13
13
|
- '*/*'
|
14
14
|
Date:
|
15
|
-
- Thu,
|
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
|
-
-
|
44
|
+
- 47a7acdf-e8ca-4c81-b99f-849d4613e52e
|
45
45
|
X-Runtime:
|
46
|
-
- '0.
|
46
|
+
- '0.580616'
|
47
47
|
X-Powered-By:
|
48
48
|
- Phusion Passenger 4.0.37
|
49
49
|
Date:
|
50
|
-
- Thu,
|
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,
|
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,
|
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
|
-
-
|
44
|
+
- 22ab22b4-7e60-4e9a-8fa9-120fbcd859bb
|
45
45
|
X-Runtime:
|
46
|
-
- '0.
|
46
|
+
- '0.439285'
|
47
47
|
X-Powered-By:
|
48
48
|
- Phusion Passenger 4.0.37
|
49
49
|
Date:
|
50
|
-
- Thu,
|
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,
|
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
|
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
|
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
|
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
|
37
|
-
expect(response.length).to eq(
|
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
|
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
|
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
|
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
|
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(
|
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
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.
|
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-
|
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
|