whos_dated_who 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Gem Version](https://badge.fury.io/rb/whos_dated_who.png)](http://badge.fury.io/rb/whos_dated_who) [![Build Status](https://travis-ci.org/blackxored/whos_dated_who.png)](https://travis-ci.org/blackxored/whos_dated_who) [![Coverage Status](https://coveralls.io/repos/blackxored/whos_dated_who/badge.png?branch=master)](https://coveralls.io/r/blackxored/whos_dated_who) [![Dependency Status](https://gemnasium.com/blackxored/whos_dated_who.png)](https://gemnasium.com/blackxored/whos_dated_who) [![Code Climate](https://codeclimate.com/github/blackxored/whos_dated_who.png)](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:
|