* Add explanatory comment to how RssReaderFetchUserWorker works * Add Feeds::ImportWorker worker * Enable Feeds::Import for single user feed fetching behind a feature flag * Add Feeds::ValidateUrl service * Add feature flag to user's validate feed URL feature * Remove todo notices * Add feature flag to fetch_all_rss task * Add feature flag to RssReaderWorker * Bring back short-circuit for Articles::RssReaderWorker
26 lines
412 B
Ruby
26 lines
412 B
Ruby
module Feeds
|
|
class ValidateUrl
|
|
def self.call(feed_url)
|
|
new(feed_url).call
|
|
end
|
|
|
|
def initialize(feed_url)
|
|
@feed_url = feed_url
|
|
end
|
|
|
|
def call
|
|
return false if feed_url.blank?
|
|
|
|
xml = HTTParty.get(feed_url, timeout: 10).body
|
|
Feedjira.parse(xml)
|
|
|
|
true
|
|
rescue Feedjira::NoParserAvailable
|
|
false
|
|
end
|
|
|
|
private
|
|
|
|
attr_reader :feed_url
|
|
end
|
|
end
|