Update status embeds (#4742)

- Use statuses controller for embeds instead of stream entries controller
- Prefer /@:username/:id/embed URL for embeds
- Use /@:username as author_url in OEmbed
- Add follow link to embeds which opens web intent in new window
- Use redis cache in development
- Cache entire embed
This commit is contained in:
Eugen Rochko 2017-08-30 10:23:43 +02:00 committed by GitHub
parent fcca31350d
commit e95bdec7c5
15 changed files with 101 additions and 55 deletions

View file

@ -1,34 +0,0 @@
# frozen_string_literal: true
class StreamEntryFinder
attr_reader :url
def initialize(url)
@url = url
end
def stream_entry
verify_action!
case recognized_params[:controller]
when 'stream_entries'
StreamEntry.find(recognized_params[:id])
when 'statuses'
Status.find(recognized_params[:id]).stream_entry
else
raise ActiveRecord::RecordNotFound
end
end
private
def recognized_params
Rails.application.routes.recognize_path(url)
end
def verify_action!
unless recognized_params[:action] == 'show'
raise ActiveRecord::RecordNotFound
end
end
end