speakerdeck_api 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/fixtures/vcr_cassettes/foo.yml +371 -0
- data/fixtures/vcr_cassettes/speaker_profile_with_complete_info.yml +371 -0
- data/fixtures/vcr_cassettes/speaker_profile_without_info.yml +213 -0
- data/lib/speakerdeck_api/version.rb +1 -1
- data/speakerdeck_api.gemspec +5 -2
- data/spec/fixtures/invalid_speaker.yml +446 -0
- data/spec/fixtures/speaker_profile_with_complete_info.yml +371 -0
- data/spec/fixtures/speaker_profile_without_info.yml +213 -0
- data/spec/speakerdeck_api/connection_spec.rb +10 -4
- data/spec/speakerdeck_api/parser_spec.rb +23 -35
- data/spec/speakerdeck_api/speaker_spec.rb +16 -8
- data/spec/spec_helper.rb +7 -0
- metadata +46 -10
- data/spec/fixtures/speaker_profile.html +0 -388
- data/spec/fixtures/speaker_without_info.html +0 -200
@@ -1,200 +0,0 @@
|
|
1
|
-
|
2
|
-
<!DOCTYPE html>
|
3
|
-
<html>
|
4
|
-
<head>
|
5
|
-
<meta charset="UTF-8">
|
6
|
-
<title>Presentations by Erik Michaels-Ober // Speaker Deck</title>
|
7
|
-
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
8
|
-
|
9
|
-
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,600&subset=latin,latin-ext,cyrillic,cyrillic-ext' rel='stylesheet' type='text/css'>
|
10
|
-
<link href="https://d2dfho4r6t7asi.cloudfront.net/assets/application-31e7b11e971c1191f531d134325dda3f.css" media="screen" rel="stylesheet" type="text/css" />
|
11
|
-
|
12
|
-
<meta name="octolytics-app-id" content="speakerdeck" /><meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-script-host" content="collector-cdn.github.com" />
|
13
|
-
|
14
|
-
|
15
|
-
<script src="https://d2dfho4r6t7asi.cloudfront.net/assets/application-de3b0dfb5fa666c00edfef0bbc79a0d7.js" type="text/javascript"></script>
|
16
|
-
<!--[if lt IE 9]>
|
17
|
-
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
18
|
-
<![endif]-->
|
19
|
-
<!--[if (gte IE 6)&(lte IE 8)]>
|
20
|
-
<script src="https://d2dfho4r6t7asi.cloudfront.net/assets/selectivizr-7b14bd1d1264beb6f8c385039c9cf80a.js" type="text/javascript"></script>
|
21
|
-
<![endif]-->
|
22
|
-
<meta content="authenticity_token" name="csrf-param" />
|
23
|
-
<meta content="DA4GeimHaeQpbsKns+X4McGZ2FvSzYsNd8T5lJF4O3SghouFn3axtcKrvpguWyZ5h4/90SNTUO62EsKI7ILDyg==" name="csrf-token" />
|
24
|
-
|
25
|
-
<link href="https://speakerdeck.com/sferik.atom" rel="alternate" title="Erik Michaels-Ober's Presentations Feed" type="application/atom+xml" />
|
26
|
-
<meta name="octolytics-dimension-user_id" content="20744" /><meta name="octolytics-dimension-user_username" content="sferik" />
|
27
|
-
|
28
|
-
</head>
|
29
|
-
<body class="signed-out">
|
30
|
-
<header>
|
31
|
-
<div class="container">
|
32
|
-
<h1><a href="/">Speaker Deck</a></h1>
|
33
|
-
|
34
|
-
<form accept-charset="UTF-8" action="/search" id="search_form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
|
35
|
-
<input type="text" id="q" name="q" placeholder="Search…" value="" autocomplete="off" />
|
36
|
-
<button>Search</button>
|
37
|
-
</form>
|
38
|
-
<div class="navigation">
|
39
|
-
<ul>
|
40
|
-
<li><a href="/signup">Sign Up</a></li>
|
41
|
-
<li><a href="/signin">Sign In</a></li>
|
42
|
-
</ul>
|
43
|
-
|
44
|
-
|
45
|
-
</div>
|
46
|
-
|
47
|
-
|
48
|
-
</div>
|
49
|
-
</header>
|
50
|
-
|
51
|
-
|
52
|
-
<div id="content">
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
<section class="light">
|
57
|
-
<div class="container">
|
58
|
-
<div class="main">
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
<h1>Talks by Erik Michaels-Ober</h1>
|
63
|
-
<p></p>
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
<div class="talks">
|
68
|
-
<div class="talk public" data-id="585245d01ee1013238737e42b879906f" data-slide-count="58">
|
69
|
-
<a class="slide_preview scrub" href="/sferik/writing-fast-ruby">
|
70
|
-
<img alt="Thumb_slide_0" src="https://speakerd.s3.amazonaws.com/presentations/585245d01ee1013238737e42b879906f/thumb_slide_0.jpg" />
|
71
|
-
<div class="scrubber"><div class="scrubbed" style="width:0;"></div></div>
|
72
|
-
</a>
|
73
|
-
<div class="talk-listing-meta">
|
74
|
-
<h3 class="title">
|
75
|
-
<a href="/sferik/writing-fast-ruby">Writing Fast Ruby</a>
|
76
|
-
</h3>
|
77
|
-
<p class="date">
|
78
|
-
Oct 13, 2014 by
|
79
|
-
<a href="/sferik">Erik Michaels-Ober</a></p>
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
|
83
|
-
<div class="talk public" data-id="500a42a0ac9a0131dd950ac15ed77645" data-slide-count="17">
|
84
|
-
<a class="slide_preview scrub" href="/sferik/mutation-testing-with-mutant">
|
85
|
-
<img alt="Thumb_slide_0" src="https://speakerd.s3.amazonaws.com/presentations/500a42a0ac9a0131dd950ac15ed77645/thumb_slide_0.jpg" />
|
86
|
-
<div class="scrubber"><div class="scrubbed" style="width:0;"></div></div>
|
87
|
-
</a>
|
88
|
-
<div class="talk-listing-meta">
|
89
|
-
<h3 class="title">
|
90
|
-
<a href="/sferik/mutation-testing-with-mutant">Mutation Testing with Mutant</a>
|
91
|
-
</h3>
|
92
|
-
<p class="date">
|
93
|
-
Apr 22, 2014 by
|
94
|
-
<a href="/sferik">Erik Michaels-Ober</a></p>
|
95
|
-
</div>
|
96
|
-
</div>
|
97
|
-
|
98
|
-
<div class="talk public" data-id="f69c8d90ac990131518f4a996f9256bf" data-slide-count="36">
|
99
|
-
<a class="slide_preview scrub" href="/sferik/putting-the-media-in-hypermedia">
|
100
|
-
<img alt="Thumb_slide_0" src="https://speakerd.s3.amazonaws.com/presentations/f69c8d90ac990131518f4a996f9256bf/thumb_slide_0.jpg" />
|
101
|
-
<div class="scrubber"><div class="scrubbed" style="width:0;"></div></div>
|
102
|
-
</a>
|
103
|
-
<div class="talk-listing-meta">
|
104
|
-
<h3 class="title">
|
105
|
-
<a href="/sferik/putting-the-media-in-hypermedia">Putting the “Media” in Hypermedia</a>
|
106
|
-
</h3>
|
107
|
-
<p class="date">
|
108
|
-
Mar 27, 2014 by
|
109
|
-
<a href="/sferik">Erik Michaels-Ober</a></p>
|
110
|
-
</div>
|
111
|
-
</div>
|
112
|
-
|
113
|
-
<div class="talk empty"><div class="slide_preview"></div></div>
|
114
|
-
|
115
|
-
<div class="talk empty"><div class="slide_preview"></div></div>
|
116
|
-
|
117
|
-
<div class="talk empty"><div class="slide_preview"></div></div>
|
118
|
-
|
119
|
-
<div class="talk empty"><div class="slide_preview"></div></div>
|
120
|
-
|
121
|
-
<div class="talk empty"><div class="slide_preview"></div></div>
|
122
|
-
|
123
|
-
<div class="talk empty"><div class="slide_preview"></div></div>
|
124
|
-
|
125
|
-
</div>
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
</div>
|
130
|
-
|
131
|
-
<div class="sidebar">
|
132
|
-
<div class="sidebar">
|
133
|
-
<h1>Speaker Details</h1>
|
134
|
-
<a href="/sferik" class="bio_mugshot"><img alt="1f74b13f1e5c6c69cb5d7fbaabb1e2cb?s=47" src="//secure.gravatar.com/avatar/1f74b13f1e5c6c69cb5d7fbaabb1e2cb?s=47" /></a>
|
135
|
-
<h2>Erik Michaels-Ober</h2>
|
136
|
-
<div class="bio"><p></p></div>
|
137
|
-
|
138
|
-
<ul class="delimited">
|
139
|
-
</ul>
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
</div>
|
144
|
-
|
145
|
-
</div>
|
146
|
-
</div>
|
147
|
-
</section>
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
</div>
|
152
|
-
|
153
|
-
<footer>
|
154
|
-
<div class="container">
|
155
|
-
<span class="copyright">
|
156
|
-
<img alt="Invertocat" src="https://d2dfho4r6t7asi.cloudfront.net/assets/invertocat-f10d7398407ff679b054b8c4c86aa639.svg" />
|
157
|
-
<div class="copyright-text">Copyright © 2014 <a href="http://github.com">GitHub</a> Inc.
|
158
|
-
<div class="crumb">All slide content and descriptions are owned by their creators.</div>
|
159
|
-
</div>
|
160
|
-
</span>
|
161
|
-
|
162
|
-
<ul class="links">
|
163
|
-
<li><a href="/faq">F.A.Q.</a></li>
|
164
|
-
<li><a href="/tos">Terms of Service</a></li>
|
165
|
-
<li><a href="/privacy">Privacy Policy</a></li>
|
166
|
-
</ul>
|
167
|
-
</div>
|
168
|
-
</footer>
|
169
|
-
|
170
|
-
<script type="text/javascript">
|
171
|
-
var _gaq = _gaq || [];
|
172
|
-
_gaq.push(['_setAccount', 'UA-19290517-1']);
|
173
|
-
_gaq.push(['_setDomainName', '.speakerdeck.com']);
|
174
|
-
_gaq.push(['_trackPageview']);
|
175
|
-
|
176
|
-
(function() {
|
177
|
-
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
178
|
-
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
179
|
-
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
180
|
-
})();
|
181
|
-
</script>
|
182
|
-
|
183
|
-
|
184
|
-
<script type="text/javascript">
|
185
|
-
(function() {
|
186
|
-
var t = document.createElement('script');
|
187
|
-
t.type = 'text/javascript';
|
188
|
-
t.async = true;
|
189
|
-
t.id = 'gauges-tracker';
|
190
|
-
t.setAttribute('data-site-id',
|
191
|
-
'4dd2a2b5613f5d2021000005');
|
192
|
-
t.src = '//secure.gaug.es/track.js';
|
193
|
-
var s = document.getElementsByTagName('script')[0];
|
194
|
-
s.parentNode.insertBefore(t, s);
|
195
|
-
})();
|
196
|
-
</script>
|
197
|
-
|
198
|
-
</body>
|
199
|
-
</html>
|
200
|
-
|