source_monitor 0.1.1

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 (202) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.rubocop.yml +12 -0
  4. data/.ruby-version +1 -0
  5. data/AGENTS.md +132 -0
  6. data/CHANGELOG.md +66 -0
  7. data/CONTRIBUTING.md +31 -0
  8. data/Gemfile +30 -0
  9. data/Gemfile.lock +411 -0
  10. data/MIT-LICENSE +20 -0
  11. data/README.md +108 -0
  12. data/Rakefile +8 -0
  13. data/app/assets/builds/.keep +0 -0
  14. data/app/assets/config/source_monitor_manifest.js +4 -0
  15. data/app/assets/images/source_monitor/.keep +0 -0
  16. data/app/assets/javascripts/source_monitor/application.js +20 -0
  17. data/app/assets/javascripts/source_monitor/controllers/async_submit_controller.js +36 -0
  18. data/app/assets/javascripts/source_monitor/controllers/dropdown_controller.js +109 -0
  19. data/app/assets/javascripts/source_monitor/controllers/modal_controller.js +56 -0
  20. data/app/assets/javascripts/source_monitor/controllers/notification_controller.js +53 -0
  21. data/app/assets/javascripts/source_monitor/turbo_actions.js +13 -0
  22. data/app/assets/stylesheets/source_monitor/application.tailwind.css +13 -0
  23. data/app/assets/svgs/source_monitor/.keep +0 -0
  24. data/app/controllers/concerns/.keep +0 -0
  25. data/app/controllers/concerns/source_monitor/sanitizes_search_params.rb +81 -0
  26. data/app/controllers/source_monitor/application_controller.rb +62 -0
  27. data/app/controllers/source_monitor/dashboard_controller.rb +27 -0
  28. data/app/controllers/source_monitor/fetch_logs_controller.rb +9 -0
  29. data/app/controllers/source_monitor/health_controller.rb +10 -0
  30. data/app/controllers/source_monitor/items_controller.rb +116 -0
  31. data/app/controllers/source_monitor/logs_controller.rb +15 -0
  32. data/app/controllers/source_monitor/scrape_logs_controller.rb +9 -0
  33. data/app/controllers/source_monitor/source_bulk_scrapes_controller.rb +35 -0
  34. data/app/controllers/source_monitor/source_fetches_controller.rb +22 -0
  35. data/app/controllers/source_monitor/source_health_checks_controller.rb +34 -0
  36. data/app/controllers/source_monitor/source_health_resets_controller.rb +27 -0
  37. data/app/controllers/source_monitor/source_retries_controller.rb +22 -0
  38. data/app/controllers/source_monitor/source_turbo_responses.rb +115 -0
  39. data/app/controllers/source_monitor/sources_controller.rb +179 -0
  40. data/app/helpers/source_monitor/application_helper.rb +327 -0
  41. data/app/jobs/source_monitor/application_job.rb +13 -0
  42. data/app/jobs/source_monitor/fetch_feed_job.rb +117 -0
  43. data/app/jobs/source_monitor/item_cleanup_job.rb +48 -0
  44. data/app/jobs/source_monitor/log_cleanup_job.rb +47 -0
  45. data/app/jobs/source_monitor/schedule_fetches_job.rb +29 -0
  46. data/app/jobs/source_monitor/scrape_item_job.rb +47 -0
  47. data/app/jobs/source_monitor/source_health_check_job.rb +77 -0
  48. data/app/mailers/source_monitor/application_mailer.rb +17 -0
  49. data/app/models/concerns/.keep +0 -0
  50. data/app/models/concerns/source_monitor/loggable.rb +18 -0
  51. data/app/models/source_monitor/application_record.rb +5 -0
  52. data/app/models/source_monitor/fetch_log.rb +31 -0
  53. data/app/models/source_monitor/health_check_log.rb +28 -0
  54. data/app/models/source_monitor/item.rb +102 -0
  55. data/app/models/source_monitor/item_content.rb +11 -0
  56. data/app/models/source_monitor/log_entry.rb +56 -0
  57. data/app/models/source_monitor/scrape_log.rb +31 -0
  58. data/app/models/source_monitor/source.rb +115 -0
  59. data/app/views/layouts/source_monitor/application.html.erb +54 -0
  60. data/app/views/source_monitor/dashboard/_fetch_schedule.html.erb +90 -0
  61. data/app/views/source_monitor/dashboard/_job_metrics.html.erb +82 -0
  62. data/app/views/source_monitor/dashboard/_recent_activity.html.erb +39 -0
  63. data/app/views/source_monitor/dashboard/_stat_card.html.erb +6 -0
  64. data/app/views/source_monitor/dashboard/_stats.html.erb +9 -0
  65. data/app/views/source_monitor/dashboard/index.html.erb +48 -0
  66. data/app/views/source_monitor/fetch_logs/show.html.erb +90 -0
  67. data/app/views/source_monitor/items/_details.html.erb +234 -0
  68. data/app/views/source_monitor/items/_details_wrapper.html.erb +3 -0
  69. data/app/views/source_monitor/items/index.html.erb +147 -0
  70. data/app/views/source_monitor/items/show.html.erb +3 -0
  71. data/app/views/source_monitor/logs/index.html.erb +208 -0
  72. data/app/views/source_monitor/scrape_logs/show.html.erb +73 -0
  73. data/app/views/source_monitor/shared/_toast.html.erb +34 -0
  74. data/app/views/source_monitor/sources/_bulk_scrape_form.html.erb +64 -0
  75. data/app/views/source_monitor/sources/_bulk_scrape_modal.html.erb +53 -0
  76. data/app/views/source_monitor/sources/_details.html.erb +302 -0
  77. data/app/views/source_monitor/sources/_details_wrapper.html.erb +3 -0
  78. data/app/views/source_monitor/sources/_empty_state_row.html.erb +5 -0
  79. data/app/views/source_monitor/sources/_fetch_interval_heatmap.html.erb +46 -0
  80. data/app/views/source_monitor/sources/_form.html.erb +143 -0
  81. data/app/views/source_monitor/sources/_health_status_badge.html.erb +46 -0
  82. data/app/views/source_monitor/sources/_row.html.erb +102 -0
  83. data/app/views/source_monitor/sources/edit.html.erb +28 -0
  84. data/app/views/source_monitor/sources/index.html.erb +153 -0
  85. data/app/views/source_monitor/sources/new.html.erb +22 -0
  86. data/app/views/source_monitor/sources/show.html.erb +3 -0
  87. data/config/coverage_baseline.json +2010 -0
  88. data/config/initializers/feedjira.rb +19 -0
  89. data/config/routes.rb +18 -0
  90. data/config/tailwind.config.js +17 -0
  91. data/db/migrate/20241008120000_create_source_monitor_sources.rb +40 -0
  92. data/db/migrate/20241008121000_create_source_monitor_items.rb +44 -0
  93. data/db/migrate/20241008122000_create_source_monitor_fetch_logs.rb +32 -0
  94. data/db/migrate/20241008123000_create_source_monitor_scrape_logs.rb +25 -0
  95. data/db/migrate/20251008183000_change_fetch_interval_to_minutes.rb +23 -0
  96. data/db/migrate/20251009090000_create_source_monitor_item_contents.rb +38 -0
  97. data/db/migrate/20251009103000_add_feed_content_readability_to_sources.rb +5 -0
  98. data/db/migrate/20251010090000_add_adaptive_fetching_toggle_to_sources.rb +7 -0
  99. data/db/migrate/20251010123000_add_deleted_at_to_source_monitor_items.rb +8 -0
  100. data/db/migrate/20251010153000_add_type_to_source_monitor_sources.rb +8 -0
  101. data/db/migrate/20251010154500_add_fetch_status_to_source_monitor_sources.rb +9 -0
  102. data/db/migrate/20251010160000_create_solid_cable_messages.rb +16 -0
  103. data/db/migrate/20251011090000_add_fetch_retry_state_to_sources.rb +14 -0
  104. data/db/migrate/20251012090000_add_health_fields_to_sources.rb +17 -0
  105. data/db/migrate/20251012100000_optimize_source_monitor_database_performance.rb +13 -0
  106. data/db/migrate/20251014064947_add_not_null_constraints_to_items.rb +30 -0
  107. data/db/migrate/20251014171659_add_performance_indexes.rb +29 -0
  108. data/db/migrate/20251014172525_add_fetch_status_check_constraint.rb +18 -0
  109. data/db/migrate/20251015100000_create_source_monitor_log_entries.rb +89 -0
  110. data/db/migrate/20251022100000_create_source_monitor_health_check_logs.rb +22 -0
  111. data/db/migrate/20251108120116_refresh_fetch_status_constraint.rb +29 -0
  112. data/docs/configuration.md +170 -0
  113. data/docs/deployment.md +63 -0
  114. data/docs/gh-cli-workflow.md +44 -0
  115. data/docs/installation.md +144 -0
  116. data/docs/troubleshooting.md +76 -0
  117. data/eslint.config.mjs +27 -0
  118. data/lib/generators/source_monitor/install/install_generator.rb +59 -0
  119. data/lib/generators/source_monitor/install/templates/source_monitor.rb.tt +155 -0
  120. data/lib/source_monitor/analytics/source_activity_rates.rb +53 -0
  121. data/lib/source_monitor/analytics/source_fetch_interval_distribution.rb +57 -0
  122. data/lib/source_monitor/analytics/sources_index_metrics.rb +92 -0
  123. data/lib/source_monitor/assets/bundler.rb +49 -0
  124. data/lib/source_monitor/assets.rb +6 -0
  125. data/lib/source_monitor/configuration.rb +654 -0
  126. data/lib/source_monitor/dashboard/queries.rb +356 -0
  127. data/lib/source_monitor/dashboard/quick_action.rb +7 -0
  128. data/lib/source_monitor/dashboard/quick_actions_presenter.rb +26 -0
  129. data/lib/source_monitor/dashboard/recent_activity.rb +30 -0
  130. data/lib/source_monitor/dashboard/recent_activity_presenter.rb +77 -0
  131. data/lib/source_monitor/dashboard/turbo_broadcaster.rb +87 -0
  132. data/lib/source_monitor/dashboard/upcoming_fetch_schedule.rb +126 -0
  133. data/lib/source_monitor/engine.rb +107 -0
  134. data/lib/source_monitor/events.rb +110 -0
  135. data/lib/source_monitor/feedjira_extensions.rb +103 -0
  136. data/lib/source_monitor/fetching/advisory_lock.rb +54 -0
  137. data/lib/source_monitor/fetching/completion/event_publisher.rb +22 -0
  138. data/lib/source_monitor/fetching/completion/follow_up_handler.rb +37 -0
  139. data/lib/source_monitor/fetching/completion/retention_handler.rb +30 -0
  140. data/lib/source_monitor/fetching/feed_fetcher.rb +627 -0
  141. data/lib/source_monitor/fetching/fetch_error.rb +88 -0
  142. data/lib/source_monitor/fetching/fetch_runner.rb +142 -0
  143. data/lib/source_monitor/fetching/retry_policy.rb +85 -0
  144. data/lib/source_monitor/fetching/stalled_fetch_reconciler.rb +146 -0
  145. data/lib/source_monitor/health/source_health_check.rb +100 -0
  146. data/lib/source_monitor/health/source_health_monitor.rb +210 -0
  147. data/lib/source_monitor/health/source_health_reset.rb +68 -0
  148. data/lib/source_monitor/health.rb +46 -0
  149. data/lib/source_monitor/http.rb +85 -0
  150. data/lib/source_monitor/instrumentation.rb +52 -0
  151. data/lib/source_monitor/items/item_creator.rb +601 -0
  152. data/lib/source_monitor/items/retention_pruner.rb +146 -0
  153. data/lib/source_monitor/items/retention_strategies/destroy.rb +26 -0
  154. data/lib/source_monitor/items/retention_strategies/soft_delete.rb +50 -0
  155. data/lib/source_monitor/items/retention_strategies.rb +9 -0
  156. data/lib/source_monitor/jobs/cleanup_options.rb +85 -0
  157. data/lib/source_monitor/jobs/fetch_failure_subscriber.rb +129 -0
  158. data/lib/source_monitor/jobs/solid_queue_metrics.rb +199 -0
  159. data/lib/source_monitor/jobs/visibility.rb +133 -0
  160. data/lib/source_monitor/logs/entry_sync.rb +69 -0
  161. data/lib/source_monitor/logs/filter_set.rb +163 -0
  162. data/lib/source_monitor/logs/query.rb +81 -0
  163. data/lib/source_monitor/logs/table_presenter.rb +161 -0
  164. data/lib/source_monitor/metrics.rb +77 -0
  165. data/lib/source_monitor/model_extensions.rb +109 -0
  166. data/lib/source_monitor/models/sanitizable.rb +76 -0
  167. data/lib/source_monitor/models/url_normalizable.rb +84 -0
  168. data/lib/source_monitor/pagination/paginator.rb +90 -0
  169. data/lib/source_monitor/realtime/adapter.rb +97 -0
  170. data/lib/source_monitor/realtime/broadcaster.rb +237 -0
  171. data/lib/source_monitor/realtime.rb +17 -0
  172. data/lib/source_monitor/release/changelog.rb +59 -0
  173. data/lib/source_monitor/release/runner.rb +73 -0
  174. data/lib/source_monitor/scheduler.rb +82 -0
  175. data/lib/source_monitor/scrapers/base.rb +105 -0
  176. data/lib/source_monitor/scrapers/fetchers/http_fetcher.rb +97 -0
  177. data/lib/source_monitor/scrapers/parsers/readability_parser.rb +101 -0
  178. data/lib/source_monitor/scrapers/readability.rb +156 -0
  179. data/lib/source_monitor/scraping/bulk_result_presenter.rb +85 -0
  180. data/lib/source_monitor/scraping/bulk_source_scraper.rb +233 -0
  181. data/lib/source_monitor/scraping/enqueuer.rb +125 -0
  182. data/lib/source_monitor/scraping/item_scraper/adapter_resolver.rb +44 -0
  183. data/lib/source_monitor/scraping/item_scraper/persistence.rb +189 -0
  184. data/lib/source_monitor/scraping/item_scraper.rb +84 -0
  185. data/lib/source_monitor/scraping/scheduler.rb +43 -0
  186. data/lib/source_monitor/scraping/state.rb +79 -0
  187. data/lib/source_monitor/security/authentication.rb +85 -0
  188. data/lib/source_monitor/security/parameter_sanitizer.rb +42 -0
  189. data/lib/source_monitor/sources/turbo_stream_presenter.rb +54 -0
  190. data/lib/source_monitor/turbo_streams/stream_responder.rb +95 -0
  191. data/lib/source_monitor/version.rb +3 -0
  192. data/lib/source_monitor.rb +149 -0
  193. data/lib/tasks/recover_stalled_fetches.rake +16 -0
  194. data/lib/tasks/source_monitor_assets.rake +28 -0
  195. data/lib/tasks/source_monitor_tasks.rake +29 -0
  196. data/lib/tasks/test_smoke.rake +12 -0
  197. data/package-lock.json +3997 -0
  198. data/package.json +29 -0
  199. data/postcss.config.js +6 -0
  200. data/source_monitor.gemspec +46 -0
  201. data/stylelint.config.js +12 -0
  202. metadata +469 -0
@@ -0,0 +1,2010 @@
1
+ {
2
+ "app/controllers/concerns/source_monitor/sanitizes_search_params.rb": [
3
+ 32,
4
+ 47,
5
+ 48,
6
+ 49,
7
+ 50,
8
+ 52,
9
+ 77
10
+ ],
11
+ "app/controllers/source_monitor/application_controller.rb": [
12
+ 33,
13
+ 37
14
+ ],
15
+ "app/controllers/source_monitor/fetch_logs_controller.rb": [
16
+ 3,
17
+ 4,
18
+ 5,
19
+ 6,
20
+ 7,
21
+ 8,
22
+ 9
23
+ ],
24
+ "app/controllers/source_monitor/items_controller.rb": [
25
+ 40,
26
+ 42,
27
+ 43,
28
+ 48,
29
+ 49,
30
+ 51,
31
+ 52,
32
+ 53,
33
+ 55,
34
+ 57,
35
+ 58,
36
+ 59,
37
+ 66,
38
+ 67,
39
+ 68,
40
+ 71,
41
+ 74,
42
+ 75,
43
+ 76,
44
+ 77,
45
+ 79,
46
+ 88,
47
+ 92,
48
+ 93,
49
+ 97,
50
+ 99,
51
+ 101,
52
+ 103,
53
+ 108,
54
+ 110,
55
+ 111,
56
+ 113
57
+ ],
58
+ "app/controllers/source_monitor/scrape_logs_controller.rb": [
59
+ 3,
60
+ 4,
61
+ 5,
62
+ 6,
63
+ 7,
64
+ 8,
65
+ 9
66
+ ],
67
+ "app/controllers/source_monitor/source_turbo_responses.rb": [
68
+ 41,
69
+ 58,
70
+ 100,
71
+ 101,
72
+ 103
73
+ ],
74
+ "app/controllers/source_monitor/sources_controller.rb": [
75
+ 41,
76
+ 42,
77
+ 43,
78
+ 44,
79
+ 48,
80
+ 57,
81
+ 65,
82
+ 66,
83
+ 68,
84
+ 105,
85
+ 111,
86
+ 112,
87
+ 114,
88
+ 118,
89
+ 119,
90
+ 121,
91
+ 131
92
+ ],
93
+ "app/helpers/source_monitor/application_helper.rb": [
94
+ 64,
95
+ 80,
96
+ 95,
97
+ 145,
98
+ 177,
99
+ 270,
100
+ 283
101
+ ],
102
+ "app/jobs/source_monitor/fetch_feed_job.rb": [
103
+ 52,
104
+ 53,
105
+ 93,
106
+ 94,
107
+ 95,
108
+ 114
109
+ ],
110
+ "app/jobs/source_monitor/item_cleanup_job.rb": [
111
+ 40
112
+ ],
113
+ "app/jobs/source_monitor/log_cleanup_job.rb": [
114
+ 26
115
+ ],
116
+ "app/jobs/source_monitor/schedule_fetches_job.rb": [
117
+ 19
118
+ ],
119
+ "app/jobs/source_monitor/scrape_item_job.rb": [
120
+ 44
121
+ ],
122
+ "app/models/source_monitor/item.rb": [
123
+ 98
124
+ ],
125
+ "app/models/source_monitor/log_entry.rb": [
126
+ 21,
127
+ 33
128
+ ],
129
+ "app/models/source_monitor/source.rb": [
130
+ 76,
131
+ 80,
132
+ 82
133
+ ],
134
+ "lib/source_monitor.rb": [
135
+ 28,
136
+ 97,
137
+ 113,
138
+ 117,
139
+ 121,
140
+ 125,
141
+ 126,
142
+ 127,
143
+ 129,
144
+ 131,
145
+ 137,
146
+ 141,
147
+ 143,
148
+ 144,
149
+ 146
150
+ ],
151
+ "lib/source_monitor/analytics/source_activity_rates.rb": [
152
+ 44
153
+ ],
154
+ "lib/source_monitor/analytics/source_fetch_interval_distribution.rb": [
155
+ 18,
156
+ 22,
157
+ 30,
158
+ 31,
159
+ 33,
160
+ 34,
161
+ 35,
162
+ 38,
163
+ 39,
164
+ 40,
165
+ 45,
166
+ 46,
167
+ 47,
168
+ 48,
169
+ 53
170
+ ],
171
+ "lib/source_monitor/analytics/sources_index_metrics.rb": [
172
+ 15,
173
+ 16,
174
+ 17,
175
+ 18,
176
+ 19,
177
+ 23,
178
+ 27,
179
+ 28,
180
+ 30,
181
+ 31,
182
+ 32,
183
+ 33,
184
+ 35,
185
+ 38,
186
+ 43,
187
+ 47,
188
+ 48,
189
+ 49,
190
+ 51,
191
+ 59,
192
+ 60,
193
+ 62,
194
+ 63,
195
+ 65,
196
+ 71,
197
+ 73,
198
+ 74,
199
+ 75,
200
+ 77,
201
+ 79,
202
+ 83,
203
+ 84,
204
+ 85,
205
+ 87
206
+ ],
207
+ "lib/source_monitor/assets/bundler.rb": [
208
+ 9,
209
+ 13,
210
+ 17,
211
+ 21,
212
+ 23,
213
+ 24,
214
+ 25,
215
+ 29,
216
+ 34,
217
+ 40,
218
+ 41,
219
+ 45
220
+ ],
221
+ "lib/source_monitor/configuration.rb": [
222
+ 49,
223
+ 51,
224
+ 58,
225
+ 65,
226
+ 67,
227
+ 69,
228
+ 71,
229
+ 78,
230
+ 80,
231
+ 82,
232
+ 84,
233
+ 85,
234
+ 86,
235
+ 88,
236
+ 102,
237
+ 106,
238
+ 119,
239
+ 120,
240
+ 122,
241
+ 123,
242
+ 124,
243
+ 125,
244
+ 127,
245
+ 179,
246
+ 192,
247
+ 200,
248
+ 201,
249
+ 202,
250
+ 204,
251
+ 206,
252
+ 224,
253
+ 226,
254
+ 227,
255
+ 228,
256
+ 346,
257
+ 347,
258
+ 351,
259
+ 355,
260
+ 356,
261
+ 360,
262
+ 366,
263
+ 367,
264
+ 369,
265
+ 373,
266
+ 375,
267
+ 376,
268
+ 379,
269
+ 383,
270
+ 385,
271
+ 386,
272
+ 388,
273
+ 390,
274
+ 394,
275
+ 408,
276
+ 412,
277
+ 413,
278
+ 419,
279
+ 421,
280
+ 422,
281
+ 424,
282
+ 425,
283
+ 427,
284
+ 430,
285
+ 431,
286
+ 433,
287
+ 453,
288
+ 454,
289
+ 455,
290
+ 456,
291
+ 464,
292
+ 468,
293
+ 469,
294
+ 479,
295
+ 488,
296
+ 545,
297
+ 554,
298
+ 558,
299
+ 578,
300
+ 589,
301
+ 590,
302
+ 592,
303
+ 596,
304
+ 598,
305
+ 601,
306
+ 607,
307
+ 609,
308
+ 617,
309
+ 619,
310
+ 637,
311
+ 639,
312
+ 641,
313
+ 643,
314
+ 646,
315
+ 650
316
+ ],
317
+ "lib/source_monitor/dashboard/queries.rb": [
318
+ 10,
319
+ 11,
320
+ 15,
321
+ 16,
322
+ 17,
323
+ 23,
324
+ 24,
325
+ 25,
326
+ 31,
327
+ 35,
328
+ 36,
329
+ 38,
330
+ 39,
331
+ 53,
332
+ 62,
333
+ 63,
334
+ 64,
335
+ 76,
336
+ 77,
337
+ 78,
338
+ 79,
339
+ 81,
340
+ 82,
341
+ 83,
342
+ 85,
343
+ 89,
344
+ 90,
345
+ 92,
346
+ 94,
347
+ 96,
348
+ 97,
349
+ 99,
350
+ 101,
351
+ 106,
352
+ 107,
353
+ 108,
354
+ 109,
355
+ 110,
356
+ 114,
357
+ 121,
358
+ 126,
359
+ 130,
360
+ 131,
361
+ 133,
362
+ 144,
363
+ 149,
364
+ 162,
365
+ 163,
366
+ 168,
367
+ 172,
368
+ 176,
369
+ 187,
370
+ 194,
371
+ 198,
372
+ 202,
373
+ 212,
374
+ 216,
375
+ 217,
376
+ 225,
377
+ 229,
378
+ 245,
379
+ 249,
380
+ 275,
381
+ 293,
382
+ 313,
383
+ 333
384
+ ],
385
+ "lib/source_monitor/dashboard/quick_actions_presenter.rb": [
386
+ 7,
387
+ 8,
388
+ 12,
389
+ 14
390
+ ],
391
+ "lib/source_monitor/dashboard/recent_activity.rb": [
392
+ 21,
393
+ 25
394
+ ],
395
+ "lib/source_monitor/dashboard/recent_activity_presenter.rb": [
396
+ 7,
397
+ 8,
398
+ 12,
399
+ 20,
400
+ 22,
401
+ 24,
402
+ 26,
403
+ 28,
404
+ 34,
405
+ 36,
406
+ 45,
407
+ 46,
408
+ 47,
409
+ 56,
410
+ 67,
411
+ 69
412
+ ],
413
+ "lib/source_monitor/dashboard/turbo_broadcaster.rb": [
414
+ 26,
415
+ 28,
416
+ 29,
417
+ 31,
418
+ 37,
419
+ 49,
420
+ 50,
421
+ 60,
422
+ 71
423
+ ],
424
+ "lib/source_monitor/dashboard/upcoming_fetch_schedule.rb": [
425
+ 18,
426
+ 33,
427
+ 34,
428
+ 38,
429
+ 44,
430
+ 45,
431
+ 46,
432
+ 47,
433
+ 50,
434
+ 51,
435
+ 52,
436
+ 54,
437
+ 57,
438
+ 58,
439
+ 72,
440
+ 73,
441
+ 78,
442
+ 82,
443
+ 86,
444
+ 88,
445
+ 89,
446
+ 90,
447
+ 92,
448
+ 97,
449
+ 99,
450
+ 100,
451
+ 102,
452
+ 106,
453
+ 108,
454
+ 112,
455
+ 114,
456
+ 118,
457
+ 120,
458
+ 121
459
+ ],
460
+ "lib/source_monitor/engine.rb": [
461
+ 47,
462
+ 51,
463
+ 52,
464
+ 53,
465
+ 54,
466
+ 59,
467
+ 60,
468
+ 61,
469
+ 62,
470
+ 63,
471
+ 64,
472
+ 65,
473
+ 68,
474
+ 69,
475
+ 70,
476
+ 73,
477
+ 74,
478
+ 76,
479
+ 77,
480
+ 96,
481
+ 97,
482
+ 99
483
+ ],
484
+ "lib/source_monitor/events.rb": [
485
+ 9,
486
+ 15,
487
+ 26,
488
+ 35,
489
+ 39,
490
+ 40,
491
+ 41,
492
+ 50,
493
+ 54,
494
+ 61,
495
+ 65,
496
+ 66,
497
+ 75,
498
+ 76,
499
+ 78,
500
+ 83,
501
+ 84,
502
+ 86,
503
+ 91,
504
+ 92,
505
+ 94,
506
+ 99,
507
+ 101,
508
+ 102,
509
+ 104,
510
+ 107
511
+ ],
512
+ "lib/source_monitor/feedjira_extensions.rb": [
513
+ 92,
514
+ 93,
515
+ 97
516
+ ],
517
+ "lib/source_monitor/fetching/advisory_lock.rb": [
518
+ 11,
519
+ 12,
520
+ 13,
521
+ 17,
522
+ 18,
523
+ 19,
524
+ 22,
525
+ 24,
526
+ 34,
527
+ 38,
528
+ 42,
529
+ 46,
530
+ 50
531
+ ],
532
+ "lib/source_monitor/fetching/completion/event_publisher.rb": [
533
+ 9,
534
+ 13
535
+ ],
536
+ "lib/source_monitor/fetching/completion/follow_up_handler.rb": [
537
+ 9,
538
+ 10,
539
+ 14,
540
+ 16,
541
+ 17,
542
+ 19,
543
+ 28,
544
+ 29,
545
+ 30,
546
+ 32
547
+ ],
548
+ "lib/source_monitor/fetching/completion/retention_handler.rb": [
549
+ 9,
550
+ 13,
551
+ 18,
552
+ 21
553
+ ],
554
+ "lib/source_monitor/fetching/feed_fetcher.rb": [
555
+ 36,
556
+ 37,
557
+ 38,
558
+ 42,
559
+ 43,
560
+ 44,
561
+ 45,
562
+ 47,
563
+ 49,
564
+ 51,
565
+ 53,
566
+ 54,
567
+ 56,
568
+ 57,
569
+ 58,
570
+ 65,
571
+ 71,
572
+ 75,
573
+ 76,
574
+ 78,
575
+ 80,
576
+ 82,
577
+ 84,
578
+ 86,
579
+ 90,
580
+ 94,
581
+ 98,
582
+ 99,
583
+ 100,
584
+ 101,
585
+ 103,
586
+ 107,
587
+ 109,
588
+ 111,
589
+ 113,
590
+ 118,
591
+ 119,
592
+ 120,
593
+ 121,
594
+ 123,
595
+ 124,
596
+ 125,
597
+ 139,
598
+ 140,
599
+ 141,
600
+ 142,
601
+ 143,
602
+ 144,
603
+ 145,
604
+ 146,
605
+ 148,
606
+ 152,
607
+ 154,
608
+ 155,
609
+ 162,
610
+ 163,
611
+ 164,
612
+ 165,
613
+ 166,
614
+ 167,
615
+ 168,
616
+ 170,
617
+ 187,
618
+ 189,
619
+ 194,
620
+ 203,
621
+ 204,
622
+ 207,
623
+ 208,
624
+ 209,
625
+ 212,
626
+ 213,
627
+ 214,
628
+ 215,
629
+ 220,
630
+ 228,
631
+ 229,
632
+ 232,
633
+ 233,
634
+ 234,
635
+ 237,
636
+ 238,
637
+ 239,
638
+ 240,
639
+ 244,
640
+ 246,
641
+ 254,
642
+ 255,
643
+ 256,
644
+ 257,
645
+ 258,
646
+ 262,
647
+ 263,
648
+ 264,
649
+ 268,
650
+ 270,
651
+ 271,
652
+ 272,
653
+ 273,
654
+ 274,
655
+ 275,
656
+ 276,
657
+ 277,
658
+ 278,
659
+ 279,
660
+ 280,
661
+ 281,
662
+ 282,
663
+ 283,
664
+ 284,
665
+ 287,
666
+ 290,
667
+ 294,
668
+ 295,
669
+ 296,
670
+ 297,
671
+ 298,
672
+ 303,
673
+ 306,
674
+ 311,
675
+ 323,
676
+ 325,
677
+ 329,
678
+ 330,
679
+ 331,
680
+ 332,
681
+ 333,
682
+ 334,
683
+ 338,
684
+ 340,
685
+ 344,
686
+ 346,
687
+ 350,
688
+ 352,
689
+ 354,
690
+ 358,
691
+ 362,
692
+ 363,
693
+ 364,
694
+ 366,
695
+ 367,
696
+ 376,
697
+ 377,
698
+ 378,
699
+ 379,
700
+ 380,
701
+ 381,
702
+ 382,
703
+ 383,
704
+ 384,
705
+ 385,
706
+ 387,
707
+ 406,
708
+ 407,
709
+ 408,
710
+ 413,
711
+ 414,
712
+ 415,
713
+ 420,
714
+ 422,
715
+ 426,
716
+ 427,
717
+ 428,
718
+ 429,
719
+ 431,
720
+ 432,
721
+ 433,
722
+ 435,
723
+ 436,
724
+ 437,
725
+ 442,
726
+ 444,
727
+ 445,
728
+ 446,
729
+ 447,
730
+ 449,
731
+ 452,
732
+ 453,
733
+ 454,
734
+ 458,
735
+ 462,
736
+ 463,
737
+ 467,
738
+ 471,
739
+ 475,
740
+ 479,
741
+ 483,
742
+ 487,
743
+ 491,
744
+ 492,
745
+ 493,
746
+ 494,
747
+ 498,
748
+ 499,
749
+ 500,
750
+ 501,
751
+ 505,
752
+ 506,
753
+ 508,
754
+ 509,
755
+ 511,
756
+ 515,
757
+ 517,
758
+ 529,
759
+ 531,
760
+ 532,
761
+ 533,
762
+ 534,
763
+ 535,
764
+ 536,
765
+ 537,
766
+ 539,
767
+ 541,
768
+ 542,
769
+ 543,
770
+ 544,
771
+ 545,
772
+ 546,
773
+ 547,
774
+ 549,
775
+ 550,
776
+ 553,
777
+ 554,
778
+ 558,
779
+ 570,
780
+ 571,
781
+ 573,
782
+ 577,
783
+ 578,
784
+ 580,
785
+ 584,
786
+ 585,
787
+ 587,
788
+ 591,
789
+ 592,
790
+ 594,
791
+ 596,
792
+ 600,
793
+ 605,
794
+ 611,
795
+ 615,
796
+ 616,
797
+ 617,
798
+ 618,
799
+ 623
800
+ ],
801
+ "lib/source_monitor/fetching/fetch_error.rb": [
802
+ 11,
803
+ 12,
804
+ 13,
805
+ 17,
806
+ 21,
807
+ 27,
808
+ 37,
809
+ 47,
810
+ 57,
811
+ 58,
812
+ 64,
813
+ 74,
814
+ 84
815
+ ],
816
+ "lib/source_monitor/fetching/fetch_runner.rb": [
817
+ 22,
818
+ 23,
819
+ 24,
820
+ 25,
821
+ 30,
822
+ 31,
823
+ 32,
824
+ 33,
825
+ 37,
826
+ 41,
827
+ 42,
828
+ 45,
829
+ 46,
830
+ 50,
831
+ 52,
832
+ 53,
833
+ 55,
834
+ 56,
835
+ 57,
836
+ 58,
837
+ 59,
838
+ 60,
839
+ 61,
840
+ 64,
841
+ 65,
842
+ 67,
843
+ 69,
844
+ 70,
845
+ 71,
846
+ 77,
847
+ 79,
848
+ 84,
849
+ 85,
850
+ 89,
851
+ 94,
852
+ 98,
853
+ 99,
854
+ 100,
855
+ 104,
856
+ 108,
857
+ 110,
858
+ 111,
859
+ 113,
860
+ 115,
861
+ 119,
862
+ 120,
863
+ 124,
864
+ 128,
865
+ 129,
866
+ 131,
867
+ 132,
868
+ 133,
869
+ 134,
870
+ 138
871
+ ],
872
+ "lib/source_monitor/fetching/retry_policy.rb": [
873
+ 31,
874
+ 32,
875
+ 33,
876
+ 37,
877
+ 38,
878
+ 39,
879
+ 40,
880
+ 42,
881
+ 43,
882
+ 45,
883
+ 46,
884
+ 54,
885
+ 55,
886
+ 68,
887
+ 69,
888
+ 71,
889
+ 72,
890
+ 73,
891
+ 74,
892
+ 75,
893
+ 78,
894
+ 79,
895
+ 81
896
+ ],
897
+ "lib/source_monitor/health.rb": [
898
+ 22,
899
+ 35,
900
+ 36,
901
+ 37,
902
+ 39,
903
+ 42
904
+ ],
905
+ "lib/source_monitor/health/source_health_check.rb": [
906
+ 43
907
+ ],
908
+ "lib/source_monitor/health/source_health_monitor.rb": [
909
+ 56,
910
+ 104,
911
+ 126,
912
+ 127,
913
+ 129,
914
+ 135,
915
+ 137,
916
+ 138,
917
+ 140,
918
+ 141,
919
+ 142,
920
+ 206
921
+ ],
922
+ "lib/source_monitor/instrumentation.rb": [
923
+ 15,
924
+ 16,
925
+ 18,
926
+ 19,
927
+ 20,
928
+ 22,
929
+ 23,
930
+ 27,
931
+ 31,
932
+ 35,
933
+ 39,
934
+ 43,
935
+ 44,
936
+ 49
937
+ ],
938
+ "lib/source_monitor/items/item_creator.rb": [
939
+ 16,
940
+ 20,
941
+ 29,
942
+ 33,
943
+ 34,
944
+ 38,
945
+ 39,
946
+ 40,
947
+ 42,
948
+ 44,
949
+ 45,
950
+ 46,
951
+ 49,
952
+ 57,
953
+ 58,
954
+ 60,
955
+ 61,
956
+ 62,
957
+ 65,
958
+ 66,
959
+ 67,
960
+ 70,
961
+ 74,
962
+ 76,
963
+ 80,
964
+ 82,
965
+ 86,
966
+ 88,
967
+ 98,
968
+ 99,
969
+ 100,
970
+ 101,
971
+ 105,
972
+ 106,
973
+ 107,
974
+ 108,
975
+ 110,
976
+ 114,
977
+ 115,
978
+ 116,
979
+ 117,
980
+ 121,
981
+ 123,
982
+ 125,
983
+ 126,
984
+ 131,
985
+ 132,
986
+ 133,
987
+ 134,
988
+ 138,
989
+ 140,
990
+ 141,
991
+ 142,
992
+ 144,
993
+ 145,
994
+ 147,
995
+ 149,
996
+ 157,
997
+ 161,
998
+ 168,
999
+ 172,
1000
+ 173,
1001
+ 188,
1002
+ 189,
1003
+ 191,
1004
+ 196,
1005
+ 202,
1006
+ 203,
1007
+ 206,
1008
+ 207,
1009
+ 211,
1010
+ 215,
1011
+ 216,
1012
+ 219,
1013
+ 221,
1014
+ 222,
1015
+ 225,
1016
+ 227,
1017
+ 230,
1018
+ 234,
1019
+ 235,
1020
+ 236,
1021
+ 237,
1022
+ 238,
1023
+ 239,
1024
+ 240,
1025
+ 242,
1026
+ 243,
1027
+ 244,
1028
+ 248,
1029
+ 274,
1030
+ 275,
1031
+ 277,
1032
+ 279,
1033
+ 280,
1034
+ 282,
1035
+ 283,
1036
+ 285,
1037
+ 289,
1038
+ 290,
1039
+ 291,
1040
+ 294,
1041
+ 295,
1042
+ 296,
1043
+ 297,
1044
+ 299,
1045
+ 300,
1046
+ 301,
1047
+ 304,
1048
+ 305,
1049
+ 306,
1050
+ 309,
1051
+ 313,
1052
+ 315,
1053
+ 319,
1054
+ 320,
1055
+ 322,
1056
+ 323,
1057
+ 325,
1058
+ 329,
1059
+ 330,
1060
+ 332,
1061
+ 333,
1062
+ 335,
1063
+ 339,
1064
+ 341,
1065
+ 345,
1066
+ 349,
1067
+ 351,
1068
+ 352,
1069
+ 355,
1070
+ 356,
1071
+ 357,
1072
+ 358,
1073
+ 361,
1074
+ 362,
1075
+ 364,
1076
+ 366,
1077
+ 371,
1078
+ 372,
1079
+ 373,
1080
+ 374,
1081
+ 375,
1082
+ 379,
1083
+ 380,
1084
+ 382,
1085
+ 386,
1086
+ 387,
1087
+ 388,
1088
+ 389,
1089
+ 390,
1090
+ 392,
1091
+ 396,
1092
+ 398,
1093
+ 400,
1094
+ 401,
1095
+ 404,
1096
+ 406,
1097
+ 410,
1098
+ 411,
1099
+ 412,
1100
+ 413,
1101
+ 417,
1102
+ 419,
1103
+ 420,
1104
+ 421,
1105
+ 422,
1106
+ 424,
1107
+ 433,
1108
+ 434,
1109
+ 435,
1110
+ 437,
1111
+ 438,
1112
+ 440,
1113
+ 449,
1114
+ 450,
1115
+ 451,
1116
+ 452,
1117
+ 454,
1118
+ 465,
1119
+ 469,
1120
+ 470,
1121
+ 471,
1122
+ 474,
1123
+ 478,
1124
+ 480,
1125
+ 481,
1126
+ 482,
1127
+ 483,
1128
+ 485,
1129
+ 498,
1130
+ 502,
1131
+ 503,
1132
+ 506,
1133
+ 507,
1134
+ 510,
1135
+ 514,
1136
+ 515,
1137
+ 518,
1138
+ 519,
1139
+ 522,
1140
+ 526,
1141
+ 530,
1142
+ 531,
1143
+ 532,
1144
+ 533,
1145
+ 537,
1146
+ 539,
1147
+ 540,
1148
+ 542,
1149
+ 546,
1150
+ 556,
1151
+ 558,
1152
+ 562,
1153
+ 566,
1154
+ 568,
1155
+ 569,
1156
+ 571,
1157
+ 575,
1158
+ 576,
1159
+ 578,
1160
+ 579,
1161
+ 581,
1162
+ 583,
1163
+ 587,
1164
+ 591,
1165
+ 595,
1166
+ 597
1167
+ ],
1168
+ "lib/source_monitor/items/retention_pruner.rb": [
1169
+ 15,
1170
+ 25,
1171
+ 29,
1172
+ 30,
1173
+ 31,
1174
+ 32,
1175
+ 36,
1176
+ 37,
1177
+ 38,
1178
+ 40,
1179
+ 41,
1180
+ 51,
1181
+ 63,
1182
+ 64,
1183
+ 66,
1184
+ 68,
1185
+ 70,
1186
+ 78,
1187
+ 79,
1188
+ 83,
1189
+ 84,
1190
+ 86,
1191
+ 88,
1192
+ 94,
1193
+ 95,
1194
+ 97,
1195
+ 100,
1196
+ 104,
1197
+ 106,
1198
+ 107,
1199
+ 108,
1200
+ 110,
1201
+ 114,
1202
+ 116,
1203
+ 117,
1204
+ 119,
1205
+ 120,
1206
+ 124,
1207
+ 125,
1208
+ 126,
1209
+ 127,
1210
+ 132,
1211
+ 133,
1212
+ 134,
1213
+ 135,
1214
+ 140,
1215
+ 142
1216
+ ],
1217
+ "lib/source_monitor/items/retention_strategies/destroy.rb": [
1218
+ 8,
1219
+ 12,
1220
+ 13,
1221
+ 14,
1222
+ 15,
1223
+ 17
1224
+ ],
1225
+ "lib/source_monitor/items/retention_strategies/soft_delete.rb": [
1226
+ 8,
1227
+ 12,
1228
+ 13,
1229
+ 15,
1230
+ 18,
1231
+ 23,
1232
+ 24,
1233
+ 32,
1234
+ 34,
1235
+ 38,
1236
+ 40,
1237
+ 42,
1238
+ 44,
1239
+ 45
1240
+ ],
1241
+ "lib/source_monitor/jobs/cleanup_options.rb": [
1242
+ 11,
1243
+ 13,
1244
+ 15,
1245
+ 17,
1246
+ 22,
1247
+ 24,
1248
+ 26,
1249
+ 28,
1250
+ 30,
1251
+ 35,
1252
+ 37,
1253
+ 39,
1254
+ 41,
1255
+ 43,
1256
+ 46,
1257
+ 47,
1258
+ 48,
1259
+ 54,
1260
+ 56,
1261
+ 60,
1262
+ 61,
1263
+ 63,
1264
+ 67,
1265
+ 68,
1266
+ 74,
1267
+ 75,
1268
+ 77,
1269
+ 80
1270
+ ],
1271
+ "lib/source_monitor/jobs/solid_queue_metrics.rb": [
1272
+ 20,
1273
+ 27,
1274
+ 31,
1275
+ 35,
1276
+ 37,
1277
+ 39,
1278
+ 40,
1279
+ 41,
1280
+ 43,
1281
+ 45,
1282
+ 46,
1283
+ 54,
1284
+ 55,
1285
+ 71,
1286
+ 74,
1287
+ 83,
1288
+ 84,
1289
+ 85,
1290
+ 86,
1291
+ 90,
1292
+ 91,
1293
+ 92,
1294
+ 96,
1295
+ 98,
1296
+ 99,
1297
+ 100,
1298
+ 102,
1299
+ 107,
1300
+ 108,
1301
+ 109,
1302
+ 111,
1303
+ 116,
1304
+ 118,
1305
+ 125,
1306
+ 127,
1307
+ 134,
1308
+ 136,
1309
+ 144,
1310
+ 146,
1311
+ 149,
1312
+ 150,
1313
+ 154,
1314
+ 161,
1315
+ 163,
1316
+ 171,
1317
+ 179,
1318
+ 185,
1319
+ 187,
1320
+ 191,
1321
+ 195
1322
+ ],
1323
+ "lib/source_monitor/jobs/visibility.rb": [
1324
+ 22,
1325
+ 26,
1326
+ 30,
1327
+ 34,
1328
+ 38,
1329
+ 42,
1330
+ 43,
1331
+ 48,
1332
+ 49,
1333
+ 54,
1334
+ 56,
1335
+ 60,
1336
+ 64,
1337
+ 65,
1338
+ 70,
1339
+ 71,
1340
+ 76,
1341
+ 80,
1342
+ 85,
1343
+ 86,
1344
+ 88,
1345
+ 90,
1346
+ 91,
1347
+ 92,
1348
+ 93,
1349
+ 94,
1350
+ 95,
1351
+ 102,
1352
+ 103,
1353
+ 105,
1354
+ 107,
1355
+ 108,
1356
+ 109,
1357
+ 110,
1358
+ 111,
1359
+ 112,
1360
+ 119,
1361
+ 120,
1362
+ 122,
1363
+ 124,
1364
+ 125,
1365
+ 126,
1366
+ 127
1367
+ ],
1368
+ "lib/source_monitor/logs/entry_sync.rb": [
1369
+ 22,
1370
+ 23
1371
+ ],
1372
+ "lib/source_monitor/logs/filter_set.rb": [
1373
+ 64,
1374
+ 106,
1375
+ 107,
1376
+ 113,
1377
+ 131,
1378
+ 137,
1379
+ 138,
1380
+ 140,
1381
+ 146,
1382
+ 147,
1383
+ 149,
1384
+ 152,
1385
+ 154,
1386
+ 159
1387
+ ],
1388
+ "lib/source_monitor/logs/query.rb": [
1389
+ 16,
1390
+ 20,
1391
+ 62,
1392
+ 64
1393
+ ],
1394
+ "lib/source_monitor/logs/table_presenter.rb": [
1395
+ 45,
1396
+ 74,
1397
+ 117
1398
+ ],
1399
+ "lib/source_monitor/metrics.rb": [
1400
+ 10,
1401
+ 14,
1402
+ 18,
1403
+ 22,
1404
+ 26,
1405
+ 30,
1406
+ 31,
1407
+ 38,
1408
+ 39,
1409
+ 43,
1410
+ 44,
1411
+ 45,
1412
+ 46,
1413
+ 48,
1414
+ 51,
1415
+ 52,
1416
+ 56,
1417
+ 57,
1418
+ 59,
1419
+ 60,
1420
+ 61,
1421
+ 62,
1422
+ 63,
1423
+ 70,
1424
+ 74
1425
+ ],
1426
+ "lib/source_monitor/model_extensions.rb": [
1427
+ 53,
1428
+ 55,
1429
+ 56,
1430
+ 69,
1431
+ 70,
1432
+ 72,
1433
+ 73,
1434
+ 74,
1435
+ 76,
1436
+ 77,
1437
+ 78,
1438
+ 79,
1439
+ 82,
1440
+ 97,
1441
+ 98,
1442
+ 100,
1443
+ 101,
1444
+ 104,
1445
+ 105
1446
+ ],
1447
+ "lib/source_monitor/models/sanitizable.rb": [
1448
+ 57
1449
+ ],
1450
+ "lib/source_monitor/pagination/paginator.rb": [
1451
+ 22,
1452
+ 24,
1453
+ 28,
1454
+ 30,
1455
+ 66,
1456
+ 77,
1457
+ 86
1458
+ ],
1459
+ "lib/source_monitor/realtime/adapter.rb": [
1460
+ 25,
1461
+ 59,
1462
+ 81,
1463
+ 84,
1464
+ 88,
1465
+ 93
1466
+ ],
1467
+ "lib/source_monitor/realtime/broadcaster.rb": [
1468
+ 33,
1469
+ 34,
1470
+ 35,
1471
+ 37,
1472
+ 38,
1473
+ 42,
1474
+ 43,
1475
+ 44,
1476
+ 46,
1477
+ 55,
1478
+ 63,
1479
+ 67,
1480
+ 68,
1481
+ 70,
1482
+ 84,
1483
+ 90,
1484
+ 91,
1485
+ 93,
1486
+ 94,
1487
+ 98,
1488
+ 99,
1489
+ 101,
1490
+ 102,
1491
+ 103,
1492
+ 107,
1493
+ 108,
1494
+ 109,
1495
+ 111,
1496
+ 113,
1497
+ 114,
1498
+ 115,
1499
+ 116,
1500
+ 121,
1501
+ 126,
1502
+ 129,
1503
+ 138,
1504
+ 139,
1505
+ 140,
1506
+ 141,
1507
+ 143,
1508
+ 144,
1509
+ 145,
1510
+ 146,
1511
+ 148,
1512
+ 149,
1513
+ 150,
1514
+ 155,
1515
+ 167,
1516
+ 171,
1517
+ 180,
1518
+ 187,
1519
+ 191,
1520
+ 193,
1521
+ 195,
1522
+ 199,
1523
+ 202,
1524
+ 204,
1525
+ 206,
1526
+ 210,
1527
+ 214,
1528
+ 231,
1529
+ 233
1530
+ ],
1531
+ "lib/source_monitor/release/changelog.rb": [
1532
+ 36
1533
+ ],
1534
+ "lib/source_monitor/release/runner.rb": [
1535
+ 68
1536
+ ],
1537
+ "lib/source_monitor/scheduler.rb": [
1538
+ 12,
1539
+ 16,
1540
+ 17,
1541
+ 21,
1542
+ 23,
1543
+ 24,
1544
+ 25,
1545
+ 26,
1546
+ 28,
1547
+ 29,
1548
+ 32,
1549
+ 34,
1550
+ 43,
1551
+ 45,
1552
+ 46,
1553
+ 47,
1554
+ 48,
1555
+ 51,
1556
+ 55,
1557
+ 63,
1558
+ 64,
1559
+ 68,
1560
+ 70,
1561
+ 71,
1562
+ 72,
1563
+ 74
1564
+ ],
1565
+ "lib/source_monitor/scrapers/base.rb": [
1566
+ 29,
1567
+ 33,
1568
+ 37,
1569
+ 42,
1570
+ 43,
1571
+ 44,
1572
+ 45,
1573
+ 49,
1574
+ 59,
1575
+ 62,
1576
+ 63,
1577
+ 66,
1578
+ 70,
1579
+ 71,
1580
+ 73,
1581
+ 77,
1582
+ 79,
1583
+ 80,
1584
+ 83,
1585
+ 85,
1586
+ 90,
1587
+ 92,
1588
+ 94,
1589
+ 95,
1590
+ 98,
1591
+ 100
1592
+ ],
1593
+ "lib/source_monitor/scrapers/fetchers/http_fetcher.rb": [
1594
+ 12,
1595
+ 16,
1596
+ 18,
1597
+ 19,
1598
+ 21,
1599
+ 29,
1600
+ 36,
1601
+ 44,
1602
+ 45,
1603
+ 54,
1604
+ 56,
1605
+ 58,
1606
+ 66,
1607
+ 70,
1608
+ 72,
1609
+ 73,
1610
+ 76,
1611
+ 77,
1612
+ 78,
1613
+ 79,
1614
+ 80,
1615
+ 81,
1616
+ 82,
1617
+ 86,
1618
+ 87,
1619
+ 88,
1620
+ 92
1621
+ ],
1622
+ "lib/source_monitor/scrapers/parsers/readability_parser.rb": [
1623
+ 14,
1624
+ 15,
1625
+ 16,
1626
+ 18,
1627
+ 19,
1628
+ 21,
1629
+ 22,
1630
+ 24,
1631
+ 26,
1632
+ 27,
1633
+ 28,
1634
+ 29,
1635
+ 32,
1636
+ 40,
1637
+ 52,
1638
+ 54,
1639
+ 55,
1640
+ 56,
1641
+ 61,
1642
+ 62,
1643
+ 64,
1644
+ 65,
1645
+ 67,
1646
+ 70,
1647
+ 72,
1648
+ 76,
1649
+ 77,
1650
+ 80,
1651
+ 84,
1652
+ 85,
1653
+ 87,
1654
+ 88,
1655
+ 91,
1656
+ 92,
1657
+ 93,
1658
+ 96
1659
+ ],
1660
+ "lib/source_monitor/scrapers/readability.rb": [
1661
+ 17,
1662
+ 40,
1663
+ 41,
1664
+ 43,
1665
+ 44,
1666
+ 46,
1667
+ 52,
1668
+ 54,
1669
+ 61,
1670
+ 67,
1671
+ 71,
1672
+ 75,
1673
+ 79,
1674
+ 89,
1675
+ 95,
1676
+ 99,
1677
+ 100,
1678
+ 103,
1679
+ 111,
1680
+ 112,
1681
+ 115,
1682
+ 119,
1683
+ 133,
1684
+ 135,
1685
+ 137,
1686
+ 138,
1687
+ 143,
1688
+ 145,
1689
+ 146,
1690
+ 149,
1691
+ 151
1692
+ ],
1693
+ "lib/source_monitor/scraping/bulk_result_presenter.rb": [
1694
+ 71
1695
+ ],
1696
+ "lib/source_monitor/scraping/bulk_source_scraper.rb": [
1697
+ 30,
1698
+ 34,
1699
+ 38,
1700
+ 42,
1701
+ 47,
1702
+ 61,
1703
+ 62,
1704
+ 63,
1705
+ 67,
1706
+ 68,
1707
+ 69,
1708
+ 70,
1709
+ 71,
1710
+ 72,
1711
+ 76,
1712
+ 77,
1713
+ 79,
1714
+ 80,
1715
+ 82,
1716
+ 84,
1717
+ 85,
1718
+ 86,
1719
+ 87,
1720
+ 88,
1721
+ 90,
1722
+ 91,
1723
+ 93,
1724
+ 95,
1725
+ 97,
1726
+ 99,
1727
+ 100,
1728
+ 101,
1729
+ 102,
1730
+ 104,
1731
+ 105,
1732
+ 106,
1733
+ 110,
1734
+ 111,
1735
+ 113,
1736
+ 131,
1737
+ 133,
1738
+ 135,
1739
+ 137,
1740
+ 139,
1741
+ 142,
1742
+ 143,
1743
+ 147,
1744
+ 151,
1745
+ 152,
1746
+ 153,
1747
+ 166,
1748
+ 170,
1749
+ 171,
1750
+ 173,
1751
+ 174,
1752
+ 175,
1753
+ 179,
1754
+ 180,
1755
+ 181,
1756
+ 182,
1757
+ 183,
1758
+ 184,
1759
+ 186,
1760
+ 191,
1761
+ 205,
1762
+ 219
1763
+ ],
1764
+ "lib/source_monitor/scraping/enqueuer.rb": [
1765
+ 10,
1766
+ 14,
1767
+ 18,
1768
+ 25,
1769
+ 29,
1770
+ 30,
1771
+ 31,
1772
+ 32,
1773
+ 36,
1774
+ 37,
1775
+ 38,
1776
+ 39,
1777
+ 40,
1778
+ 41,
1779
+ 44,
1780
+ 45,
1781
+ 46,
1782
+ 48,
1783
+ 49,
1784
+ 51,
1785
+ 52,
1786
+ 53,
1787
+ 54,
1788
+ 57,
1789
+ 58,
1790
+ 59,
1791
+ 60,
1792
+ 61,
1793
+ 64,
1794
+ 67,
1795
+ 68,
1796
+ 69,
1797
+ 72,
1798
+ 73,
1799
+ 74,
1800
+ 75,
1801
+ 78,
1802
+ 79,
1803
+ 80,
1804
+ 86,
1805
+ 90,
1806
+ 91,
1807
+ 95,
1808
+ 98,
1809
+ 103,
1810
+ 105,
1811
+ 109,
1812
+ 110,
1813
+ 112,
1814
+ 113,
1815
+ 117,
1816
+ 119,
1817
+ 120,
1818
+ 121
1819
+ ],
1820
+ "lib/source_monitor/scraping/item_scraper.rb": [
1821
+ 17,
1822
+ 21,
1823
+ 28,
1824
+ 29,
1825
+ 30,
1826
+ 31,
1827
+ 32,
1828
+ 33,
1829
+ 34,
1830
+ 38,
1831
+ 39,
1832
+ 40,
1833
+ 41,
1834
+ 42,
1835
+ 44,
1836
+ 45,
1837
+ 47,
1838
+ 48,
1839
+ 49,
1840
+ 51,
1841
+ 52,
1842
+ 53,
1843
+ 59,
1844
+ 65,
1845
+ 66,
1846
+ 70,
1847
+ 73,
1848
+ 78,
1849
+ 80
1850
+ ],
1851
+ "lib/source_monitor/scraping/item_scraper/adapter_resolver.rb": [
1852
+ 11,
1853
+ 12,
1854
+ 16,
1855
+ 17,
1856
+ 19,
1857
+ 20,
1858
+ 22,
1859
+ 23,
1860
+ 25,
1861
+ 27,
1862
+ 35,
1863
+ 39
1864
+ ],
1865
+ "lib/source_monitor/scraping/item_scraper/persistence.rb": [
1866
+ 13,
1867
+ 14,
1868
+ 15,
1869
+ 19,
1870
+ 20,
1871
+ 21,
1872
+ 22,
1873
+ 23,
1874
+ 24,
1875
+ 25,
1876
+ 27,
1877
+ 28,
1878
+ 29,
1879
+ 30,
1880
+ 43,
1881
+ 52,
1882
+ 54,
1883
+ 55,
1884
+ 56,
1885
+ 57,
1886
+ 59,
1887
+ 60,
1888
+ 61,
1889
+ 62,
1890
+ 75,
1891
+ 90,
1892
+ 94,
1893
+ 95,
1894
+ 96,
1895
+ 99,
1896
+ 103,
1897
+ 120,
1898
+ 121,
1899
+ 123,
1900
+ 127,
1901
+ 129,
1902
+ 130,
1903
+ 132,
1904
+ 137,
1905
+ 144,
1906
+ 151,
1907
+ 153,
1908
+ 154,
1909
+ 155,
1910
+ 156,
1911
+ 160,
1912
+ 161,
1913
+ 164,
1914
+ 168,
1915
+ 170,
1916
+ 174,
1917
+ 176,
1918
+ 178,
1919
+ 179,
1920
+ 181,
1921
+ 183
1922
+ ],
1923
+ "lib/source_monitor/scraping/scheduler.rb": [
1924
+ 12,
1925
+ 16,
1926
+ 20,
1927
+ 21,
1928
+ 23,
1929
+ 24,
1930
+ 25,
1931
+ 34
1932
+ ],
1933
+ "lib/source_monitor/scraping/state.rb": [
1934
+ 13,
1935
+ 17,
1936
+ 21,
1937
+ 31,
1938
+ 32,
1939
+ 34,
1940
+ 35,
1941
+ 38,
1942
+ 42,
1943
+ 48,
1944
+ 49,
1945
+ 50,
1946
+ 51,
1947
+ 54,
1948
+ 58,
1949
+ 60,
1950
+ 61,
1951
+ 62,
1952
+ 63,
1953
+ 66,
1954
+ 69,
1955
+ 73,
1956
+ 75
1957
+ ],
1958
+ "lib/source_monitor/security/authentication.rb": [
1959
+ 15,
1960
+ 16,
1961
+ 20,
1962
+ 22,
1963
+ 23,
1964
+ 25,
1965
+ 30,
1966
+ 31,
1967
+ 35,
1968
+ 39,
1969
+ 45,
1970
+ 49,
1971
+ 50,
1972
+ 52,
1973
+ 56,
1974
+ 57,
1975
+ 58,
1976
+ 60,
1977
+ 61,
1978
+ 62,
1979
+ 63,
1980
+ 68,
1981
+ 69,
1982
+ 70,
1983
+ 72,
1984
+ 73,
1985
+ 74,
1986
+ 75
1987
+ ],
1988
+ "lib/source_monitor/security/parameter_sanitizer.rb": [
1989
+ 13,
1990
+ 16,
1991
+ 19,
1992
+ 23
1993
+ ],
1994
+ "lib/source_monitor/turbo_streams/stream_responder.rb": [
1995
+ 35,
1996
+ 36,
1997
+ 40,
1998
+ 57,
1999
+ 63,
2000
+ 70,
2001
+ 71,
2002
+ 72,
2003
+ 86
2004
+ ],
2005
+ "lib/source_monitor/version.rb": [
2006
+ 1,
2007
+ 2,
2008
+ 3
2009
+ ]
2010
+ }