whos_dated_who 0.0.1 → 0.1.0
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/.gitignore +1 -0
- data/.travis.yml +3 -0
- data/README.md +2 -0
- data/celebs.yml +52 -0
- data/lib/whos_dated_who/bing_client.rb +2 -1
- data/lib/whos_dated_who/cli.rb +31 -1
- data/lib/whos_dated_who/importer.rb +31 -0
- data/lib/whos_dated_who/parser.rb +2 -1
- data/lib/whos_dated_who/version.rb +1 -1
- data/spec/spec_helper.rb +3 -0
- data/whos_dated_who.gemspec +2 -0
- metadata +33 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76d7347399c69b644a766ec5553693a73532395d
|
4
|
+
data.tar.gz: 875d4feb373ff1d10b559abeb6990a76ea95775d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: deb4d66dbd2b9141e15ea8d7579301f3a135de4c5c6ac1dd507f33a7d2d590c0632b93ec14eece863325dbd96ebe142f2b1b5176c296bc172b9a5aa1c07efb3a
|
7
|
+
data.tar.gz: 6b5308c3294ea97be5cb2c62cdcfb783c7499998b4064b46eb224798258c871021ee0b1724462d08714e5ac2f91b5fd7e3a3785143ce823b0b817684956d0dfc
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# WhosDatedWho
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/whos_dated_who) [](https://travis-ci.org/blackxored/whos_dated_who) [](https://coveralls.io/r/blackxored/whos_dated_who) [](https://gemnasium.com/blackxored/whos_dated_who) [](https://codeclimate.com/github/blackxored/whos_dated_who)
|
4
|
+
|
3
5
|
Unofficial API for http://whosdatedwho.com
|
4
6
|
|
5
7
|
## Installation
|
data/celebs.yml
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
- Natalia Melnikova
|
3
|
+
- Amber Heard
|
4
|
+
- Danielle Knudson
|
5
|
+
- Elizabeth Loaiza
|
6
|
+
- Aja Warren
|
7
|
+
- Miranda Kerr
|
8
|
+
- Nicola Peltz
|
9
|
+
- Beatriz Carvaleihra
|
10
|
+
- Rebecca Hall
|
11
|
+
- Candice Swanepoel
|
12
|
+
- Nikki Nardini
|
13
|
+
- Emily Blunt
|
14
|
+
- Amanda Cerny
|
15
|
+
- Natalia Velez
|
16
|
+
- Jessica Jane-Clement
|
17
|
+
- Chloe Bennet
|
18
|
+
- Megan Retzlaff
|
19
|
+
- Sandra Valencia
|
20
|
+
- Jordan Nolan
|
21
|
+
- Rebeca da Costa
|
22
|
+
- Lina Posada
|
23
|
+
- Mariana Davalos
|
24
|
+
- Camila Davalos
|
25
|
+
- Danni Meow
|
26
|
+
- Demi Rose
|
27
|
+
- Natasha Barnard
|
28
|
+
- Alison Brie
|
29
|
+
- Zoey Deschanel
|
30
|
+
- Nina Dobrev
|
31
|
+
- Kat Graham
|
32
|
+
- Petra Nemcova
|
33
|
+
- Kari Sweets
|
34
|
+
- Mila Ryzhkova
|
35
|
+
- Megan Mclellan
|
36
|
+
- Yvonne Strahovski
|
37
|
+
- Doutzen Kroes
|
38
|
+
- Amanda Seyfried
|
39
|
+
- Kate Upton
|
40
|
+
- Karlie Kloss
|
41
|
+
- Elisabeth Harnois
|
42
|
+
- Alice Eve
|
43
|
+
- Tara Reid
|
44
|
+
- Shelley Henning
|
45
|
+
- Taylor Swift
|
46
|
+
- Hayden Panettiere
|
47
|
+
- Phoebe Tonkin
|
48
|
+
- Ashley Benson
|
49
|
+
- Ashley Greene
|
50
|
+
- Jennifer Lawrence
|
51
|
+
- Katheryn Winnick
|
52
|
+
- Scarlett Johansson
|
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
module WhosDatedWho
|
3
3
|
class BingClient
|
4
|
-
API_KEY =
|
4
|
+
API_KEY = ENV['BING_API_KEY'] ||
|
5
|
+
YAML.load_file( File.expand_path('~/.whos_dated_who.yml'))[:bing_api_key]
|
5
6
|
|
6
7
|
def initialize(api_key=API_KEY)
|
7
8
|
@api_key = api_key
|
data/lib/whos_dated_who/cli.rb
CHANGED
@@ -11,8 +11,38 @@ module WhosDatedWho
|
|
11
11
|
desc "query", "Return the relationship status of a celebrity"
|
12
12
|
def query(name)
|
13
13
|
result = Client.new.fetch(name)
|
14
|
-
puts "#{result[:
|
14
|
+
puts "#{result[:relationship_status]}: #{result[:current_relationship][:human]}"
|
15
15
|
puts result[:current_relationship][:dates].join(", ")
|
16
16
|
end
|
17
|
+
|
18
|
+
desc "explore", "Return the relationship status of everyone included in celebs.yml"
|
19
|
+
def explore
|
20
|
+
results = []
|
21
|
+
celebs = my_celebs
|
22
|
+
celebs.each do |celeb|
|
23
|
+
puts "Processing #{celeb}..."
|
24
|
+
begin
|
25
|
+
results << Client.new.fetch(celeb)
|
26
|
+
rescue
|
27
|
+
puts "Error processing #{celeb}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
results
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "import_mine", "Import my favorites into RethinkDB"
|
34
|
+
def import_mine
|
35
|
+
Importer.new('celebs', 'mine').fetch_and_import(my_celebs)
|
36
|
+
end
|
37
|
+
|
38
|
+
desc "import_maxim", "Import maxim hot 100"
|
39
|
+
def import_maxim
|
40
|
+
resp = Faraday.get('http://www.maxim.com/hot100/2014')
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
def my_celebs
|
45
|
+
YAML.load_file(File.expand_path('../../../celebs.yml', __FILE__))
|
46
|
+
end
|
17
47
|
end
|
18
48
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module WhosDatedWho
|
2
|
+
class Importer
|
3
|
+
include RethinkDB::Shortcuts
|
4
|
+
attr_reader :conn, :logger, :table_name
|
5
|
+
|
6
|
+
def initialize(db, table_name)
|
7
|
+
@conn = r.connect(host: 'localhost', db: db || 'celebs')
|
8
|
+
@logger = Logger.new(STDOUT)
|
9
|
+
@table_name = table_name
|
10
|
+
end
|
11
|
+
|
12
|
+
def fetch_and_import(celebs)
|
13
|
+
celebs.each do |celeb|
|
14
|
+
begin
|
15
|
+
logger.info "Fetching #{celeb}"
|
16
|
+
result = Client.new.fetch(celeb)
|
17
|
+
logger.info "Importing #{celeb} to #{table_name}"
|
18
|
+
import(result)
|
19
|
+
rescue
|
20
|
+
first_name, last_name = celeb.split
|
21
|
+
r.table("missing_#{table_name}").insert({first_name: first_name, last_name: last_name}).run(conn)
|
22
|
+
logger.error("Error importing #{celeb}, added to missing")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def import(results)
|
28
|
+
r.table(table_name).insert(JSON.parse(results.to_json)).run(conn)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -47,9 +47,10 @@ module WhosDatedWho
|
|
47
47
|
result[:status] = :married if relationship[:human] =~ /married/
|
48
48
|
result[:status] = :engaged if relationship[:human] =~ /engaged/
|
49
49
|
result[:status] = :rumored if relationship[:human] =~ /rumored/
|
50
|
+
result[:status] = :single if relationship[:human] =~ /single/
|
50
51
|
relationship
|
51
52
|
end
|
52
|
-
|
53
|
+
|
53
54
|
def extract_past_relationships
|
54
55
|
end
|
55
56
|
|
data/spec/spec_helper.rb
CHANGED
data/whos_dated_who.gemspec
CHANGED
@@ -30,4 +30,6 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency "rspec"
|
31
31
|
spec.add_development_dependency "webmock"
|
32
32
|
spec.add_development_dependency "pry-rescue"
|
33
|
+
spec.add_development_dependency "coveralls"
|
34
|
+
spec.add_development_dependency "rethinkdb"
|
33
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whos_dated_who
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrian Perez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -164,6 +164,34 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: coveralls
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rethinkdb
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
167
195
|
description: Unofficial API for whosdatedwho.com
|
168
196
|
email:
|
169
197
|
- adrianperez.deb@gmail.com
|
@@ -174,16 +202,19 @@ extra_rdoc_files: []
|
|
174
202
|
files:
|
175
203
|
- ".gitignore"
|
176
204
|
- ".rspec"
|
205
|
+
- ".travis.yml"
|
177
206
|
- Gemfile
|
178
207
|
- LICENSE.txt
|
179
208
|
- README.md
|
180
209
|
- Rakefile
|
181
210
|
- bin/whos_dated_who
|
211
|
+
- celebs.yml
|
182
212
|
- lib/whos_dated_who.rb
|
183
213
|
- lib/whos_dated_who/bing_client.rb
|
184
214
|
- lib/whos_dated_who/biography.rb
|
185
215
|
- lib/whos_dated_who/cli.rb
|
186
216
|
- lib/whos_dated_who/client.rb
|
217
|
+
- lib/whos_dated_who/importer.rb
|
187
218
|
- lib/whos_dated_who/parser.rb
|
188
219
|
- lib/whos_dated_who/version.rb
|
189
220
|
- spec/fixtures/scarlett-johansson.resp
|
@@ -2137,4 +2168,3 @@ test_files:
|
|
2137
2168
|
- spec/spec_helper.rb
|
2138
2169
|
- spec/whos_dated_who/client_spec.rb
|
2139
2170
|
- spec/whos_dated_who/parser_spec.rb
|
2140
|
-
has_rdoc:
|