Refactor sources
This commit is contained in:
29
app/logical/sources/strategies.rb
Normal file
29
app/logical/sources/strategies.rb
Normal file
@@ -0,0 +1,29 @@
|
||||
module Sources
|
||||
module Strategies
|
||||
def self.all
|
||||
return [
|
||||
Strategies::Pixiv,
|
||||
Strategies::NicoSeiga,
|
||||
Strategies::Twitter,
|
||||
Strategies::DeviantArt,
|
||||
Strategies::Tumblr,
|
||||
Strategies::ArtStation,
|
||||
Strategies::Nijie,
|
||||
Strategies::Pawoo,
|
||||
Strategies::Moebooru,
|
||||
|
||||
Strategies::Null # MUST BE LAST!
|
||||
]
|
||||
end
|
||||
|
||||
def self.find(url, referer=nil)
|
||||
all
|
||||
.detect { |strategy| strategy.match?(url, referer) }
|
||||
.new(url, referer)
|
||||
end
|
||||
|
||||
def self.canonical(url, referer)
|
||||
find(url, referer).canonical_url
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user