2015-06-12 18:02:36 +08:00
|
|
|
class UrlHelper
|
2013-11-20 20:10:08 +08:00
|
|
|
|
2015-06-12 18:02:36 +08:00
|
|
|
def self.is_local(url)
|
2014-07-18 23:54:18 +08:00
|
|
|
url.present? && (
|
|
|
|
Discourse.store.has_been_uploaded?(url) ||
|
2014-09-25 23:44:48 +08:00
|
|
|
!!(url =~ /^\/assets\//) ||
|
|
|
|
!!(url =~ /^\/plugins\//) ||
|
2014-07-18 23:54:18 +08:00
|
|
|
url.start_with?(Discourse.asset_host || Discourse.base_url_no_prefix)
|
|
|
|
)
|
2013-11-20 20:10:08 +08:00
|
|
|
end
|
|
|
|
|
2015-06-12 18:02:36 +08:00
|
|
|
def self.absolute(url, cdn = Discourse.asset_host)
|
2013-12-17 07:35:34 +08:00
|
|
|
url =~ /^\/[^\/]/ ? (cdn || Discourse.base_url_no_prefix) + url : url
|
|
|
|
end
|
|
|
|
|
2015-06-12 18:02:36 +08:00
|
|
|
def self.absolute_without_cdn(url)
|
|
|
|
self.absolute(url, nil)
|
2013-11-20 20:10:08 +08:00
|
|
|
end
|
|
|
|
|
2015-06-12 18:02:36 +08:00
|
|
|
def self.schemaless(url)
|
2015-07-24 12:08:32 +08:00
|
|
|
url.sub(/^http:/, "")
|
2013-11-20 20:10:08 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|