red5 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/README.md +55 -1
  4. data/Rakefile +3 -1
  5. data/lib/red_5.rb +19 -0
  6. data/lib/red_5/exceptions/red_5_exception.rb +9 -0
  7. data/lib/red_5/helpers.rb +8 -0
  8. data/lib/red_5/models/entities.rb +54 -0
  9. data/lib/{red5 → red_5/models}/films.rb +1 -1
  10. data/lib/{red5 → red_5/models}/people.rb +1 -1
  11. data/lib/{red5 → red_5/models}/planets.rb +1 -1
  12. data/lib/{red5 → red_5/models}/species.rb +1 -1
  13. data/lib/{red5 → red_5/models}/starships.rb +1 -1
  14. data/lib/{red5 → red_5/models}/vehicles.rb +1 -1
  15. data/lib/{red5 → red_5}/root.rb +1 -1
  16. data/lib/red_5/version.rb +3 -0
  17. data/red5.gemspec +4 -1
  18. data/spec/cassettes/Failure/404s/raises_an_exception_on_a_ludicrous_request.yml +96 -0
  19. data/spec/cassettes/Failure/404s/raises_an_exception_on_a_non-existent_thing.yml +96 -0
  20. data/spec/cassettes/Failure/Non-existent_attributes/raises_an_exception_on_a_bogus_lookup.yml +101 -0
  21. data/spec/cassettes/Red5_Films/finds_a_particular_film.yml +111 -0
  22. data/spec/cassettes/Red5_Films/has_OpenStruct-type_lookups.yml +111 -0
  23. data/spec/cassettes/Red5_Films/returns_a_film.yml +111 -0
  24. data/spec/cassettes/Red5_People/fetches_the_species_for_a_person.yml +155 -0
  25. data/spec/cassettes/{Red_5_People/should_find_a_person.yml → Red5_People/finds_a_particular_person.yml} +13 -13
  26. data/spec/cassettes/Red5_People/has_an_id.yml +101 -0
  27. data/spec/cassettes/Red5_People/returns_a_person.yml +101 -0
  28. data/spec/cassettes/{Red_5_Planets/should_find_a_planet.yml → Red5_Planets/finds_a_planet.yml} +18 -18
  29. data/spec/cassettes/Red5_Species/fetches_the_homeworld_for_a_species.yml +157 -0
  30. data/spec/cassettes/Red5_Species/finds_a_homeworld_for_a_species.yml +101 -0
  31. data/spec/cassettes/Red5_Species/finds_a_species.yml +101 -0
  32. data/spec/cassettes/Red5_Starships/Failure/raises_an_exception_on_a_ludicrous_request.yml +96 -0
  33. data/spec/cassettes/Red5_Starships/Failure/raises_an_exception_on_a_non-existent_thing.yml +96 -0
  34. data/spec/cassettes/Red5_Starships/finds_a_starship.yml +102 -0
  35. data/spec/cassettes/Red5_Vehicles/finds_a_vehicle.yml +102 -0
  36. data/spec/cassettes/Red_5_Films/finds_a_particular_film.yml +111 -0
  37. data/spec/cassettes/Red_5_Films/returns_a_film.yml +111 -0
  38. data/spec/cassettes/Red_5_People/fetches_the_species_for_a_person.yml +155 -0
  39. data/spec/cassettes/Red_5_People/finds_a_particular_person.yml +101 -0
  40. data/spec/cassettes/Red_5_People/gets_the_species_for_a_person.yml +252 -0
  41. data/spec/cassettes/Red_5_People/has_an_id.yml +101 -0
  42. data/spec/cassettes/Red_5_People/returns_a_person.yml +101 -0
  43. data/spec/cassettes/Red_5_Species/fetches_the_homeworld_for_a_species.yml +157 -0
  44. data/spec/cassettes/Red_5_Species/finds_a_homeworld_for_a_species.yml +101 -0
  45. data/spec/cassettes/Red_5_Species/gets_the_homeworld_for_a_species.yml +157 -0
  46. data/spec/cassettes/Red_5_Starships/Failure/raises_an_exception_on_a_non-existent_thing.yml +96 -0
  47. data/spec/failure_spec.rb +31 -0
  48. data/spec/models/films_spec.rb +15 -0
  49. data/spec/models/people_spec.rb +25 -0
  50. data/spec/models/planets_spec.rb +10 -0
  51. data/spec/models/species_spec.rb +20 -0
  52. data/spec/models/starships_spec.rb +10 -0
  53. data/spec/models/vehicles_spec.rb +10 -0
  54. data/spec/red5_spec.rb +2 -45
  55. data/spec/spec_helper.rb +1 -1
  56. metadata +129 -17
  57. data/lib/red5.rb +0 -14
  58. data/lib/red5/entities.rb +0 -9
  59. data/lib/red5/version.rb +0 -3
@@ -0,0 +1,101 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://swapi.co/api/species/9
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: MOVED PERMANENTLY
20
+ headers:
21
+ Date:
22
+ - Tue, 23 Dec 2014 13:54:01 GMT
23
+ Content-Type:
24
+ - text/html; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=df854b58e3b5895c6e2d919a307f18ce51419342841; expires=Wed, 23-Dec-15
31
+ 13:54:01 GMT; path=/; domain=.swapi.co; HttpOnly
32
+ Location:
33
+ - http://swapi.co/api/species/9/
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ Via:
37
+ - 1.1 vegur
38
+ Server:
39
+ - cloudflare-nginx
40
+ Cf-Ray:
41
+ - 19d50c768a9a0a78-LHR
42
+ body:
43
+ encoding: UTF-8
44
+ string: ''
45
+ http_version:
46
+ recorded_at: Tue, 23 Dec 2014 13:54:01 GMT
47
+ - request:
48
+ method: get
49
+ uri: http://swapi.co/api/species/9/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept:
55
+ - "*/*; q=0.5, application/xml"
56
+ Accept-Encoding:
57
+ - gzip, deflate
58
+ Cookie:
59
+ - __cfduid=df854b58e3b5895c6e2d919a307f18ce51419342841; domain=.swapi.co
60
+ User-Agent:
61
+ - Ruby
62
+ response:
63
+ status:
64
+ code: 200
65
+ message: OK
66
+ headers:
67
+ Date:
68
+ - Tue, 23 Dec 2014 13:54:01 GMT
69
+ Content-Type:
70
+ - application/json
71
+ Transfer-Encoding:
72
+ - chunked
73
+ Connection:
74
+ - keep-alive
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ Allow:
78
+ - GET, HEAD, OPTIONS
79
+ Vary:
80
+ - Accept, Cookie
81
+ Via:
82
+ - 1.1 vegur
83
+ Server:
84
+ - cloudflare-nginx
85
+ Cf-Ray:
86
+ - 19d50c774ab50a78-LHR
87
+ Content-Encoding:
88
+ - gzip
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: !binary |-
92
+ H4sIAAAAAAAAAwAAAP//dI9NbgIxDEavUmUN5AdoYfa9AatWFXKDmbHIJFEc
93
+ Oqqq3r2eEYhWKovI0fteHPtLRehRNep5SCc1Uz4AMx3JQ6UUhffQ9xAkOSBT
94
+ G6+YMVaSIwF8YIEW9x1S21XJrDGC+URx71NIhYW9lzREoR1QudGho4qzhymU
95
+ EsCPM+An3pRUILZX59dvgY7IGcZZzvEUL91Tj0Mq4SC0qzU3WvMAmRY+aSk6
96
+ B4hYWT9pkeXenqXVZXlkFJgx5SDo9f/3U6qXRqu3mTpS6PmeOoV6OYm+IFQc
97
+ h3LGrubWze1mZ23jXGPMwm3WxpiXcfED/dWc2TnbLB+blVvY9VU7l3BnP87o
98
+ CVlvtfr+AQAA//8DACsGrDHaAQAA
99
+ http_version:
100
+ recorded_at: Tue, 23 Dec 2014 13:54:01 GMT
101
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,101 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://swapi.co/api/species/8
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: MOVED PERMANENTLY
20
+ headers:
21
+ Date:
22
+ - Tue, 23 Dec 2014 13:54:02 GMT
23
+ Content-Type:
24
+ - text/html; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=df854b58e3b5895c6e2d919a307f18ce51419342841; expires=Wed, 23-Dec-15
31
+ 13:54:01 GMT; path=/; domain=.swapi.co; HttpOnly
32
+ Location:
33
+ - http://swapi.co/api/species/8/
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ Via:
37
+ - 1.1 vegur
38
+ Server:
39
+ - cloudflare-nginx
40
+ Cf-Ray:
41
+ - 19d50c7a7b3c0a78-LHR
42
+ body:
43
+ encoding: UTF-8
44
+ string: ''
45
+ http_version:
46
+ recorded_at: Tue, 23 Dec 2014 13:54:02 GMT
47
+ - request:
48
+ method: get
49
+ uri: http://swapi.co/api/species/8/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept:
55
+ - "*/*; q=0.5, application/xml"
56
+ Accept-Encoding:
57
+ - gzip, deflate
58
+ Cookie:
59
+ - __cfduid=df854b58e3b5895c6e2d919a307f18ce51419342841; domain=.swapi.co
60
+ User-Agent:
61
+ - Ruby
62
+ response:
63
+ status:
64
+ code: 200
65
+ message: OK
66
+ headers:
67
+ Date:
68
+ - Tue, 23 Dec 2014 13:54:03 GMT
69
+ Content-Type:
70
+ - application/json
71
+ Transfer-Encoding:
72
+ - chunked
73
+ Connection:
74
+ - keep-alive
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ Allow:
78
+ - GET, HEAD, OPTIONS
79
+ Vary:
80
+ - Accept, Cookie
81
+ Via:
82
+ - 1.1 vegur
83
+ Server:
84
+ - cloudflare-nginx
85
+ Cf-Ray:
86
+ - 19d50c7b2af00a78-LHR
87
+ Content-Encoding:
88
+ - gzip
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: !binary |-
92
+ H4sIAAAAAAAAAwAAAP//dJDNbsIwEIRfBfkc8E+AQq4998apVYWWZElWOLZl
93
+ O41Q1XfvJhKircrBtjzf7HjXn8JBj6ISL94tnsFCD5FEIWoLKdGZasjkHXPo
94
+ Q0cnAsewwUStu5GELhMvBvCBEVo8dkhtl5nprWI5Xcgda299TKxFbIrFyQ7I
95
+ e/SjKxY917gM7OyA4t3pvEMW8Yp37YrW+vHHW5bOmAJMnQzu4jhwyvE9jj7a
96
+ htUu51BJmUYItKq95EMGCw5zkqWW7OZLO3DWn2+YZw3og2Xy9n/OTKV5kuK9
97
+ EGeyfXpknaEsZ2MdETJOzRml10ttlnp30LpS+2pjVmZbKqVep8kb+m0z6mB0
98
+ VW6rtVnpzc02RPtgzhSwJkxyJ8XXNwAAAP//AwDATxlx6wEAAA==
99
+ http_version:
100
+ recorded_at: Tue, 23 Dec 2014 13:54:03 GMT
101
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://swapi.co/api/starships/lolwut
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: MOVED PERMANENTLY
20
+ headers:
21
+ Date:
22
+ - Tue, 23 Dec 2014 14:11:52 GMT
23
+ Content-Type:
24
+ - text/html; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=d515213776ad124ae30a0db48b8a1da791419343912; expires=Wed, 23-Dec-15
31
+ 14:11:52 GMT; path=/; domain=.swapi.co; HttpOnly
32
+ Location:
33
+ - http://swapi.co/api/starships/lolwut/
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ Via:
37
+ - 1.1 vegur
38
+ Server:
39
+ - cloudflare-nginx
40
+ Cf-Ray:
41
+ - 19d5269e2a4b0a78-LHR
42
+ body:
43
+ encoding: UTF-8
44
+ string: ''
45
+ http_version:
46
+ recorded_at: Tue, 23 Dec 2014 14:11:52 GMT
47
+ - request:
48
+ method: get
49
+ uri: http://swapi.co/api/starships/lolwut/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept:
55
+ - "*/*; q=0.5, application/xml"
56
+ Accept-Encoding:
57
+ - gzip, deflate
58
+ Cookie:
59
+ - __cfduid=d515213776ad124ae30a0db48b8a1da791419343912; domain=.swapi.co
60
+ User-Agent:
61
+ - Ruby
62
+ response:
63
+ status:
64
+ code: 404
65
+ message: NOT FOUND
66
+ headers:
67
+ Date:
68
+ - Tue, 23 Dec 2014 14:11:53 GMT
69
+ Content-Type:
70
+ - application/json
71
+ Transfer-Encoding:
72
+ - chunked
73
+ Connection:
74
+ - keep-alive
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ Allow:
78
+ - GET, HEAD, OPTIONS
79
+ Vary:
80
+ - Accept, Cookie
81
+ Via:
82
+ - 1.1 vegur
83
+ Server:
84
+ - cloudflare-nginx
85
+ Cf-Ray:
86
+ - 19d5269fa3550a78-LHR
87
+ Content-Encoding:
88
+ - gzip
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: !binary |-
92
+ H4sIAAAAAAAAA6pWSkktSczMUbJS8ssvUUjLL81LUaoFAAAA//8DAN21v3kW
93
+ AAAA
94
+ http_version:
95
+ recorded_at: Tue, 23 Dec 2014 14:11:53 GMT
96
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://swapi.co/api/starships/999
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: MOVED PERMANENTLY
20
+ headers:
21
+ Date:
22
+ - Tue, 23 Dec 2014 13:54:08 GMT
23
+ Content-Type:
24
+ - text/html; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=d4f33c5e1ca0cf3ceb01b6fe688915b7a1419342847; expires=Wed, 23-Dec-15
31
+ 13:54:07 GMT; path=/; domain=.swapi.co; HttpOnly
32
+ Location:
33
+ - http://swapi.co/api/starships/999/
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ Via:
37
+ - 1.1 vegur
38
+ Server:
39
+ - cloudflare-nginx
40
+ Cf-Ray:
41
+ - 19d50c9fd1500a78-LHR
42
+ body:
43
+ encoding: UTF-8
44
+ string: ''
45
+ http_version:
46
+ recorded_at: Tue, 23 Dec 2014 13:54:08 GMT
47
+ - request:
48
+ method: get
49
+ uri: http://swapi.co/api/starships/999/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept:
55
+ - "*/*; q=0.5, application/xml"
56
+ Accept-Encoding:
57
+ - gzip, deflate
58
+ Cookie:
59
+ - __cfduid=d4f33c5e1ca0cf3ceb01b6fe688915b7a1419342847; domain=.swapi.co
60
+ User-Agent:
61
+ - Ruby
62
+ response:
63
+ status:
64
+ code: 404
65
+ message: NOT FOUND
66
+ headers:
67
+ Date:
68
+ - Tue, 23 Dec 2014 13:54:08 GMT
69
+ Content-Type:
70
+ - application/json
71
+ Transfer-Encoding:
72
+ - chunked
73
+ Connection:
74
+ - keep-alive
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ Allow:
78
+ - GET, HEAD, OPTIONS
79
+ Vary:
80
+ - Accept, Cookie
81
+ Via:
82
+ - 1.1 vegur
83
+ Server:
84
+ - cloudflare-nginx
85
+ Cf-Ray:
86
+ - 19d50ca0916d0a78-LHR
87
+ Content-Encoding:
88
+ - gzip
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: !binary |-
92
+ H4sIAAAAAAAAA6pWSkktSczMUbJS8ssvUUjLL81LUaoFAAAA//8DAN21v3kW
93
+ AAAA
94
+ http_version:
95
+ recorded_at: Tue, 23 Dec 2014 13:54:08 GMT
96
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,102 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://swapi.co/api/starships/12
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: MOVED PERMANENTLY
20
+ headers:
21
+ Date:
22
+ - Tue, 23 Dec 2014 13:54:07 GMT
23
+ Content-Type:
24
+ - text/html; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=d4f33c5e1ca0cf3ceb01b6fe688915b7a1419342847; expires=Wed, 23-Dec-15
31
+ 13:54:07 GMT; path=/; domain=.swapi.co; HttpOnly
32
+ Location:
33
+ - http://swapi.co/api/starships/12/
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ Via:
37
+ - 1.1 vegur
38
+ Server:
39
+ - cloudflare-nginx
40
+ Cf-Ray:
41
+ - 19d50c9a2e1d0a78-LHR
42
+ body:
43
+ encoding: UTF-8
44
+ string: ''
45
+ http_version:
46
+ recorded_at: Tue, 23 Dec 2014 13:54:07 GMT
47
+ - request:
48
+ method: get
49
+ uri: http://swapi.co/api/starships/12/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept:
55
+ - "*/*; q=0.5, application/xml"
56
+ Accept-Encoding:
57
+ - gzip, deflate
58
+ Cookie:
59
+ - __cfduid=d4f33c5e1ca0cf3ceb01b6fe688915b7a1419342847; domain=.swapi.co
60
+ User-Agent:
61
+ - Ruby
62
+ response:
63
+ status:
64
+ code: 200
65
+ message: OK
66
+ headers:
67
+ Date:
68
+ - Tue, 23 Dec 2014 13:54:07 GMT
69
+ Content-Type:
70
+ - application/json
71
+ Transfer-Encoding:
72
+ - chunked
73
+ Connection:
74
+ - keep-alive
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ Allow:
78
+ - GET, HEAD, OPTIONS
79
+ Vary:
80
+ - Accept, Cookie
81
+ Via:
82
+ - 1.1 vegur
83
+ Server:
84
+ - cloudflare-nginx
85
+ Cf-Ray:
86
+ - 19d50c9b411f0a78-LHR
87
+ Content-Encoding:
88
+ - gzip
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: !binary |-
92
+ H4sIAAAAAAAAA4RSTUvEMBT8K0vOu23TD7W9ehBBT+5BFAkxfdsG0yQkqXUR
93
+ /7svERHBuqHQZmbyZl5f3onmE5CO3O8WqQeyJZPpQSGw3501mx+U6/nARZgd
94
+ OCSvtTDT5tI4axwP0miUCOMDk5oJB70MHlW0bnEhpUAPYYxImTWp2hvjYTLe
95
+ juDQgHkL0Ee+aIpYysESd/hpufd4GlwsmDjuBsMEt1zIcIwqmmCj/TzxZwXJ
96
+ ebMAvCA8Hi243slXYDEo9oJkFg/cXt3sk2Pc+MCdH6VlQqEfwncIHOQwBmwX
97
+ Q0hlYkePZAzBdnnuF25lJkyOr9yCsQpymke/db49wdOLUwKs8LQlB6mm1SyJ
98
+ XI/yRZf/01WywRnwkIZSFrTe0RKfPaUdbbuiyaq6wPWAdeKwf8lKlJ13VdPV
99
+ dVa3tKyqKJtdvFR/mX7/e4yNwT4+AQAA//8DAPN/lCOSAgAA
100
+ http_version:
101
+ recorded_at: Tue, 23 Dec 2014 13:54:07 GMT
102
+ recorded_with: VCR 2.9.3