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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf44ea3afdea9ea36a3dc9f6b90d61bbc4440bd9
4
- data.tar.gz: 2381a2b4205d320971db7559d834e8b467f386c1
3
+ metadata.gz: 76d7347399c69b644a766ec5553693a73532395d
4
+ data.tar.gz: 875d4feb373ff1d10b559abeb6990a76ea95775d
5
5
  SHA512:
6
- metadata.gz: c70391a54ad038ade9147fe69c25feb2d0589a206784eb9e0d2bc2e7d94d18d613aed8bc6811d23c3c6e0243750c473c97fd42bfce65af64114c4057f83e7d65
7
- data.tar.gz: 8988a1bd0e760911e30896de7d8f47cf48ce418406ee0c932f23a7100b0cb09f2532267925e34fc11455c1525643eaaf364bced2e0330f295432aedb31958845
6
+ metadata.gz: deb4d66dbd2b9141e15ea8d7579301f3a135de4c5c6ac1dd507f33a7d2d590c0632b93ec14eece863325dbd96ebe142f2b1b5176c296bc172b9a5aa1c07efb3a
7
+ data.tar.gz: 6b5308c3294ea97be5cb2c62cdcfb783c7499998b4064b46eb224798258c871021ee0b1724462d08714e5ac2f91b5fd7e3a3785143ce823b0b817684956d0dfc
data/.gitignore CHANGED
@@ -20,3 +20,4 @@ tmp
20
20
  *.o
21
21
  *.a
22
22
  mkmf.log
23
+ vendor/bundle
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.2
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 = YAML.load_file( File.expand_path('~/.whos_dated_who.yml'))[:bing_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
@@ -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[:status]}: #{result[:current_relationship][:human]}"
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
 
@@ -1,3 +1,3 @@
1
1
  module WhosDatedWho
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
1
4
  require 'whos_dated_who'
2
5
 
3
6
  RSpec.configure do |config|
@@ -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.1
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-15 00:00:00.000000000 Z
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: