mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Strip trailing slashes from ScreeningUrl records
This commit is contained in:
@@ -11,13 +11,16 @@ class ScreenedUrl < ActiveRecord::Base
|
|||||||
|
|
||||||
default_action :do_nothing
|
default_action :do_nothing
|
||||||
|
|
||||||
before_validation :strip_http
|
before_validation :normalize
|
||||||
|
|
||||||
validates :url, presence: true, uniqueness: true
|
validates :url, presence: true, uniqueness: true
|
||||||
validates :domain, presence: true
|
validates :domain, presence: true
|
||||||
|
|
||||||
def strip_http
|
def normalize
|
||||||
self.url.gsub!(/http(s?):\/\//i, '')
|
if self.url
|
||||||
|
self.url.gsub!(/http(s?):\/\//i, '')
|
||||||
|
self.url.gsub!(/(\/)+$/, '') # trim trailing slashes
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.watch(url, domain, opts={})
|
def self.watch(url, domain, opts={})
|
||||||
|
|||||||
@@ -21,6 +21,14 @@ describe ScreenedUrl do
|
|||||||
described_class.create(valid_params.merge(url: url.gsub('http://', prefix))).url.should == url.gsub('http://', '')
|
described_class.create(valid_params.merge(url: url.gsub('http://', prefix))).url.should == url.gsub('http://', '')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "strips trailing slash" do
|
||||||
|
described_class.create(valid_params.merge(url: 'silverbullet.in/')).url.should == 'silverbullet.in'
|
||||||
|
end
|
||||||
|
|
||||||
|
it "strips trailing slashes" do
|
||||||
|
described_class.create(valid_params.merge(url: 'silverbullet.in/buy///')).url.should == 'silverbullet.in/buy'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#watch' do
|
describe '#watch' do
|
||||||
|
|||||||
Reference in New Issue
Block a user