notu 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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +3 -0
  5. data/MIT-LICENSE +20 -0
  6. data/Rakefile +10 -0
  7. data/VERSION +1 -0
  8. data/lib/notu.rb +18 -0
  9. data/lib/notu/error.rb +15 -0
  10. data/lib/notu/html_document.rb +20 -0
  11. data/lib/notu/http_download.rb +39 -0
  12. data/lib/notu/library.rb +52 -0
  13. data/lib/notu/loved_tracks.rb +40 -0
  14. data/lib/notu/most_played_tracks.rb +46 -0
  15. data/lib/notu/network_error.rb +6 -0
  16. data/lib/notu/parse_error.rb +6 -0
  17. data/lib/notu/track.rb +30 -0
  18. data/notu.gemspec +27 -0
  19. data/spec/cassettes/Notu_HtmlDocument/_get/follows_redirects.yml +178 -0
  20. data/spec/cassettes/Notu_HtmlDocument/_get/raise_a_NetworkError_on_404.yml +80 -0
  21. data/spec/cassettes/Notu_HtmlDocument/_get/raise_a_ParseError_if_not_a_valid_document.yml +369 -0
  22. data/spec/cassettes/Notu_HtmlDocument/_get/returns_document_parsed.yml +134 -0
  23. data/spec/cassettes/Notu_HttpDownload/_get/accepts_HTTPS_URL.yml +134 -0
  24. data/spec/cassettes/Notu_HttpDownload/_get/follow_redirects.yml +178 -0
  25. data/spec/cassettes/Notu_HttpDownload/_get/raise_a_NetworkError_if_too_many_redirects.yml +47 -0
  26. data/spec/cassettes/Notu_HttpDownload/_get/raise_a_NetworkError_on_404.yml +80 -0
  27. data/spec/cassettes/Notu_HttpDownload/_get/retrives_document_from_given_URL.yml +134 -0
  28. data/spec/cassettes/Notu_LovedTracks/_each/returns_nil.yml +2568 -0
  29. data/spec/cassettes/Notu_LovedTracks/_each/returns_some_tracks.yml +5113 -0
  30. data/spec/cassettes/Notu_LovedTracks/_page_urls/is_correct.yml +5088 -0
  31. data/spec/cassettes/Notu_LovedTracks/_pages_count/is_correct.yml +2546 -0
  32. data/spec/cassettes/Notu_MostPlayedTracks/_each/returns_nil.yml +6532 -0
  33. data/spec/cassettes/Notu_MostPlayedTracks/_each/returns_some_tracks.yml +13455 -0
  34. data/spec/notu/error_spec.rb +40 -0
  35. data/spec/notu/html_document_spec.rb +31 -0
  36. data/spec/notu/http_download_spec.rb +39 -0
  37. data/spec/notu/library_spec.rb +130 -0
  38. data/spec/notu/loved_tracks_spec.rb +61 -0
  39. data/spec/notu/most_played_tracks_spec.rb +64 -0
  40. data/spec/notu/network_error_spec.rb +15 -0
  41. data/spec/notu/parse_error_spec.rb +15 -0
  42. data/spec/notu/track_spec.rb +67 -0
  43. data/spec/spec_helper.rb +10 -0
  44. data/spec/support/vcr.rb +8 -0
  45. metadata +252 -0
@@ -0,0 +1,134 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://alweb.org/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 28 Aug 2014 22:42:38 GMT
23
+ Server:
24
+ - Apache/2.2.16 (Debian)
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ X-Xss-Protection:
28
+ - 1; mode=block
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Etag:
32
+ - '"f24a7f595f7d88d135193e6f203bfbd5"'
33
+ Cache-Control:
34
+ - public
35
+ X-Request-Id:
36
+ - 8074a08d-0ae5-409c-b2d8-e62863c24eed
37
+ X-Runtime:
38
+ - '0.005933'
39
+ X-Powered-By:
40
+ - Phusion Passenger 4.0.49
41
+ Status:
42
+ - 200 OK
43
+ Vary:
44
+ - Accept-Encoding
45
+ Content-Length:
46
+ - '929'
47
+ Content-Type:
48
+ - text/html; charset=utf-8
49
+ body:
50
+ encoding: UTF-8
51
+ string: |
52
+ <!DOCTYPE html>
53
+
54
+ <html lang="fr">
55
+
56
+ <head>
57
+ <meta charset="utf-8" />
58
+ <title>Alexis Toulotte</title>
59
+ <meta name="author" content="Alexis Toulotte" />
60
+ <meta name="description" content="Page personnelle d'Alexis Toulotte." />
61
+ <meta name="robots" content="all" />
62
+ <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
63
+ <meta name="DC.format" content="text/html" />
64
+ <meta name="DC.language" content="fr" />
65
+ <meta name="DC.title" content="Alexis Toulotte" />
66
+ <meta name="DC.creator" content="Alexis Toulotte" />
67
+ <meta name="DC.description" content="Page personnelle d'Alexis Toulotte." />
68
+ <meta name="google-site-verification" content="1dodRvC0Zp-iAZilnTeT5PaY4bPKHwSzs9994-3g304" />
69
+ <script src="/assets/application-2faf062622c53593fc90ee0ba5667a48.js"></script>
70
+ <link href="/assets/application-a374b3c70bad2d98bffceac38d81f6d5.css" media="screen" rel="stylesheet" />
71
+ <link href="/avatar?size=128" rel="icon" type="image/png" />
72
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Dancing Script" />
73
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Raleway" />
74
+ </head>
75
+
76
+ <body>
77
+
78
+ <h1>Alexis Toulotte</h1>
79
+
80
+ <ul class="services">
81
+ <li class="github">
82
+ <a href="https://github.com/alexistoulotte"><span>GitHub</span></a>
83
+ </li>
84
+ <li class="rubygems">
85
+ <a href="https://rubygems.org/profiles/alexistoulotte"><span>RubyGems</span></a>
86
+ </li>
87
+ <li class="cv">
88
+ <a href="https://dl.dropbox.com/u/5601946/CV.pdf"><span>CV</span></a>
89
+ </li>
90
+ <li class="email">
91
+ <a href="#"><span>Email</span></a>
92
+ </li>
93
+ <li class="phone">
94
+ <a href="callto://+687817612"><span>+687 81 76 12</span></a>
95
+ </li>
96
+ <li class="skype">
97
+ <a href="skype:alexistoulotte"><span>Skype</span></a>
98
+ </li>
99
+ <li class="twitter">
100
+ <a href="https://twitter.com/alexistoulotte"><span>Twitter</span></a>
101
+ </li>
102
+ <li class="facebook">
103
+ <a href="https://www.facebook.com/alexis.toulotte"><span>Facebook</span></a>
104
+ </li>
105
+ <li class="linked-in">
106
+ <a href="https://www.linkedin.com/in/alexistoulotte"><span>LinkedIn</span></a>
107
+ </li>
108
+ <li class="google-plus">
109
+ <a href="https://plus.google.com/111956742901852825014/posts"><span>Google+</span></a>
110
+ </li>
111
+ <li class="youtube">
112
+ <a href="https://www.youtube.com/alexistoulotte"><span>YouTube</span></a>
113
+ </li>
114
+ <li class="mixcloud">
115
+ <a href="https://www.mixcloud.com/alexistoulotte"><span>Mixcloud</span></a>
116
+ </li>
117
+ <li class="last-fm">
118
+ <a href="http://www.lastfm.fr/user/alexistoulotte"><span>Last.fm</span></a>
119
+ </li>
120
+ <li class="sound-cloud">
121
+ <a href="https://soundcloud.com/alexistoulotte"><span>SoundCloud</span></a>
122
+ </li>
123
+ <li class="delicious">
124
+ <a href="https://delicious.com/alexistoulotte"><span>Delicious</span></a>
125
+ </li>
126
+ </ul>
127
+
128
+
129
+ </body>
130
+
131
+ </html>
132
+ http_version:
133
+ recorded_at: Thu, 28 Aug 2014 22:42:38 GMT
134
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,178 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.alweb.org/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: Moved Permanently
20
+ headers:
21
+ Date:
22
+ - Thu, 28 Aug 2014 22:42:41 GMT
23
+ Server:
24
+ - Apache/2.2.16 (Debian)
25
+ Location:
26
+ - http://alweb.org/
27
+ Vary:
28
+ - Accept-Encoding
29
+ Content-Length:
30
+ - '241'
31
+ Content-Type:
32
+ - text/html; charset=iso-8859-1
33
+ body:
34
+ encoding: UTF-8
35
+ string: |
36
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
37
+ <html><head>
38
+ <title>301 Moved Permanently</title>
39
+ </head><body>
40
+ <h1>Moved Permanently</h1>
41
+ <p>The document has moved <a href="http://alweb.org/">here</a>.</p>
42
+ <hr>
43
+ <address>Apache/2.2.16 (Debian) Server at www.alweb.org Port 80</address>
44
+ </body></html>
45
+ http_version:
46
+ recorded_at: Thu, 28 Aug 2014 22:42:42 GMT
47
+ - request:
48
+ method: get
49
+ uri: http://alweb.org/
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ Accept-Encoding:
55
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
56
+ Accept:
57
+ - "*/*"
58
+ User-Agent:
59
+ - Ruby
60
+ response:
61
+ status:
62
+ code: 200
63
+ message: OK
64
+ headers:
65
+ Date:
66
+ - Thu, 28 Aug 2014 22:42:42 GMT
67
+ Server:
68
+ - Apache/2.2.16 (Debian)
69
+ X-Frame-Options:
70
+ - SAMEORIGIN
71
+ X-Xss-Protection:
72
+ - 1; mode=block
73
+ X-Content-Type-Options:
74
+ - nosniff
75
+ Etag:
76
+ - '"f24a7f595f7d88d135193e6f203bfbd5"'
77
+ Cache-Control:
78
+ - public
79
+ X-Request-Id:
80
+ - 00e71e72-838b-46e5-a6d5-fb5d1dc69fcb
81
+ X-Runtime:
82
+ - '0.005793'
83
+ X-Powered-By:
84
+ - Phusion Passenger 4.0.49
85
+ Status:
86
+ - 200 OK
87
+ Vary:
88
+ - Accept-Encoding
89
+ Content-Length:
90
+ - '929'
91
+ Content-Type:
92
+ - text/html; charset=utf-8
93
+ body:
94
+ encoding: UTF-8
95
+ string: |
96
+ <!DOCTYPE html>
97
+
98
+ <html lang="fr">
99
+
100
+ <head>
101
+ <meta charset="utf-8" />
102
+ <title>Alexis Toulotte</title>
103
+ <meta name="author" content="Alexis Toulotte" />
104
+ <meta name="description" content="Page personnelle d'Alexis Toulotte." />
105
+ <meta name="robots" content="all" />
106
+ <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
107
+ <meta name="DC.format" content="text/html" />
108
+ <meta name="DC.language" content="fr" />
109
+ <meta name="DC.title" content="Alexis Toulotte" />
110
+ <meta name="DC.creator" content="Alexis Toulotte" />
111
+ <meta name="DC.description" content="Page personnelle d'Alexis Toulotte." />
112
+ <meta name="google-site-verification" content="1dodRvC0Zp-iAZilnTeT5PaY4bPKHwSzs9994-3g304" />
113
+ <script src="/assets/application-2faf062622c53593fc90ee0ba5667a48.js"></script>
114
+ <link href="/assets/application-a374b3c70bad2d98bffceac38d81f6d5.css" media="screen" rel="stylesheet" />
115
+ <link href="/avatar?size=128" rel="icon" type="image/png" />
116
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Dancing Script" />
117
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Raleway" />
118
+ </head>
119
+
120
+ <body>
121
+
122
+ <h1>Alexis Toulotte</h1>
123
+
124
+ <ul class="services">
125
+ <li class="github">
126
+ <a href="https://github.com/alexistoulotte"><span>GitHub</span></a>
127
+ </li>
128
+ <li class="rubygems">
129
+ <a href="https://rubygems.org/profiles/alexistoulotte"><span>RubyGems</span></a>
130
+ </li>
131
+ <li class="cv">
132
+ <a href="https://dl.dropbox.com/u/5601946/CV.pdf"><span>CV</span></a>
133
+ </li>
134
+ <li class="email">
135
+ <a href="#"><span>Email</span></a>
136
+ </li>
137
+ <li class="phone">
138
+ <a href="callto://+687817612"><span>+687 81 76 12</span></a>
139
+ </li>
140
+ <li class="skype">
141
+ <a href="skype:alexistoulotte"><span>Skype</span></a>
142
+ </li>
143
+ <li class="twitter">
144
+ <a href="https://twitter.com/alexistoulotte"><span>Twitter</span></a>
145
+ </li>
146
+ <li class="facebook">
147
+ <a href="https://www.facebook.com/alexis.toulotte"><span>Facebook</span></a>
148
+ </li>
149
+ <li class="linked-in">
150
+ <a href="https://www.linkedin.com/in/alexistoulotte"><span>LinkedIn</span></a>
151
+ </li>
152
+ <li class="google-plus">
153
+ <a href="https://plus.google.com/111956742901852825014/posts"><span>Google+</span></a>
154
+ </li>
155
+ <li class="youtube">
156
+ <a href="https://www.youtube.com/alexistoulotte"><span>YouTube</span></a>
157
+ </li>
158
+ <li class="mixcloud">
159
+ <a href="https://www.mixcloud.com/alexistoulotte"><span>Mixcloud</span></a>
160
+ </li>
161
+ <li class="last-fm">
162
+ <a href="http://www.lastfm.fr/user/alexistoulotte"><span>Last.fm</span></a>
163
+ </li>
164
+ <li class="sound-cloud">
165
+ <a href="https://soundcloud.com/alexistoulotte"><span>SoundCloud</span></a>
166
+ </li>
167
+ <li class="delicious">
168
+ <a href="https://delicious.com/alexistoulotte"><span>Delicious</span></a>
169
+ </li>
170
+ </ul>
171
+
172
+
173
+ </body>
174
+
175
+ </html>
176
+ http_version:
177
+ recorded_at: Thu, 28 Aug 2014 22:42:42 GMT
178
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.alweb.org/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: Moved Permanently
20
+ headers:
21
+ Date:
22
+ - Thu, 28 Aug 2014 22:42:41 GMT
23
+ Server:
24
+ - Apache/2.2.16 (Debian)
25
+ Location:
26
+ - http://alweb.org/
27
+ Vary:
28
+ - Accept-Encoding
29
+ Content-Length:
30
+ - '241'
31
+ Content-Type:
32
+ - text/html; charset=iso-8859-1
33
+ body:
34
+ encoding: UTF-8
35
+ string: |
36
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
37
+ <html><head>
38
+ <title>301 Moved Permanently</title>
39
+ </head><body>
40
+ <h1>Moved Permanently</h1>
41
+ <p>The document has moved <a href="http://alweb.org/">here</a>.</p>
42
+ <hr>
43
+ <address>Apache/2.2.16 (Debian) Server at www.alweb.org Port 80</address>
44
+ </body></html>
45
+ http_version:
46
+ recorded_at: Thu, 28 Aug 2014 22:42:41 GMT
47
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://alweb.org/foo
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ Date:
22
+ - Thu, 28 Aug 2014 22:42:39 GMT
23
+ Server:
24
+ - Apache/2.2.16 (Debian)
25
+ X-Request-Id:
26
+ - 07c324c9-502f-4748-92e2-8fbee1ec0c49
27
+ X-Runtime:
28
+ - '0.003557'
29
+ X-Powered-By:
30
+ - Phusion Passenger 4.0.49
31
+ Status:
32
+ - 404 Not Found
33
+ Vary:
34
+ - Accept-Encoding
35
+ Content-Length:
36
+ - '495'
37
+ Content-Type:
38
+ - text/html; charset=utf-8
39
+ body:
40
+ encoding: UTF-8
41
+ string: |
42
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
43
+
44
+ <html xmlns="http://www.w3.org/1999/xhtml">
45
+
46
+ <head>
47
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
48
+ <title>Error! - Not Found</title>
49
+ <link href="/errors/style.css" media="screen" rel="stylesheet" type="text/css" />
50
+ </head>
51
+
52
+ <body>
53
+
54
+ <div>
55
+ <h1>Error!</h1>
56
+
57
+ <h2>Not Found</h2>
58
+
59
+ <p class="first">
60
+ The page you were looking for doesn't exist.
61
+ </p>
62
+
63
+ <p>
64
+ You may have mistyped the address or the page may have moved.
65
+ </p>
66
+
67
+ <p class="footer">
68
+ Powered by
69
+ <a href="http://httpd.apache.org" title="The Apache HTTP Server Project">Apache</a>
70
+ and
71
+ <a href="http://debian.org" title="The Universal Operating System">Debian</a>.
72
+ </p>
73
+ </div>
74
+
75
+ </body>
76
+
77
+ </html>
78
+ http_version:
79
+ recorded_at: Thu, 28 Aug 2014 22:42:39 GMT
80
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,134 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://alweb.org/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 28 Aug 2014 22:42:40 GMT
23
+ Server:
24
+ - Apache/2.2.16 (Debian)
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ X-Xss-Protection:
28
+ - 1; mode=block
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Etag:
32
+ - '"f24a7f595f7d88d135193e6f203bfbd5"'
33
+ Cache-Control:
34
+ - public
35
+ X-Request-Id:
36
+ - a2099e9c-1cc9-444b-8017-f0cc453e2cdb
37
+ X-Runtime:
38
+ - '0.005839'
39
+ X-Powered-By:
40
+ - Phusion Passenger 4.0.49
41
+ Status:
42
+ - 200 OK
43
+ Vary:
44
+ - Accept-Encoding
45
+ Content-Length:
46
+ - '929'
47
+ Content-Type:
48
+ - text/html; charset=utf-8
49
+ body:
50
+ encoding: UTF-8
51
+ string: |
52
+ <!DOCTYPE html>
53
+
54
+ <html lang="fr">
55
+
56
+ <head>
57
+ <meta charset="utf-8" />
58
+ <title>Alexis Toulotte</title>
59
+ <meta name="author" content="Alexis Toulotte" />
60
+ <meta name="description" content="Page personnelle d'Alexis Toulotte." />
61
+ <meta name="robots" content="all" />
62
+ <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
63
+ <meta name="DC.format" content="text/html" />
64
+ <meta name="DC.language" content="fr" />
65
+ <meta name="DC.title" content="Alexis Toulotte" />
66
+ <meta name="DC.creator" content="Alexis Toulotte" />
67
+ <meta name="DC.description" content="Page personnelle d'Alexis Toulotte." />
68
+ <meta name="google-site-verification" content="1dodRvC0Zp-iAZilnTeT5PaY4bPKHwSzs9994-3g304" />
69
+ <script src="/assets/application-2faf062622c53593fc90ee0ba5667a48.js"></script>
70
+ <link href="/assets/application-a374b3c70bad2d98bffceac38d81f6d5.css" media="screen" rel="stylesheet" />
71
+ <link href="/avatar?size=128" rel="icon" type="image/png" />
72
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Dancing Script" />
73
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Raleway" />
74
+ </head>
75
+
76
+ <body>
77
+
78
+ <h1>Alexis Toulotte</h1>
79
+
80
+ <ul class="services">
81
+ <li class="github">
82
+ <a href="https://github.com/alexistoulotte"><span>GitHub</span></a>
83
+ </li>
84
+ <li class="rubygems">
85
+ <a href="https://rubygems.org/profiles/alexistoulotte"><span>RubyGems</span></a>
86
+ </li>
87
+ <li class="cv">
88
+ <a href="https://dl.dropbox.com/u/5601946/CV.pdf"><span>CV</span></a>
89
+ </li>
90
+ <li class="email">
91
+ <a href="#"><span>Email</span></a>
92
+ </li>
93
+ <li class="phone">
94
+ <a href="callto://+687817612"><span>+687 81 76 12</span></a>
95
+ </li>
96
+ <li class="skype">
97
+ <a href="skype:alexistoulotte"><span>Skype</span></a>
98
+ </li>
99
+ <li class="twitter">
100
+ <a href="https://twitter.com/alexistoulotte"><span>Twitter</span></a>
101
+ </li>
102
+ <li class="facebook">
103
+ <a href="https://www.facebook.com/alexis.toulotte"><span>Facebook</span></a>
104
+ </li>
105
+ <li class="linked-in">
106
+ <a href="https://www.linkedin.com/in/alexistoulotte"><span>LinkedIn</span></a>
107
+ </li>
108
+ <li class="google-plus">
109
+ <a href="https://plus.google.com/111956742901852825014/posts"><span>Google+</span></a>
110
+ </li>
111
+ <li class="youtube">
112
+ <a href="https://www.youtube.com/alexistoulotte"><span>YouTube</span></a>
113
+ </li>
114
+ <li class="mixcloud">
115
+ <a href="https://www.mixcloud.com/alexistoulotte"><span>Mixcloud</span></a>
116
+ </li>
117
+ <li class="last-fm">
118
+ <a href="http://www.lastfm.fr/user/alexistoulotte"><span>Last.fm</span></a>
119
+ </li>
120
+ <li class="sound-cloud">
121
+ <a href="https://soundcloud.com/alexistoulotte"><span>SoundCloud</span></a>
122
+ </li>
123
+ <li class="delicious">
124
+ <a href="https://delicious.com/alexistoulotte"><span>Delicious</span></a>
125
+ </li>
126
+ </ul>
127
+
128
+
129
+ </body>
130
+
131
+ </html>
132
+ http_version:
133
+ recorded_at: Thu, 28 Aug 2014 22:42:40 GMT
134
+ recorded_with: VCR 2.9.2