fanswatch 0.0.0 → 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.
- checksums.yaml +4 -4
- data/.gitignore +5 -3
- data/LICENSE +21 -0
- data/README.md +5 -1
- data/Rakefile +6 -0
- data/bin/fanswatch +23 -0
- data/fanswatch.gemspec +32 -0
- data/lib/fanswatch/attachment.rb +2 -0
- data/lib/fanswatch/fb_api.rb +84 -20
- data/lib/fanswatch/feed.rb +22 -0
- data/lib/fanswatch/page.rb +10 -19
- data/lib/fanswatch/posting.rb +10 -11
- data/lib/fanswatch/version.rb +5 -0
- data/spec/fanswatch_spec.rb +56 -67
- data/spec/spec_helper.rb +29 -2
- metadata +6 -30
- data/coverage/.last_run.json +0 -5
- data/coverage/.resultset.json +0 -164
- data/coverage/.resultset.json.lock +0 -0
- data/coverage/assets/0.10.0/application.css +0 -799
- data/coverage/assets/0.10.0/application.js +0 -1707
- data/coverage/assets/0.10.0/colorbox/border.png +0 -0
- data/coverage/assets/0.10.0/colorbox/controls.png +0 -0
- data/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
- data/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.10.0/favicon_green.png +0 -0
- data/coverage/assets/0.10.0/favicon_red.png +0 -0
- data/coverage/assets/0.10.0/favicon_yellow.png +0 -0
- data/coverage/assets/0.10.0/loading.gif +0 -0
- data/coverage/assets/0.10.0/magnify.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +0 -1094
data/coverage/index.html
DELETED
@@ -1,1094 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html xmlns='http://www.w3.org/1999/xhtml'>
|
3
|
-
<head>
|
4
|
-
<title>Code coverage for Fanswatch</title>
|
5
|
-
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
6
|
-
<script src='./assets/0.10.0/application.js' type='text/javascript'></script>
|
7
|
-
<link href='./assets/0.10.0/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
|
8
|
-
<link rel="shortcut icon" type="image/png" href="./assets/0.10.0/favicon_green.png" />
|
9
|
-
<link rel="icon" type="image/png" href="./assets/0.10.0/favicon.png" />
|
10
|
-
</head>
|
11
|
-
|
12
|
-
<body>
|
13
|
-
<div id="loading">
|
14
|
-
<img src="./assets/0.10.0/loading.gif" alt="loading"/>
|
15
|
-
</div>
|
16
|
-
<div id="wrapper" style="display:none;">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2016-11-21T07:16:35-08:00">2016-11-21T07:16:35-08:00</abbr></div>
|
18
|
-
<ul class="group_tabs"></ul>
|
19
|
-
|
20
|
-
<div id="content">
|
21
|
-
<div class="file_list_container" id="AllFiles">
|
22
|
-
<h2>
|
23
|
-
<span class="group_name">All Files</span>
|
24
|
-
(<span class="covered_percent"><span class="green">100.0%</span></span>
|
25
|
-
covered at
|
26
|
-
<span class="covered_strength">
|
27
|
-
<span class="green">
|
28
|
-
6.82
|
29
|
-
</span>
|
30
|
-
</span> hits/line)
|
31
|
-
</h2>
|
32
|
-
<a name="AllFiles"></a>
|
33
|
-
<div>
|
34
|
-
<b>5</b> files in total.
|
35
|
-
<b>76</b> relevant lines.
|
36
|
-
<span class="green"><b>76</b> lines covered</span> and
|
37
|
-
<span class="red"><b>0</b> lines missed </span>
|
38
|
-
</div>
|
39
|
-
<table class="file_list">
|
40
|
-
<thead>
|
41
|
-
<tr>
|
42
|
-
<th>File</th>
|
43
|
-
<th>% covered</th>
|
44
|
-
<th>Lines</th>
|
45
|
-
<th>Relevant Lines</th>
|
46
|
-
<th>Lines covered</th>
|
47
|
-
<th>Lines missed</th>
|
48
|
-
<th>Avg. Hits / Line</th>
|
49
|
-
</tr>
|
50
|
-
</thead>
|
51
|
-
<tbody>
|
52
|
-
|
53
|
-
<tr>
|
54
|
-
<td class="strong"><a href="#4fabf3b568ed0b0ef274280d2dfee8567cafd042" class="src_link" title="lib/fanswatch.rb">lib/fanswatch.rb</a></td>
|
55
|
-
<td class="green strong">100.0 %</td>
|
56
|
-
<td>2</td>
|
57
|
-
<td>2</td>
|
58
|
-
<td>2</td>
|
59
|
-
<td>0</td>
|
60
|
-
<td>3.0</td>
|
61
|
-
</tr>
|
62
|
-
|
63
|
-
<tr>
|
64
|
-
<td class="strong"><a href="#648286cddbd94652295b8c03ae391b048486d84d" class="src_link" title="lib/fanswatch/attachment.rb">lib/fanswatch/attachment.rb</a></td>
|
65
|
-
<td class="green strong">100.0 %</td>
|
66
|
-
<td>13</td>
|
67
|
-
<td>7</td>
|
68
|
-
<td>7</td>
|
69
|
-
<td>0</td>
|
70
|
-
<td>1.0</td>
|
71
|
-
</tr>
|
72
|
-
|
73
|
-
<tr>
|
74
|
-
<td class="strong"><a href="#a3dc7fe3a79597894585f8a0818729765ffb405f" class="src_link" title="lib/fanswatch/fb_api.rb">lib/fanswatch/fb_api.rb</a></td>
|
75
|
-
<td class="green strong">100.0 %</td>
|
76
|
-
<td>63</td>
|
77
|
-
<td>28</td>
|
78
|
-
<td>28</td>
|
79
|
-
<td>0</td>
|
80
|
-
<td>1.9</td>
|
81
|
-
</tr>
|
82
|
-
|
83
|
-
<tr>
|
84
|
-
<td class="strong"><a href="#3d70c477a2f57ec8338a1dc4522f57582d5d9be1" class="src_link" title="lib/fanswatch/page.rb">lib/fanswatch/page.rb</a></td>
|
85
|
-
<td class="green strong">100.0 %</td>
|
86
|
-
<td>32</td>
|
87
|
-
<td>17</td>
|
88
|
-
<td>17</td>
|
89
|
-
<td>0</td>
|
90
|
-
<td>4.6</td>
|
91
|
-
</tr>
|
92
|
-
|
93
|
-
<tr>
|
94
|
-
<td class="strong"><a href="#f44a6eaabb98ec8a8f8b0e52f1ef3ecf1f71138f" class="src_link" title="lib/fanswatch/posting.rb">lib/fanswatch/posting.rb</a></td>
|
95
|
-
<td class="green strong">100.0 %</td>
|
96
|
-
<td>37</td>
|
97
|
-
<td>22</td>
|
98
|
-
<td>22</td>
|
99
|
-
<td>0</td>
|
100
|
-
<td>17.0</td>
|
101
|
-
</tr>
|
102
|
-
|
103
|
-
</tbody>
|
104
|
-
</table>
|
105
|
-
</div>
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
</div>
|
110
|
-
|
111
|
-
<div id="footer">
|
112
|
-
Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.12.0
|
113
|
-
and simplecov-html v0.10.0<br/>
|
114
|
-
using RSpec
|
115
|
-
</div>
|
116
|
-
|
117
|
-
<div class="source_files">
|
118
|
-
|
119
|
-
<div class="source_table" id="4fabf3b568ed0b0ef274280d2dfee8567cafd042">
|
120
|
-
<div class="header">
|
121
|
-
<h3>lib/fanswatch.rb</h3>
|
122
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
123
|
-
<div>
|
124
|
-
<b>2</b> relevant lines.
|
125
|
-
<span class="green"><b>2</b> lines covered</span> and
|
126
|
-
<span class="red"><b>0</b> lines missed.</span>
|
127
|
-
</div>
|
128
|
-
</div>
|
129
|
-
|
130
|
-
<pre>
|
131
|
-
<ol>
|
132
|
-
|
133
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
134
|
-
<span class="hits">1</span>
|
135
|
-
|
136
|
-
<code class="ruby">files = Dir.glob(File.join(File.dirname(__FILE__), 'fanswatch/*.rb')) </code>
|
137
|
-
</li>
|
138
|
-
|
139
|
-
<li class="covered" data-hits="5" data-linenumber="2">
|
140
|
-
<span class="hits">5</span>
|
141
|
-
|
142
|
-
<code class="ruby">files.each { |lib| require_relative lib } </code>
|
143
|
-
</li>
|
144
|
-
|
145
|
-
</ol>
|
146
|
-
</pre>
|
147
|
-
</div>
|
148
|
-
|
149
|
-
<div class="source_table" id="648286cddbd94652295b8c03ae391b048486d84d">
|
150
|
-
<div class="header">
|
151
|
-
<h3>lib/fanswatch/attachment.rb</h3>
|
152
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
153
|
-
<div>
|
154
|
-
<b>7</b> relevant lines.
|
155
|
-
<span class="green"><b>7</b> lines covered</span> and
|
156
|
-
<span class="red"><b>0</b> lines missed.</span>
|
157
|
-
</div>
|
158
|
-
</div>
|
159
|
-
|
160
|
-
<pre>
|
161
|
-
<ol>
|
162
|
-
|
163
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
164
|
-
<span class="hits">1</span>
|
165
|
-
|
166
|
-
<code class="ruby">module FansWatch </code>
|
167
|
-
</li>
|
168
|
-
|
169
|
-
<li class="never" data-hits="" data-linenumber="2">
|
170
|
-
|
171
|
-
|
172
|
-
<code class="ruby"># Attached URL to Posting </code>
|
173
|
-
</li>
|
174
|
-
|
175
|
-
<li class="covered" data-hits="1" data-linenumber="3">
|
176
|
-
<span class="hits">1</span>
|
177
|
-
|
178
|
-
<code class="ruby"> class Attachment </code>
|
179
|
-
</li>
|
180
|
-
|
181
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
182
|
-
<span class="hits">1</span>
|
183
|
-
|
184
|
-
<code class="ruby"> attr_reader :description, :url </code>
|
185
|
-
</li>
|
186
|
-
|
187
|
-
<li class="never" data-hits="" data-linenumber="5">
|
188
|
-
|
189
|
-
|
190
|
-
<code class="ruby"></code>
|
191
|
-
</li>
|
192
|
-
|
193
|
-
<li class="covered" data-hits="1" data-linenumber="6">
|
194
|
-
<span class="hits">1</span>
|
195
|
-
|
196
|
-
<code class="ruby"> def initialize(data) </code>
|
197
|
-
</li>
|
198
|
-
|
199
|
-
<li class="covered" data-hits="1" data-linenumber="7">
|
200
|
-
<span class="hits">1</span>
|
201
|
-
|
202
|
-
<code class="ruby"> return unless data </code>
|
203
|
-
</li>
|
204
|
-
|
205
|
-
<li class="covered" data-hits="1" data-linenumber="8">
|
206
|
-
<span class="hits">1</span>
|
207
|
-
|
208
|
-
<code class="ruby"> @description = data['description'] </code>
|
209
|
-
</li>
|
210
|
-
|
211
|
-
<li class="covered" data-hits="1" data-linenumber="9">
|
212
|
-
<span class="hits">1</span>
|
213
|
-
|
214
|
-
<code class="ruby"> @url = data['url'] </code>
|
215
|
-
</li>
|
216
|
-
|
217
|
-
<li class="never" data-hits="" data-linenumber="10">
|
218
|
-
|
219
|
-
|
220
|
-
<code class="ruby"> end </code>
|
221
|
-
</li>
|
222
|
-
|
223
|
-
<li class="never" data-hits="" data-linenumber="11">
|
224
|
-
|
225
|
-
|
226
|
-
<code class="ruby"></code>
|
227
|
-
</li>
|
228
|
-
|
229
|
-
<li class="never" data-hits="" data-linenumber="12">
|
230
|
-
|
231
|
-
|
232
|
-
<code class="ruby"> end </code>
|
233
|
-
</li>
|
234
|
-
|
235
|
-
<li class="never" data-hits="" data-linenumber="13">
|
236
|
-
|
237
|
-
|
238
|
-
<code class="ruby">end </code>
|
239
|
-
</li>
|
240
|
-
|
241
|
-
</ol>
|
242
|
-
</pre>
|
243
|
-
</div>
|
244
|
-
|
245
|
-
<div class="source_table" id="a3dc7fe3a79597894585f8a0818729765ffb405f">
|
246
|
-
<div class="header">
|
247
|
-
<h3>lib/fanswatch/fb_api.rb</h3>
|
248
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
249
|
-
<div>
|
250
|
-
<b>28</b> relevant lines.
|
251
|
-
<span class="green"><b>28</b> lines covered</span> and
|
252
|
-
<span class="red"><b>0</b> lines missed.</span>
|
253
|
-
</div>
|
254
|
-
</div>
|
255
|
-
|
256
|
-
<pre>
|
257
|
-
<ol>
|
258
|
-
|
259
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
260
|
-
<span class="hits">1</span>
|
261
|
-
|
262
|
-
<code class="ruby">require 'http'</code>
|
263
|
-
</li>
|
264
|
-
|
265
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
266
|
-
<span class="hits">1</span>
|
267
|
-
|
268
|
-
<code class="ruby">require 'json'</code>
|
269
|
-
</li>
|
270
|
-
|
271
|
-
<li class="never" data-hits="" data-linenumber="3">
|
272
|
-
|
273
|
-
|
274
|
-
<code class="ruby"></code>
|
275
|
-
</li>
|
276
|
-
|
277
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
278
|
-
<span class="hits">1</span>
|
279
|
-
|
280
|
-
<code class="ruby">module FansWatch</code>
|
281
|
-
</li>
|
282
|
-
|
283
|
-
<li class="never" data-hits="" data-linenumber="5">
|
284
|
-
|
285
|
-
|
286
|
-
<code class="ruby"> # Service for all FB API calls</code>
|
287
|
-
</li>
|
288
|
-
|
289
|
-
<li class="covered" data-hits="1" data-linenumber="6">
|
290
|
-
<span class="hits">1</span>
|
291
|
-
|
292
|
-
<code class="ruby"> class FbApi</code>
|
293
|
-
</li>
|
294
|
-
|
295
|
-
<li class="covered" data-hits="1" data-linenumber="7">
|
296
|
-
<span class="hits">1</span>
|
297
|
-
|
298
|
-
<code class="ruby"> FB_URL = 'https://graph.facebook.com'</code>
|
299
|
-
</li>
|
300
|
-
|
301
|
-
<li class="covered" data-hits="1" data-linenumber="8">
|
302
|
-
<span class="hits">1</span>
|
303
|
-
|
304
|
-
<code class="ruby"> API_VER = 'v2.8'</code>
|
305
|
-
</li>
|
306
|
-
|
307
|
-
<li class="covered" data-hits="1" data-linenumber="9">
|
308
|
-
<span class="hits">1</span>
|
309
|
-
|
310
|
-
<code class="ruby"> FB_API_URL = URI.join(FB_URL, "#{API_VER}/")</code>
|
311
|
-
</li>
|
312
|
-
|
313
|
-
<li class="covered" data-hits="1" data-linenumber="10">
|
314
|
-
<span class="hits">1</span>
|
315
|
-
|
316
|
-
<code class="ruby"> FB_TOKEN_URL = URI.join(FB_API_URL, 'oauth/access_token')</code>
|
317
|
-
</li>
|
318
|
-
|
319
|
-
<li class="never" data-hits="" data-linenumber="11">
|
320
|
-
|
321
|
-
|
322
|
-
<code class="ruby"></code>
|
323
|
-
</li>
|
324
|
-
|
325
|
-
<li class="covered" data-hits="1" data-linenumber="12">
|
326
|
-
<span class="hits">1</span>
|
327
|
-
|
328
|
-
<code class="ruby"> attr_reader :access_token</code>
|
329
|
-
</li>
|
330
|
-
|
331
|
-
<li class="never" data-hits="" data-linenumber="13">
|
332
|
-
|
333
|
-
|
334
|
-
<code class="ruby"></code>
|
335
|
-
</li>
|
336
|
-
|
337
|
-
<li class="covered" data-hits="1" data-linenumber="14">
|
338
|
-
<span class="hits">1</span>
|
339
|
-
|
340
|
-
<code class="ruby"> def initialize(client_id:, client_secret:)</code>
|
341
|
-
</li>
|
342
|
-
|
343
|
-
<li class="covered" data-hits="6" data-linenumber="15">
|
344
|
-
<span class="hits">6</span>
|
345
|
-
|
346
|
-
<code class="ruby"> access_token_response = </code>
|
347
|
-
</li>
|
348
|
-
|
349
|
-
<li class="never" data-hits="" data-linenumber="16">
|
350
|
-
|
351
|
-
|
352
|
-
<code class="ruby"> HTTP.get(FB_TOKEN_URL,</code>
|
353
|
-
</li>
|
354
|
-
|
355
|
-
<li class="never" data-hits="" data-linenumber="17">
|
356
|
-
|
357
|
-
|
358
|
-
<code class="ruby"> params: { client_id: client_id,</code>
|
359
|
-
</li>
|
360
|
-
|
361
|
-
<li class="never" data-hits="" data-linenumber="18">
|
362
|
-
|
363
|
-
|
364
|
-
<code class="ruby"> client_secret: client_secret,</code>
|
365
|
-
</li>
|
366
|
-
|
367
|
-
<li class="never" data-hits="" data-linenumber="19">
|
368
|
-
|
369
|
-
|
370
|
-
<code class="ruby"> grant_type: 'client_credentials' })</code>
|
371
|
-
</li>
|
372
|
-
|
373
|
-
<li class="covered" data-hits="6" data-linenumber="20">
|
374
|
-
<span class="hits">6</span>
|
375
|
-
|
376
|
-
<code class="ruby"> @access_token = JSON.load(access_token_response.to_s)['access_token'] </code>
|
377
|
-
</li>
|
378
|
-
|
379
|
-
<li class="never" data-hits="" data-linenumber="21">
|
380
|
-
|
381
|
-
|
382
|
-
<code class="ruby"> end</code>
|
383
|
-
</li>
|
384
|
-
|
385
|
-
<li class="never" data-hits="" data-linenumber="22">
|
386
|
-
|
387
|
-
|
388
|
-
<code class="ruby"></code>
|
389
|
-
</li>
|
390
|
-
|
391
|
-
<li class="covered" data-hits="1" data-linenumber="23">
|
392
|
-
<span class="hits">1</span>
|
393
|
-
|
394
|
-
<code class="ruby"> def fb_resource(id)</code>
|
395
|
-
</li>
|
396
|
-
|
397
|
-
<li class="covered" data-hits="4" data-linenumber="24">
|
398
|
-
<span class="hits">4</span>
|
399
|
-
|
400
|
-
<code class="ruby"> response = HTTP.get(</code>
|
401
|
-
</li>
|
402
|
-
|
403
|
-
<li class="never" data-hits="" data-linenumber="25">
|
404
|
-
|
405
|
-
|
406
|
-
<code class="ruby"> fb_resource_url(id),</code>
|
407
|
-
</li>
|
408
|
-
|
409
|
-
<li class="never" data-hits="" data-linenumber="26">
|
410
|
-
|
411
|
-
|
412
|
-
<code class="ruby"> params: {access_token: @access_token })</code>
|
413
|
-
</li>
|
414
|
-
|
415
|
-
<li class="covered" data-hits="4" data-linenumber="27">
|
416
|
-
<span class="hits">4</span>
|
417
|
-
|
418
|
-
<code class="ruby"> JSON.load(response.to_s)</code>
|
419
|
-
</li>
|
420
|
-
|
421
|
-
<li class="never" data-hits="" data-linenumber="28">
|
422
|
-
|
423
|
-
|
424
|
-
<code class="ruby"> end</code>
|
425
|
-
</li>
|
426
|
-
|
427
|
-
<li class="never" data-hits="" data-linenumber="29">
|
428
|
-
|
429
|
-
|
430
|
-
<code class="ruby"></code>
|
431
|
-
</li>
|
432
|
-
|
433
|
-
<li class="covered" data-hits="1" data-linenumber="30">
|
434
|
-
<span class="hits">1</span>
|
435
|
-
|
436
|
-
<code class="ruby"> def page_info(page_id)</code>
|
437
|
-
</li>
|
438
|
-
|
439
|
-
<li class="covered" data-hits="3" data-linenumber="31">
|
440
|
-
<span class="hits">3</span>
|
441
|
-
|
442
|
-
<code class="ruby"> fb_resource(page_id)</code>
|
443
|
-
</li>
|
444
|
-
|
445
|
-
<li class="never" data-hits="" data-linenumber="32">
|
446
|
-
|
447
|
-
|
448
|
-
<code class="ruby"> end</code>
|
449
|
-
</li>
|
450
|
-
|
451
|
-
<li class="never" data-hits="" data-linenumber="33">
|
452
|
-
|
453
|
-
|
454
|
-
<code class="ruby"></code>
|
455
|
-
</li>
|
456
|
-
|
457
|
-
<li class="covered" data-hits="1" data-linenumber="34">
|
458
|
-
<span class="hits">1</span>
|
459
|
-
|
460
|
-
<code class="ruby"> def posting(posting_id) </code>
|
461
|
-
</li>
|
462
|
-
|
463
|
-
<li class="covered" data-hits="1" data-linenumber="35">
|
464
|
-
<span class="hits">1</span>
|
465
|
-
|
466
|
-
<code class="ruby"> fb_resource(posting_id) </code>
|
467
|
-
</li>
|
468
|
-
|
469
|
-
<li class="never" data-hits="" data-linenumber="36">
|
470
|
-
|
471
|
-
|
472
|
-
<code class="ruby"> end</code>
|
473
|
-
</li>
|
474
|
-
|
475
|
-
<li class="never" data-hits="" data-linenumber="37">
|
476
|
-
|
477
|
-
|
478
|
-
<code class="ruby"></code>
|
479
|
-
</li>
|
480
|
-
|
481
|
-
<li class="covered" data-hits="1" data-linenumber="38">
|
482
|
-
<span class="hits">1</span>
|
483
|
-
|
484
|
-
<code class="ruby"> def page_feed(page_id)</code>
|
485
|
-
</li>
|
486
|
-
|
487
|
-
<li class="covered" data-hits="2" data-linenumber="39">
|
488
|
-
<span class="hits">2</span>
|
489
|
-
|
490
|
-
<code class="ruby"> feed_response = </code>
|
491
|
-
</li>
|
492
|
-
|
493
|
-
<li class="never" data-hits="" data-linenumber="40">
|
494
|
-
|
495
|
-
|
496
|
-
<code class="ruby"> HTTP.get(URI.join(fb_resource_url(page_id), 'feed'),</code>
|
497
|
-
</li>
|
498
|
-
|
499
|
-
<li class="never" data-hits="" data-linenumber="41">
|
500
|
-
|
501
|
-
|
502
|
-
<code class="ruby"> params: { access_token: @access_token })</code>
|
503
|
-
</li>
|
504
|
-
|
505
|
-
<li class="covered" data-hits="2" data-linenumber="42">
|
506
|
-
<span class="hits">2</span>
|
507
|
-
|
508
|
-
<code class="ruby"> JSON.load(feed_response.to_s)['data']</code>
|
509
|
-
</li>
|
510
|
-
|
511
|
-
<li class="never" data-hits="" data-linenumber="43">
|
512
|
-
|
513
|
-
|
514
|
-
<code class="ruby"> end</code>
|
515
|
-
</li>
|
516
|
-
|
517
|
-
<li class="never" data-hits="" data-linenumber="44">
|
518
|
-
|
519
|
-
|
520
|
-
<code class="ruby"></code>
|
521
|
-
</li>
|
522
|
-
|
523
|
-
<li class="covered" data-hits="1" data-linenumber="45">
|
524
|
-
<span class="hits">1</span>
|
525
|
-
|
526
|
-
<code class="ruby"> def posting_attachments(posting_id)</code>
|
527
|
-
</li>
|
528
|
-
|
529
|
-
<li class="covered" data-hits="1" data-linenumber="46">
|
530
|
-
<span class="hits">1</span>
|
531
|
-
|
532
|
-
<code class="ruby"> attachments_response = </code>
|
533
|
-
</li>
|
534
|
-
|
535
|
-
<li class="never" data-hits="" data-linenumber="47">
|
536
|
-
|
537
|
-
|
538
|
-
<code class="ruby"> HTTP.get(URI.join(fb_resource_url(posting_id), 'attachments'), </code>
|
539
|
-
</li>
|
540
|
-
|
541
|
-
<li class="never" data-hits="" data-linenumber="48">
|
542
|
-
|
543
|
-
|
544
|
-
<code class="ruby"> params: { access_token: @access_token })</code>
|
545
|
-
</li>
|
546
|
-
|
547
|
-
<li class="covered" data-hits="1" data-linenumber="49">
|
548
|
-
<span class="hits">1</span>
|
549
|
-
|
550
|
-
<code class="ruby"> JSON.load(attachments_response.to_s)['data'].first</code>
|
551
|
-
</li>
|
552
|
-
|
553
|
-
<li class="never" data-hits="" data-linenumber="50">
|
554
|
-
|
555
|
-
|
556
|
-
<code class="ruby"> end</code>
|
557
|
-
</li>
|
558
|
-
|
559
|
-
<li class="never" data-hits="" data-linenumber="51">
|
560
|
-
|
561
|
-
|
562
|
-
<code class="ruby"></code>
|
563
|
-
</li>
|
564
|
-
|
565
|
-
<li class="never" data-hits="" data-linenumber="52">
|
566
|
-
|
567
|
-
|
568
|
-
<code class="ruby"> </code>
|
569
|
-
</li>
|
570
|
-
|
571
|
-
<li class="never" data-hits="" data-linenumber="53">
|
572
|
-
|
573
|
-
|
574
|
-
<code class="ruby"></code>
|
575
|
-
</li>
|
576
|
-
|
577
|
-
<li class="never" data-hits="" data-linenumber="54">
|
578
|
-
|
579
|
-
|
580
|
-
<code class="ruby"></code>
|
581
|
-
</li>
|
582
|
-
|
583
|
-
<li class="covered" data-hits="1" data-linenumber="55">
|
584
|
-
<span class="hits">1</span>
|
585
|
-
|
586
|
-
<code class="ruby"> private</code>
|
587
|
-
</li>
|
588
|
-
|
589
|
-
<li class="never" data-hits="" data-linenumber="56">
|
590
|
-
|
591
|
-
|
592
|
-
<code class="ruby"></code>
|
593
|
-
</li>
|
594
|
-
|
595
|
-
<li class="covered" data-hits="1" data-linenumber="57">
|
596
|
-
<span class="hits">1</span>
|
597
|
-
|
598
|
-
<code class="ruby"> def fb_resource_url(id) </code>
|
599
|
-
</li>
|
600
|
-
|
601
|
-
<li class="covered" data-hits="7" data-linenumber="58">
|
602
|
-
<span class="hits">7</span>
|
603
|
-
|
604
|
-
<code class="ruby"> URI.join(FB_API_URL, "/#{id}/") </code>
|
605
|
-
</li>
|
606
|
-
|
607
|
-
<li class="never" data-hits="" data-linenumber="59">
|
608
|
-
|
609
|
-
|
610
|
-
<code class="ruby"> end </code>
|
611
|
-
</li>
|
612
|
-
|
613
|
-
<li class="never" data-hits="" data-linenumber="60">
|
614
|
-
|
615
|
-
|
616
|
-
<code class="ruby"> </code>
|
617
|
-
</li>
|
618
|
-
|
619
|
-
<li class="never" data-hits="" data-linenumber="61">
|
620
|
-
|
621
|
-
|
622
|
-
<code class="ruby"> end</code>
|
623
|
-
</li>
|
624
|
-
|
625
|
-
<li class="never" data-hits="" data-linenumber="62">
|
626
|
-
|
627
|
-
|
628
|
-
<code class="ruby">end</code>
|
629
|
-
</li>
|
630
|
-
|
631
|
-
<li class="never" data-hits="" data-linenumber="63">
|
632
|
-
|
633
|
-
|
634
|
-
<code class="ruby"></code>
|
635
|
-
</li>
|
636
|
-
|
637
|
-
</ol>
|
638
|
-
</pre>
|
639
|
-
</div>
|
640
|
-
|
641
|
-
<div class="source_table" id="3d70c477a2f57ec8338a1dc4522f57582d5d9be1">
|
642
|
-
<div class="header">
|
643
|
-
<h3>lib/fanswatch/page.rb</h3>
|
644
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
645
|
-
<div>
|
646
|
-
<b>17</b> relevant lines.
|
647
|
-
<span class="green"><b>17</b> lines covered</span> and
|
648
|
-
<span class="red"><b>0</b> lines missed.</span>
|
649
|
-
</div>
|
650
|
-
</div>
|
651
|
-
|
652
|
-
<pre>
|
653
|
-
<ol>
|
654
|
-
|
655
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
656
|
-
<span class="hits">1</span>
|
657
|
-
|
658
|
-
<code class="ruby">require_relative 'fb_api'</code>
|
659
|
-
</li>
|
660
|
-
|
661
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
662
|
-
<span class="hits">1</span>
|
663
|
-
|
664
|
-
<code class="ruby">require_relative 'posting'</code>
|
665
|
-
</li>
|
666
|
-
|
667
|
-
<li class="never" data-hits="" data-linenumber="3">
|
668
|
-
|
669
|
-
|
670
|
-
<code class="ruby"></code>
|
671
|
-
</li>
|
672
|
-
|
673
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
674
|
-
<span class="hits">1</span>
|
675
|
-
|
676
|
-
<code class="ruby">module FansWatch </code>
|
677
|
-
</li>
|
678
|
-
|
679
|
-
<li class="never" data-hits="" data-linenumber="5">
|
680
|
-
|
681
|
-
|
682
|
-
<code class="ruby"> # Main class to setup a Facebook group </code>
|
683
|
-
</li>
|
684
|
-
|
685
|
-
<li class="covered" data-hits="1" data-linenumber="6">
|
686
|
-
<span class="hits">1</span>
|
687
|
-
|
688
|
-
<code class="ruby"> class Page </code>
|
689
|
-
</li>
|
690
|
-
|
691
|
-
<li class="covered" data-hits="1" data-linenumber="7">
|
692
|
-
<span class="hits">1</span>
|
693
|
-
|
694
|
-
<code class="ruby"> attr_reader :name</code>
|
695
|
-
</li>
|
696
|
-
|
697
|
-
<li class="never" data-hits="" data-linenumber="8">
|
698
|
-
|
699
|
-
|
700
|
-
<code class="ruby"></code>
|
701
|
-
</li>
|
702
|
-
|
703
|
-
<li class="covered" data-hits="1" data-linenumber="9">
|
704
|
-
<span class="hits">1</span>
|
705
|
-
|
706
|
-
<code class="ruby"> def initialize(fb_api, data:) </code>
|
707
|
-
</li>
|
708
|
-
|
709
|
-
<li class="covered" data-hits="3" data-linenumber="10">
|
710
|
-
<span class="hits">3</span>
|
711
|
-
|
712
|
-
<code class="ruby"> @fb_api = fb_api</code>
|
713
|
-
</li>
|
714
|
-
|
715
|
-
<li class="covered" data-hits="3" data-linenumber="11">
|
716
|
-
<span class="hits">3</span>
|
717
|
-
|
718
|
-
<code class="ruby"> @name = data['name'] </code>
|
719
|
-
</li>
|
720
|
-
|
721
|
-
<li class="covered" data-hits="3" data-linenumber="12">
|
722
|
-
<span class="hits">3</span>
|
723
|
-
|
724
|
-
<code class="ruby"> @id = data['id'] </code>
|
725
|
-
</li>
|
726
|
-
|
727
|
-
<li class="never" data-hits="" data-linenumber="13">
|
728
|
-
|
729
|
-
|
730
|
-
<code class="ruby"> end</code>
|
731
|
-
</li>
|
732
|
-
|
733
|
-
<li class="never" data-hits="" data-linenumber="14">
|
734
|
-
|
735
|
-
|
736
|
-
<code class="ruby"> </code>
|
737
|
-
</li>
|
738
|
-
|
739
|
-
<li class="covered" data-hits="1" data-linenumber="15">
|
740
|
-
<span class="hits">1</span>
|
741
|
-
|
742
|
-
<code class="ruby"> def feed </code>
|
743
|
-
</li>
|
744
|
-
|
745
|
-
<li class="covered" data-hits="2" data-linenumber="16">
|
746
|
-
<span class="hits">2</span>
|
747
|
-
|
748
|
-
<code class="ruby"> return @feed if @feed</code>
|
749
|
-
</li>
|
750
|
-
|
751
|
-
<li class="covered" data-hits="2" data-linenumber="17">
|
752
|
-
<span class="hits">2</span>
|
753
|
-
|
754
|
-
<code class="ruby"> raw_feed = @fb_api.page_feed(@id)</code>
|
755
|
-
</li>
|
756
|
-
|
757
|
-
<li class="covered" data-hits="2" data-linenumber="18">
|
758
|
-
<span class="hits">2</span>
|
759
|
-
|
760
|
-
<code class="ruby"> @feed = raw_feed.map do |posting| </code>
|
761
|
-
</li>
|
762
|
-
|
763
|
-
<li class="covered" data-hits="50" data-linenumber="19">
|
764
|
-
<span class="hits">50</span>
|
765
|
-
|
766
|
-
<code class="ruby"> FansWatch::Posting.new( </code>
|
767
|
-
</li>
|
768
|
-
|
769
|
-
<li class="never" data-hits="" data-linenumber="20">
|
770
|
-
|
771
|
-
|
772
|
-
<code class="ruby"> @fb_api,</code>
|
773
|
-
</li>
|
774
|
-
|
775
|
-
<li class="never" data-hits="" data-linenumber="21">
|
776
|
-
|
777
|
-
|
778
|
-
<code class="ruby"> data: posting</code>
|
779
|
-
</li>
|
780
|
-
|
781
|
-
<li class="never" data-hits="" data-linenumber="22">
|
782
|
-
|
783
|
-
|
784
|
-
<code class="ruby"> ) </code>
|
785
|
-
</li>
|
786
|
-
|
787
|
-
<li class="never" data-hits="" data-linenumber="23">
|
788
|
-
|
789
|
-
|
790
|
-
<code class="ruby"> end </code>
|
791
|
-
</li>
|
792
|
-
|
793
|
-
<li class="never" data-hits="" data-linenumber="24">
|
794
|
-
|
795
|
-
|
796
|
-
<code class="ruby"> end </code>
|
797
|
-
</li>
|
798
|
-
|
799
|
-
<li class="never" data-hits="" data-linenumber="25">
|
800
|
-
|
801
|
-
|
802
|
-
<code class="ruby"></code>
|
803
|
-
</li>
|
804
|
-
|
805
|
-
<li class="covered" data-hits="1" data-linenumber="26">
|
806
|
-
<span class="hits">1</span>
|
807
|
-
|
808
|
-
<code class="ruby"> def self.find(fb_api, id:)</code>
|
809
|
-
</li>
|
810
|
-
|
811
|
-
<li class="covered" data-hits="3" data-linenumber="27">
|
812
|
-
<span class="hits">3</span>
|
813
|
-
|
814
|
-
<code class="ruby"> page_data = fb_api.page_info(id)</code>
|
815
|
-
</li>
|
816
|
-
|
817
|
-
<li class="covered" data-hits="3" data-linenumber="28">
|
818
|
-
<span class="hits">3</span>
|
819
|
-
|
820
|
-
<code class="ruby"> new(fb_api, data: page_data)</code>
|
821
|
-
</li>
|
822
|
-
|
823
|
-
<li class="never" data-hits="" data-linenumber="29">
|
824
|
-
|
825
|
-
|
826
|
-
<code class="ruby"> end</code>
|
827
|
-
</li>
|
828
|
-
|
829
|
-
<li class="never" data-hits="" data-linenumber="30">
|
830
|
-
|
831
|
-
|
832
|
-
<code class="ruby"></code>
|
833
|
-
</li>
|
834
|
-
|
835
|
-
<li class="never" data-hits="" data-linenumber="31">
|
836
|
-
|
837
|
-
|
838
|
-
<code class="ruby"> end </code>
|
839
|
-
</li>
|
840
|
-
|
841
|
-
<li class="never" data-hits="" data-linenumber="32">
|
842
|
-
|
843
|
-
|
844
|
-
<code class="ruby">end</code>
|
845
|
-
</li>
|
846
|
-
|
847
|
-
</ol>
|
848
|
-
</pre>
|
849
|
-
</div>
|
850
|
-
|
851
|
-
<div class="source_table" id="f44a6eaabb98ec8a8f8b0e52f1ef3ecf1f71138f">
|
852
|
-
<div class="header">
|
853
|
-
<h3>lib/fanswatch/posting.rb</h3>
|
854
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
855
|
-
<div>
|
856
|
-
<b>22</b> relevant lines.
|
857
|
-
<span class="green"><b>22</b> lines covered</span> and
|
858
|
-
<span class="red"><b>0</b> lines missed.</span>
|
859
|
-
</div>
|
860
|
-
</div>
|
861
|
-
|
862
|
-
<pre>
|
863
|
-
<ol>
|
864
|
-
|
865
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
866
|
-
<span class="hits">1</span>
|
867
|
-
|
868
|
-
<code class="ruby">require_relative 'fb_api'</code>
|
869
|
-
</li>
|
870
|
-
|
871
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
872
|
-
<span class="hits">1</span>
|
873
|
-
|
874
|
-
<code class="ruby">require_relative 'attachment'</code>
|
875
|
-
</li>
|
876
|
-
|
877
|
-
<li class="never" data-hits="" data-linenumber="3">
|
878
|
-
|
879
|
-
|
880
|
-
<code class="ruby"></code>
|
881
|
-
</li>
|
882
|
-
|
883
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
884
|
-
<span class="hits">1</span>
|
885
|
-
|
886
|
-
<code class="ruby">module FansWatch </code>
|
887
|
-
</li>
|
888
|
-
|
889
|
-
<li class="never" data-hits="" data-linenumber="5">
|
890
|
-
|
891
|
-
|
892
|
-
<code class="ruby"> # Single posting on group's feed </code>
|
893
|
-
</li>
|
894
|
-
|
895
|
-
<li class="covered" data-hits="1" data-linenumber="6">
|
896
|
-
<span class="hits">1</span>
|
897
|
-
|
898
|
-
<code class="ruby"> class Posting </code>
|
899
|
-
</li>
|
900
|
-
|
901
|
-
<li class="covered" data-hits="1" data-linenumber="7">
|
902
|
-
<span class="hits">1</span>
|
903
|
-
|
904
|
-
<code class="ruby"> attr_reader :message, :created_time, :id</code>
|
905
|
-
</li>
|
906
|
-
|
907
|
-
<li class="never" data-hits="" data-linenumber="8">
|
908
|
-
|
909
|
-
|
910
|
-
<code class="ruby"> </code>
|
911
|
-
</li>
|
912
|
-
|
913
|
-
<li class="covered" data-hits="1" data-linenumber="9">
|
914
|
-
<span class="hits">1</span>
|
915
|
-
|
916
|
-
<code class="ruby"> def initialize(fb_api, data: nil) </code>
|
917
|
-
</li>
|
918
|
-
|
919
|
-
<li class="covered" data-hits="51" data-linenumber="10">
|
920
|
-
<span class="hits">51</span>
|
921
|
-
|
922
|
-
<code class="ruby"> @fb_api = fb_api</code>
|
923
|
-
</li>
|
924
|
-
|
925
|
-
<li class="covered" data-hits="51" data-linenumber="11">
|
926
|
-
<span class="hits">51</span>
|
927
|
-
|
928
|
-
<code class="ruby"> load_data(data)</code>
|
929
|
-
</li>
|
930
|
-
|
931
|
-
<li class="never" data-hits="" data-linenumber="12">
|
932
|
-
|
933
|
-
|
934
|
-
<code class="ruby"> end</code>
|
935
|
-
</li>
|
936
|
-
|
937
|
-
<li class="never" data-hits="" data-linenumber="13">
|
938
|
-
|
939
|
-
|
940
|
-
<code class="ruby"></code>
|
941
|
-
</li>
|
942
|
-
|
943
|
-
<li class="covered" data-hits="1" data-linenumber="14">
|
944
|
-
<span class="hits">1</span>
|
945
|
-
|
946
|
-
<code class="ruby"> def attachment </code>
|
947
|
-
</li>
|
948
|
-
|
949
|
-
<li class="covered" data-hits="2" data-linenumber="15">
|
950
|
-
<span class="hits">2</span>
|
951
|
-
|
952
|
-
<code class="ruby"> return @attachment if @attachment</code>
|
953
|
-
</li>
|
954
|
-
|
955
|
-
<li class="never" data-hits="" data-linenumber="16">
|
956
|
-
|
957
|
-
|
958
|
-
<code class="ruby"> </code>
|
959
|
-
</li>
|
960
|
-
|
961
|
-
<li class="covered" data-hits="1" data-linenumber="17">
|
962
|
-
<span class="hits">1</span>
|
963
|
-
|
964
|
-
<code class="ruby"> attached_data = @fb_api.posting_attachments(@id) </code>
|
965
|
-
</li>
|
966
|
-
|
967
|
-
<li class="covered" data-hits="1" data-linenumber="18">
|
968
|
-
<span class="hits">1</span>
|
969
|
-
|
970
|
-
<code class="ruby"> @attachment = Attachment.new(attached_data)</code>
|
971
|
-
</li>
|
972
|
-
|
973
|
-
<li class="never" data-hits="" data-linenumber="19">
|
974
|
-
|
975
|
-
|
976
|
-
<code class="ruby"> end </code>
|
977
|
-
</li>
|
978
|
-
|
979
|
-
<li class="never" data-hits="" data-linenumber="20">
|
980
|
-
|
981
|
-
|
982
|
-
<code class="ruby"></code>
|
983
|
-
</li>
|
984
|
-
|
985
|
-
<li class="covered" data-hits="1" data-linenumber="21">
|
986
|
-
<span class="hits">1</span>
|
987
|
-
|
988
|
-
<code class="ruby"> def self.find(fb_api, id:)</code>
|
989
|
-
</li>
|
990
|
-
|
991
|
-
<li class="covered" data-hits="1" data-linenumber="22">
|
992
|
-
<span class="hits">1</span>
|
993
|
-
|
994
|
-
<code class="ruby"> posting_data = fb_api.posting(id)</code>
|
995
|
-
</li>
|
996
|
-
|
997
|
-
<li class="covered" data-hits="1" data-linenumber="23">
|
998
|
-
<span class="hits">1</span>
|
999
|
-
|
1000
|
-
<code class="ruby"> new(fb_api, data:posting_data)</code>
|
1001
|
-
</li>
|
1002
|
-
|
1003
|
-
<li class="never" data-hits="" data-linenumber="24">
|
1004
|
-
|
1005
|
-
|
1006
|
-
<code class="ruby"> end</code>
|
1007
|
-
</li>
|
1008
|
-
|
1009
|
-
<li class="never" data-hits="" data-linenumber="25">
|
1010
|
-
|
1011
|
-
|
1012
|
-
<code class="ruby"></code>
|
1013
|
-
</li>
|
1014
|
-
|
1015
|
-
<li class="covered" data-hits="1" data-linenumber="26">
|
1016
|
-
<span class="hits">1</span>
|
1017
|
-
|
1018
|
-
<code class="ruby"> private </code>
|
1019
|
-
</li>
|
1020
|
-
|
1021
|
-
<li class="never" data-hits="" data-linenumber="27">
|
1022
|
-
|
1023
|
-
|
1024
|
-
<code class="ruby"></code>
|
1025
|
-
</li>
|
1026
|
-
|
1027
|
-
<li class="covered" data-hits="1" data-linenumber="28">
|
1028
|
-
<span class="hits">1</span>
|
1029
|
-
|
1030
|
-
<code class="ruby"> def load_data(posting_data)</code>
|
1031
|
-
</li>
|
1032
|
-
|
1033
|
-
<li class="covered" data-hits="51" data-linenumber="29">
|
1034
|
-
<span class="hits">51</span>
|
1035
|
-
|
1036
|
-
<code class="ruby"> @id = posting_data['id']</code>
|
1037
|
-
</li>
|
1038
|
-
|
1039
|
-
<li class="never" data-hits="" data-linenumber="30">
|
1040
|
-
|
1041
|
-
|
1042
|
-
<code class="ruby"> # @updated_time = posting_data['updated_time'] </code>
|
1043
|
-
</li>
|
1044
|
-
|
1045
|
-
<li class="covered" data-hits="51" data-linenumber="31">
|
1046
|
-
<span class="hits">51</span>
|
1047
|
-
|
1048
|
-
<code class="ruby"> @created_time = posting_data['created_time'] </code>
|
1049
|
-
</li>
|
1050
|
-
|
1051
|
-
<li class="covered" data-hits="51" data-linenumber="32">
|
1052
|
-
<span class="hits">51</span>
|
1053
|
-
|
1054
|
-
<code class="ruby"> @message = posting_data['message'] </code>
|
1055
|
-
</li>
|
1056
|
-
|
1057
|
-
<li class="covered" data-hits="51" data-linenumber="33">
|
1058
|
-
<span class="hits">51</span>
|
1059
|
-
|
1060
|
-
<code class="ruby"> attached = posting_data['attachment'] </code>
|
1061
|
-
</li>
|
1062
|
-
|
1063
|
-
<li class="covered" data-hits="51" data-linenumber="34">
|
1064
|
-
<span class="hits">51</span>
|
1065
|
-
|
1066
|
-
<code class="ruby"> @attachment = Attachment.new(attached) if attached </code>
|
1067
|
-
</li>
|
1068
|
-
|
1069
|
-
<li class="never" data-hits="" data-linenumber="35">
|
1070
|
-
|
1071
|
-
|
1072
|
-
<code class="ruby"> end</code>
|
1073
|
-
</li>
|
1074
|
-
|
1075
|
-
<li class="never" data-hits="" data-linenumber="36">
|
1076
|
-
|
1077
|
-
|
1078
|
-
<code class="ruby"> end </code>
|
1079
|
-
</li>
|
1080
|
-
|
1081
|
-
<li class="never" data-hits="" data-linenumber="37">
|
1082
|
-
|
1083
|
-
|
1084
|
-
<code class="ruby">end</code>
|
1085
|
-
</li>
|
1086
|
-
|
1087
|
-
</ol>
|
1088
|
-
</pre>
|
1089
|
-
</div>
|
1090
|
-
|
1091
|
-
</div>
|
1092
|
-
</div>
|
1093
|
-
</body>
|
1094
|
-
</html>
|