9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'app/controllers/source_monitor/source_scrape_tests_controller.rb', line 9
def create
item = pick_test_item
unless item
handle_no_item
return
end
result = SourceMonitor::Scraping::ItemScraper.new(item: item, source: @source).call
@test_result = {
item: item.reload,
scrape_result: result,
feed_word_count: item.item_content&.feed_word_count,
scraped_word_count: item.item_content&.scraped_word_count,
feed_content_preview: item.content.to_s.truncate(500),
scraped_content_preview: item.item_content&.scraped_content.to_s.truncate(500),
improvement: compute_improvement(item)
}
respond_to do |format|
format.turbo_stream do
render turbo_stream: [
turbo_stream.remove("scrape_test_modal_#{@source.id}"),
turbo_stream.append_all("body",
partial: "source_monitor/source_scrape_tests/result",
locals: { source: @source, test_result: @test_result })
]
end
format.html { render :show }
end
end
|