Fix page caching

This commit is contained in:
2023-07-29 18:27:45 +10:00
parent 126dcc10b4
commit b389abf29d
4 changed files with 6 additions and 3 deletions

View File

@@ -20,7 +20,7 @@ module Adamantium
if bookmark[:cache]
page_cacher.call(url: created_bookmark.url) do |content|
post_repo.update(id: created_bookmark.id, cached_content: content)
post_repo.update(created_bookmark.id, cached_content: content)
end
end

View File

@@ -12,6 +12,7 @@ module Adamantium
required(:post_type).value(included_in?: %w[bookmark])
required(:syndicate_to).array(:string)
required(:photos).array(:hash)
required(:cache).filled(:bool)
end
end
end

View File

@@ -4,7 +4,7 @@ require "down"
module Adamantium
class PageCacher
def call(url:, &block)
tempfile = Down.download(bookmark.url)
tempfile = Down.download(url)
content = Readability::Document.new(tempfile.read, tags: %w[div section header p h1 h2 h3 h4 h5 h6 ol ul li table td tr thead tbody a code pre], attributes: %w[href]).content
yield content
end

View File

@@ -49,13 +49,15 @@ RSpec.describe "Post creation", :db, :requests do
h: "entry",
"bookmark-of": "http://example.com",
name: "Name",
content: "Content of theh post"
content: "Content of the post",
cache: "true"
}
post "/micropub", params
expect(last_response).to be_successful
expect(post_repo.bookmark_listing.count).to eq 1
expect(post_repo.bookmark_listing.last.cached_content).to_not eq nil
end
end