class RSSable::Detection::EngineDetector
Constants
- MAPPINGS
Attributes
urls[R]
Public Class Methods
call(urls:, source_url:)
click to toggle source
It returns array of RSS feed link and the driver If feed link is not found it returns blank array If the provider is not detected it returns :default
@return [Array]
# File lib/rssable/detection/engine_detector.rb, line 15 def self.call(urls:, source_url:) result = nil urls.each do |url| result = if url.match(MAPPINGS[:blogger]) [url, :blogger] elsif url.match(MAPPINGS[:wordpress]) && url.match(/\/comments\//).nil? [url, :wordpress] elsif url.match(MAPPINGS[:medium]) [url, :medium] elsif url == "/feed.xml" parsed_url = URI.join(source_url, "/feed.xml") [parsed_url.to_s, :jekyll] end break unless result.nil? end return result unless result.nil? if urls.size != 0 [urls.first, :default] else [] end end