diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-04-27 14:42:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-27 14:42:22 +0200 |
commit | 88725d6ce85115ea3b0652007db5d40a1c069be3 (patch) | |
tree | 7a8965abda1cfc3b6c319ea19ee216755ac2f2df /app/controllers/api | |
parent | be0a01145b5f303c5c506858146ccf6c6d5cee72 (diff) |
OEmbed support for PreviewCard (#2337)
* OEmbed support for PreviewCard * Improve ProviderDiscovery code failure treatment * Do not crawl links if there is a content warning, since those don't display a link card anyway * Reset db schema * Fresh migrate * Fix rubocop style issues Fix #1681 - return existing access token when applicable instead of creating new * Fix test * Extract http client to helper * Improve oembed controller
Diffstat (limited to 'app/controllers/api')
-rw-r--r-- | app/controllers/api/oembed_controller.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/app/controllers/api/oembed_controller.rb b/app/controllers/api/oembed_controller.rb index 2ea482296..58d8207f6 100644 --- a/app/controllers/api/oembed_controller.rb +++ b/app/controllers/api/oembed_controller.rb @@ -14,8 +14,20 @@ class Api::OEmbedController < ApiController def stream_entry_from_url(url) params = Rails.application.routes.recognize_path(url) - raise ActiveRecord::RecordNotFound unless params[:controller] == 'stream_entries' && params[:action] == 'show' + raise ActiveRecord::RecordNotFound unless recognized_stream_entry_url?(params) - StreamEntry.find(params[:id]) + stream_entry(params) + end + + def recognized_stream_entry_url?(params) + %w(stream_entries statuses).include?(params[:controller]) && params[:action] == 'show' + end + + def stream_entry(params) + if params[:controller] == 'stream_entries' + StreamEntry.find(params[:id]) + else + Status.find(params[:id]).stream_entry + end end end |