ice_and_fire_api 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +14 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +86 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/ice_and_fire_api.gemspec +31 -0
- data/lib/ice_and_fire_api/book.rb +38 -0
- data/lib/ice_and_fire_api/character.rb +44 -0
- data/lib/ice_and_fire_api/house.rb +45 -0
- data/lib/ice_and_fire_api/root.rb +17 -0
- data/lib/ice_and_fire_api/version.rb +3 -0
- data/lib/ice_and_fire_api.rb +12 -0
- data/spec/fixtures/book_find.yml +276 -0
- data/spec/fixtures/book_find_by_name.yml +575 -0
- data/spec/fixtures/character_find.yml +65 -0
- data/spec/fixtures/character_find_by_name.yml +69 -0
- data/spec/fixtures/house_find.yml +72 -0
- data/spec/fixtures/house_find_by_name.yml +62 -0
- data/spec/fixtures/root_find.yml +51 -0
- data/spec/ice_and_fire_api/book_spec.rb +25 -0
- data/spec/ice_and_fire_api/character_spec.rb +27 -0
- data/spec/ice_and_fire_api/house_spec.rb +25 -0
- data/spec/ice_and_fire_api/root_spec.rb +15 -0
- data/spec/ice_and_fire_api_spec.rb +11 -0
- data/spec/spec_helper.rb +8 -0
- metadata +179 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.anapioficeandfire.com/api/characters/1052
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.10.0
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message:
|
16
|
+
headers:
|
17
|
+
date:
|
18
|
+
- Mon, 26 Dec 2016 15:23:37 GMT
|
19
|
+
content-type:
|
20
|
+
- application/json; charset=utf-8
|
21
|
+
content-length:
|
22
|
+
- '563'
|
23
|
+
connection:
|
24
|
+
- close
|
25
|
+
set-cookie:
|
26
|
+
- __cfduid=de5d31212f08468c6920b3393b3a936681482765817; expires=Tue, 26-Dec-17
|
27
|
+
15:23:37 GMT; path=/; domain=.anapioficeandfire.com; HttpOnly, ARRAffinity=bb02697a828a67d629cd8387c3e7fa89b5a5514b4c02be02a81f93ed19b16cab;Path=/;Domain=www.anapioficeandfire.com
|
28
|
+
cache-control:
|
29
|
+
- no-transform, must-revalidate, max-age=0, private
|
30
|
+
last-modified:
|
31
|
+
- Sat, 24 Dec 2016 13:16:49 GMT
|
32
|
+
etag:
|
33
|
+
- '"3ae040c158f048da9a9b0934cf6fd89e"'
|
34
|
+
vary:
|
35
|
+
- Accept-Encoding
|
36
|
+
x-aspnet-version:
|
37
|
+
- 4.0.30319
|
38
|
+
x-powered-by:
|
39
|
+
- ASP.NET
|
40
|
+
server:
|
41
|
+
- cloudflare-nginx
|
42
|
+
cf-ray:
|
43
|
+
- 317588f557b8254f-ORD
|
44
|
+
body:
|
45
|
+
encoding: ASCII-8BIT
|
46
|
+
string: "{\r\n \"url\": \"http://www.anapioficeandfire.com/api/characters/1052\",\r\n
|
47
|
+
\ \"name\": \"Tyrion Lannister\",\r\n \"gender\": \"Male\",\r\n \"culture\":
|
48
|
+
\"\",\r\n \"born\": \"In 273 AC, at Casterly Rock\",\r\n \"died\": \"\",\r\n
|
49
|
+
\ \"titles\": [\r\n \"Acting Hand of the King (former)\",\r\n \"Master
|
50
|
+
of Coin (former)\"\r\n ],\r\n \"aliases\": [\r\n \"The Imp\",\r\n \"Halfman\",\r\n
|
51
|
+
\ \"The boyman\",\r\n \"Giant of Lannister\",\r\n \"Lord Tywin's Doom\",\r\n
|
52
|
+
\ \"Lord Tywin's Bane\",\r\n \"Yollo\",\r\n \"Hugor Hill\",\r\n \"No-Nose\",\r\n
|
53
|
+
\ \"Freak\",\r\n \"Dwarf\"\r\n ],\r\n \"father\": \"\",\r\n \"mother\":
|
54
|
+
\"\",\r\n \"spouse\": \"http://www.anapioficeandfire.com/api/characters/2044\",\r\n
|
55
|
+
\ \"allegiances\": [\r\n \"http://www.anapioficeandfire.com/api/houses/229\"\r\n
|
56
|
+
\ ],\r\n \"books\": [\r\n \"http://www.anapioficeandfire.com/api/books/5\",\r\n
|
57
|
+
\ \"http://www.anapioficeandfire.com/api/books/11\"\r\n ],\r\n \"povBooks\":
|
58
|
+
[\r\n \"http://www.anapioficeandfire.com/api/books/1\",\r\n \"http://www.anapioficeandfire.com/api/books/2\",\r\n
|
59
|
+
\ \"http://www.anapioficeandfire.com/api/books/3\",\r\n \"http://www.anapioficeandfire.com/api/books/8\"\r\n
|
60
|
+
\ ],\r\n \"tvSeries\": [\r\n \"Season 1\",\r\n \"Season 2\",\r\n \"Season
|
61
|
+
3\",\r\n \"Season 4\",\r\n \"Season 5\",\r\n \"Season 6\"\r\n ],\r\n
|
62
|
+
\ \"playedBy\": [\r\n \"Peter Dinklage\"\r\n ]\r\n}"
|
63
|
+
http_version:
|
64
|
+
recorded_at: Mon, 26 Dec 2016 15:23:37 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,69 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.anapioficeandfire.com/api/characters?name=Jon+Snow
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.10.0
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message:
|
16
|
+
headers:
|
17
|
+
date:
|
18
|
+
- Mon, 26 Dec 2016 15:23:37 GMT
|
19
|
+
content-type:
|
20
|
+
- application/json; charset=utf-8
|
21
|
+
content-length:
|
22
|
+
- '530'
|
23
|
+
connection:
|
24
|
+
- close
|
25
|
+
set-cookie:
|
26
|
+
- __cfduid=d66be78c070509ed9bab58484e0c17f341482765817; expires=Tue, 26-Dec-17
|
27
|
+
15:23:37 GMT; path=/; domain=.anapioficeandfire.com; HttpOnly, ARRAffinity=bb02697a828a67d629cd8387c3e7fa89b5a5514b4c02be02a81f93ed19b16cab;Path=/;Domain=www.anapioficeandfire.com
|
28
|
+
cache-control:
|
29
|
+
- no-transform, must-revalidate, max-age=0, private
|
30
|
+
last-modified:
|
31
|
+
- Mon, 26 Dec 2016 00:29:07 GMT
|
32
|
+
etag:
|
33
|
+
- '"a7d67d91f3c94f979d7e1d90f3b71e09"'
|
34
|
+
vary:
|
35
|
+
- Accept-Encoding
|
36
|
+
link:
|
37
|
+
- <http://www.anapioficeandfire.com/api/characters?name=Jon%20Snow&page=1&pageSize=10>;
|
38
|
+
rel="first", <http://www.anapioficeandfire.com/api/characters?name=Jon%20Snow&page=1&pageSize=10>;
|
39
|
+
rel="last"
|
40
|
+
x-aspnet-version:
|
41
|
+
- 4.0.30319
|
42
|
+
x-powered-by:
|
43
|
+
- ASP.NET
|
44
|
+
server:
|
45
|
+
- cloudflare-nginx
|
46
|
+
cf-ray:
|
47
|
+
- 317588f6603b5625-ORD
|
48
|
+
body:
|
49
|
+
encoding: ASCII-8BIT
|
50
|
+
string: "[\r\n {\r\n \"url\": \"http://www.anapioficeandfire.com/api/characters/583\",\r\n
|
51
|
+
\ \"name\": \"Jon Snow\",\r\n \"gender\": \"Male\",\r\n \"culture\":
|
52
|
+
\"Northmen\",\r\n \"born\": \"In 283 AC\",\r\n \"died\": \"\",\r\n \"titles\":
|
53
|
+
[\r\n \"Lord Commander of the Night's Watch\"\r\n ],\r\n \"aliases\":
|
54
|
+
[\r\n \"Lord Snow\",\r\n \"Ned Stark's Bastard\",\r\n \"The
|
55
|
+
Snow of Winterfell\",\r\n \"The Crow-Come-Over\",\r\n \"The 998th
|
56
|
+
Lord Commander of the Night's Watch\",\r\n \"The Bastard of Winterfell\",\r\n
|
57
|
+
\ \"The Black Bastard of the Wall\",\r\n \"Lord Crow\"\r\n ],\r\n
|
58
|
+
\ \"father\": \"\",\r\n \"mother\": \"\",\r\n \"spouse\": \"\",\r\n
|
59
|
+
\ \"allegiances\": [\r\n \"http://www.anapioficeandfire.com/api/houses/362\"\r\n
|
60
|
+
\ ],\r\n \"books\": [\r\n \"http://www.anapioficeandfire.com/api/books/5\"\r\n
|
61
|
+
\ ],\r\n \"povBooks\": [\r\n \"http://www.anapioficeandfire.com/api/books/1\",\r\n
|
62
|
+
\ \"http://www.anapioficeandfire.com/api/books/2\",\r\n \"http://www.anapioficeandfire.com/api/books/3\",\r\n
|
63
|
+
\ \"http://www.anapioficeandfire.com/api/books/8\"\r\n ],\r\n \"tvSeries\":
|
64
|
+
[\r\n \"Season 1\",\r\n \"Season 2\",\r\n \"Season 3\",\r\n
|
65
|
+
\ \"Season 4\",\r\n \"Season 5\",\r\n \"Season 6\"\r\n ],\r\n
|
66
|
+
\ \"playedBy\": [\r\n \"Kit Harington\"\r\n ]\r\n }\r\n]"
|
67
|
+
http_version:
|
68
|
+
recorded_at: Mon, 26 Dec 2016 15:23:37 GMT
|
69
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,72 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.anapioficeandfire.com/api/houses/17
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.10.0
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message:
|
16
|
+
headers:
|
17
|
+
date:
|
18
|
+
- Mon, 26 Dec 2016 15:23:37 GMT
|
19
|
+
content-type:
|
20
|
+
- application/json; charset=utf-8
|
21
|
+
content-length:
|
22
|
+
- '625'
|
23
|
+
connection:
|
24
|
+
- close
|
25
|
+
set-cookie:
|
26
|
+
- __cfduid=de5d31212f08468c6920b3393b3a936681482765817; expires=Tue, 26-Dec-17
|
27
|
+
15:23:37 GMT; path=/; domain=.anapioficeandfire.com; HttpOnly, ARRAffinity=bb02697a828a67d629cd8387c3e7fa89b5a5514b4c02be02a81f93ed19b16cab;Path=/;Domain=www.anapioficeandfire.com
|
28
|
+
cache-control:
|
29
|
+
- no-transform, must-revalidate, max-age=0, private
|
30
|
+
last-modified:
|
31
|
+
- Fri, 23 Dec 2016 14:54:40 GMT
|
32
|
+
etag:
|
33
|
+
- '"85cd203fc8b5474389023af0a5edb906"'
|
34
|
+
vary:
|
35
|
+
- Accept-Encoding
|
36
|
+
x-aspnet-version:
|
37
|
+
- 4.0.30319
|
38
|
+
x-powered-by:
|
39
|
+
- ASP.NET
|
40
|
+
server:
|
41
|
+
- cloudflare-nginx
|
42
|
+
cf-ray:
|
43
|
+
- 317588f72145254f-ORD
|
44
|
+
body:
|
45
|
+
encoding: ASCII-8BIT
|
46
|
+
string: "{\r\n \"url\": \"http://www.anapioficeandfire.com/api/houses/17\",\r\n
|
47
|
+
\ \"name\": \"House Baratheon of Storm's End\",\r\n \"region\": \"The Stormlands\",\r\n
|
48
|
+
\ \"coatOfArms\": \"A black crowned stag, on a gold field(Or, a stag salient,
|
49
|
+
crowned, sable)\",\r\n \"words\": \"Ours is the Fury\",\r\n \"titles\":
|
50
|
+
[\r\n \"Lord of Storm's End\",\r\n \"Lord Paramount of the Stormlands\"\r\n
|
51
|
+
\ ],\r\n \"seats\": [\r\n \"Storm's End\",\r\n \"Dragonstone (House
|
52
|
+
Baratheon of Dragonstone)\"\r\n ],\r\n \"currentLord\": \"http://www.anapioficeandfire.com/api/characters/1029\",\r\n
|
53
|
+
\ \"heir\": \"http://www.anapioficeandfire.com/api/characters/775\",\r\n \"overlord\":
|
54
|
+
\"http://www.anapioficeandfire.com/api/houses/16\",\r\n \"founded\": \"1
|
55
|
+
AC\",\r\n \"founder\": \"http://www.anapioficeandfire.com/api/characters/797\",\r\n
|
56
|
+
\ \"diedOut\": \"\",\r\n \"ancestralWeapons\": [],\r\n \"cadetBranches\":
|
57
|
+
[\r\n \"http://www.anapioficeandfire.com/api/houses/15\",\r\n \"http://www.anapioficeandfire.com/api/houses/16\",\r\n
|
58
|
+
\ \"http://www.anapioficeandfire.com/api/houses/33\",\r\n \"http://www.anapioficeandfire.com/api/houses/423\"\r\n
|
59
|
+
\ ],\r\n \"swornMembers\": [\r\n \"http://www.anapioficeandfire.com/api/characters/110\",\r\n
|
60
|
+
\ \"http://www.anapioficeandfire.com/api/characters/128\",\r\n \"http://www.anapioficeandfire.com/api/characters/216\",\r\n
|
61
|
+
\ \"http://www.anapioficeandfire.com/api/characters/230\",\r\n \"http://www.anapioficeandfire.com/api/characters/249\",\r\n
|
62
|
+
\ \"http://www.anapioficeandfire.com/api/characters/315\",\r\n \"http://www.anapioficeandfire.com/api/characters/435\",\r\n
|
63
|
+
\ \"http://www.anapioficeandfire.com/api/characters/679\",\r\n \"http://www.anapioficeandfire.com/api/characters/794\",\r\n
|
64
|
+
\ \"http://www.anapioficeandfire.com/api/characters/797\",\r\n \"http://www.anapioficeandfire.com/api/characters/862\",\r\n
|
65
|
+
\ \"http://www.anapioficeandfire.com/api/characters/870\",\r\n \"http://www.anapioficeandfire.com/api/characters/986\",\r\n
|
66
|
+
\ \"http://www.anapioficeandfire.com/api/characters/1044\",\r\n \"http://www.anapioficeandfire.com/api/characters/1188\",\r\n
|
67
|
+
\ \"http://www.anapioficeandfire.com/api/characters/1233\",\r\n \"http://www.anapioficeandfire.com/api/characters/1355\",\r\n
|
68
|
+
\ \"http://www.anapioficeandfire.com/api/characters/1473\",\r\n \"http://www.anapioficeandfire.com/api/characters/1552\"\r\n
|
69
|
+
\ ]\r\n}"
|
70
|
+
http_version:
|
71
|
+
recorded_at: Mon, 26 Dec 2016 15:23:37 GMT
|
72
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,62 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.anapioficeandfire.com/api/houses?name=House+Hawthorne
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.10.0
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message:
|
16
|
+
headers:
|
17
|
+
date:
|
18
|
+
- Mon, 26 Dec 2016 15:23:37 GMT
|
19
|
+
content-type:
|
20
|
+
- application/json; charset=utf-8
|
21
|
+
content-length:
|
22
|
+
- '455'
|
23
|
+
connection:
|
24
|
+
- close
|
25
|
+
set-cookie:
|
26
|
+
- __cfduid=dd6f58aacc7bdf69f64e8de989aad06211482765817; expires=Tue, 26-Dec-17
|
27
|
+
15:23:37 GMT; path=/; domain=.anapioficeandfire.com; HttpOnly, ARRAffinity=bb02697a828a67d629cd8387c3e7fa89b5a5514b4c02be02a81f93ed19b16cab;Path=/;Domain=www.anapioficeandfire.com
|
28
|
+
cache-control:
|
29
|
+
- no-transform, must-revalidate, max-age=0, private
|
30
|
+
last-modified:
|
31
|
+
- Mon, 26 Dec 2016 15:20:53 GMT
|
32
|
+
etag:
|
33
|
+
- '"572c9e8fe3464b168cd1be2b2b69c177"'
|
34
|
+
vary:
|
35
|
+
- Accept-Encoding
|
36
|
+
link:
|
37
|
+
- <http://www.anapioficeandfire.com/api/houses?name=House%20Hawthorne&page=1&pageSize=10>;
|
38
|
+
rel="first", <http://www.anapioficeandfire.com/api/houses?name=House%20Hawthorne&page=1&pageSize=10>;
|
39
|
+
rel="last"
|
40
|
+
x-aspnet-version:
|
41
|
+
- 4.0.30319
|
42
|
+
x-powered-by:
|
43
|
+
- ASP.NET
|
44
|
+
server:
|
45
|
+
- cloudflare-nginx
|
46
|
+
cf-ray:
|
47
|
+
- 317588f7e38709b2-ORD
|
48
|
+
body:
|
49
|
+
encoding: ASCII-8BIT
|
50
|
+
string: "[\r\n {\r\n \"url\": \"http://www.anapioficeandfire.com/api/houses/188\",\r\n
|
51
|
+
\ \"name\": \"House Hawthorne\",\r\n \"region\": \"The Westerlands\",\r\n
|
52
|
+
\ \"coatOfArms\": \"A ring of black thorns and a ring of pink flowers, interlocked,
|
53
|
+
on a green field(Vert, two interlocking annulets, one composed of thorns sable,
|
54
|
+
the other of flowers carnation)\",\r\n \"words\": \"\",\r\n \"titles\":
|
55
|
+
[],\r\n \"seats\": [],\r\n \"currentLord\": \"\",\r\n \"heir\": \"\",\r\n
|
56
|
+
\ \"overlord\": \"http://www.anapioficeandfire.com/api/houses/229\",\r\n
|
57
|
+
\ \"founded\": \"\",\r\n \"founder\": \"\",\r\n \"diedOut\": \"\",\r\n
|
58
|
+
\ \"ancestralWeapons\": [],\r\n \"cadetBranches\": [],\r\n \"swornMembers\":
|
59
|
+
[]\r\n }\r\n]"
|
60
|
+
http_version:
|
61
|
+
recorded_at: Mon, 26 Dec 2016 15:23:37 GMT
|
62
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,51 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.anapioficeandfire.com/api
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.10.0
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message:
|
16
|
+
headers:
|
17
|
+
date:
|
18
|
+
- Mon, 26 Dec 2016 15:48:58 GMT
|
19
|
+
content-type:
|
20
|
+
- application/json; charset=utf-8
|
21
|
+
content-length:
|
22
|
+
- '197'
|
23
|
+
connection:
|
24
|
+
- close
|
25
|
+
set-cookie:
|
26
|
+
- __cfduid=d399f94769e96d05df7b73eb33585450f1482767338; expires=Tue, 26-Dec-17
|
27
|
+
15:48:58 GMT; path=/; domain=.anapioficeandfire.com; HttpOnly, ARRAffinity=bb02697a828a67d629cd8387c3e7fa89b5a5514b4c02be02a81f93ed19b16cab;Path=/;Domain=www.anapioficeandfire.com
|
28
|
+
cache-control:
|
29
|
+
- no-transform, must-revalidate, max-age=0, private
|
30
|
+
last-modified:
|
31
|
+
- Sun, 25 Dec 2016 14:59:30 GMT
|
32
|
+
etag:
|
33
|
+
- '"924aaa7dd8bd4e5eb94c7b9da9b2ae3c"'
|
34
|
+
vary:
|
35
|
+
- Accept-Encoding
|
36
|
+
x-aspnet-version:
|
37
|
+
- 4.0.30319
|
38
|
+
x-powered-by:
|
39
|
+
- ASP.NET
|
40
|
+
server:
|
41
|
+
- cloudflare-nginx
|
42
|
+
cf-ray:
|
43
|
+
- 3175ae1a110f254f-ORD
|
44
|
+
body:
|
45
|
+
encoding: ASCII-8BIT
|
46
|
+
string: "{\r\n \"books\": \"http://www.anapioficeandfire.com/api/books\",\r\n
|
47
|
+
\ \"characters\": \"http://www.anapioficeandfire.com/api/characters\",\r\n
|
48
|
+
\ \"houses\": \"http://www.anapioficeandfire.com/api/houses\"\r\n}"
|
49
|
+
http_version:
|
50
|
+
recorded_at: Mon, 26 Dec 2016 15:48:58 GMT
|
51
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe IceAndFireApi::Book do
|
4
|
+
describe 'find' do
|
5
|
+
it 'pulls information on a game of thrones' do
|
6
|
+
VCR.use_cassette('book_find') do
|
7
|
+
book = IceAndFireApi::Book.find(1)
|
8
|
+
expect(book).to be_instance_of IceAndFireApi::Book
|
9
|
+
expect(book.name).to eq('A Game of Thrones')
|
10
|
+
expect(book.authors).to include('George R. R. Martin')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe 'find_by_name' do
|
16
|
+
it 'pulls information on a storm of swords' do
|
17
|
+
VCR.use_cassette('book_find_by_name') do
|
18
|
+
book = IceAndFireApi::Book.find_by_name('A Storm Of Swords')
|
19
|
+
expect(book.first).to be_instance_of IceAndFireApi::Book
|
20
|
+
expect(book.first.name).to eq('A Storm of Swords')
|
21
|
+
expect(book.first.authors).to include('George R. R. Martin')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe IceAndFireApi::Character do
|
4
|
+
describe 'find' do
|
5
|
+
it 'pulls information on tyrion lannister' do
|
6
|
+
VCR.use_cassette('character_find') do
|
7
|
+
character = IceAndFireApi::Character.find(1052)
|
8
|
+
expect(character).to be_instance_of IceAndFireApi::Character
|
9
|
+
expect(character.name).to eq('Tyrion Lannister')
|
10
|
+
expect(character.gender).to eq('Male')
|
11
|
+
expect(character.died).to eq('')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'find_by_name' do
|
17
|
+
it 'pulls information on jon snow' do
|
18
|
+
VCR.use_cassette('character_find_by_name') do
|
19
|
+
character = IceAndFireApi::Character.find_by_name('Jon Snow')
|
20
|
+
expect(character.first).to be_instance_of IceAndFireApi::Character
|
21
|
+
expect(character.first.name).to eq('Jon Snow')
|
22
|
+
expect(character.first.gender).to eq('Male')
|
23
|
+
expect(character.first.died).to eq('')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe IceAndFireApi::House do
|
4
|
+
describe 'find' do
|
5
|
+
it 'pulls information on house baratheon' do
|
6
|
+
VCR.use_cassette('house_find') do
|
7
|
+
house = IceAndFireApi::House.find(17)
|
8
|
+
expect(house).to be_instance_of IceAndFireApi::House
|
9
|
+
expect(house.name).to eq("House Baratheon of Storm's End")
|
10
|
+
expect(house.region).to eq('The Stormlands')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe 'find_by_name' do
|
16
|
+
it 'pulls information on house hawthorne' do
|
17
|
+
VCR.use_cassette('house_find_by_name') do
|
18
|
+
house = IceAndFireApi::House.find_by_name('House Hawthorne')
|
19
|
+
expect(house.first).to be_instance_of IceAndFireApi::House
|
20
|
+
expect(house.first.name).to eq('House Hawthorne')
|
21
|
+
expect(house.first.region).to eq('The Westerlands')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe IceAndFireApi::Root do
|
4
|
+
describe 'fetch' do
|
5
|
+
it 'fetches the root url metadata' do
|
6
|
+
VCR.use_cassette('root_find') do
|
7
|
+
root = IceAndFireApi::Root.fetch
|
8
|
+
expect(root).to be_instance_of IceAndFireApi::Root
|
9
|
+
expect(root.books).to eq('http://www.anapioficeandfire.com/api/books')
|
10
|
+
expect(root.characters).to eq('http://www.anapioficeandfire.com/api/characters')
|
11
|
+
expect(root.houses).to eq('http://www.anapioficeandfire.com/api/houses')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe IceAndFireApi do
|
4
|
+
it 'has a version number' do
|
5
|
+
expect(IceAndFireApi::VERSION).to eq('1.0.0')
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'contains an api url' do
|
9
|
+
expect(IceAndFireApi::API_URL).to eq('http://www.anapioficeandfire.com/api')
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ice_and_fire_api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dan Belling
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-12-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.9'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.9'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.0.0
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 3.0.0
|
51
|
+
type: :development
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 3.0.0
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 3.0.0
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: vcr
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 3.0.0
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 3.0.0
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.0.0
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 3.0.0
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: faraday
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.9.2
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.9.2
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: json
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.8.2
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 1.8.2
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 1.8.2
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 1.8.2
|
115
|
+
description: A wrapper gem for http://www.anapioficeandfire.com/api
|
116
|
+
email:
|
117
|
+
- danhbelling@gmail.com
|
118
|
+
executables:
|
119
|
+
- console
|
120
|
+
- setup
|
121
|
+
extensions: []
|
122
|
+
extra_rdoc_files: []
|
123
|
+
files:
|
124
|
+
- ".gitignore"
|
125
|
+
- ".rspec"
|
126
|
+
- ".rubocop.yml"
|
127
|
+
- ".travis.yml"
|
128
|
+
- Gemfile
|
129
|
+
- LICENSE.txt
|
130
|
+
- README.md
|
131
|
+
- Rakefile
|
132
|
+
- bin/console
|
133
|
+
- bin/setup
|
134
|
+
- ice_and_fire_api.gemspec
|
135
|
+
- lib/ice_and_fire_api.rb
|
136
|
+
- lib/ice_and_fire_api/book.rb
|
137
|
+
- lib/ice_and_fire_api/character.rb
|
138
|
+
- lib/ice_and_fire_api/house.rb
|
139
|
+
- lib/ice_and_fire_api/root.rb
|
140
|
+
- lib/ice_and_fire_api/version.rb
|
141
|
+
- spec/fixtures/book_find.yml
|
142
|
+
- spec/fixtures/book_find_by_name.yml
|
143
|
+
- spec/fixtures/character_find.yml
|
144
|
+
- spec/fixtures/character_find_by_name.yml
|
145
|
+
- spec/fixtures/house_find.yml
|
146
|
+
- spec/fixtures/house_find_by_name.yml
|
147
|
+
- spec/fixtures/root_find.yml
|
148
|
+
- spec/ice_and_fire_api/book_spec.rb
|
149
|
+
- spec/ice_and_fire_api/character_spec.rb
|
150
|
+
- spec/ice_and_fire_api/house_spec.rb
|
151
|
+
- spec/ice_and_fire_api/root_spec.rb
|
152
|
+
- spec/ice_and_fire_api_spec.rb
|
153
|
+
- spec/spec_helper.rb
|
154
|
+
homepage: https://github.com/dbelling/ice_and_fire_api
|
155
|
+
licenses:
|
156
|
+
- MIT
|
157
|
+
metadata: {}
|
158
|
+
post_install_message:
|
159
|
+
rdoc_options: []
|
160
|
+
require_paths:
|
161
|
+
- lib
|
162
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
requirements: []
|
173
|
+
rubyforge_project:
|
174
|
+
rubygems_version: 2.5.1
|
175
|
+
signing_key:
|
176
|
+
specification_version: 4
|
177
|
+
summary: All the data from the universe of Ice And Fire you've
|
178
|
+
ever wanted
|
179
|
+
test_files: []
|