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 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: