diff --git a/app/models/event.rb b/app/models/event.rb index ac217b8..dd0cfb1 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -84,12 +84,21 @@ class Event < Article end def link=(value) - self.body[:link] = - if value =~ /https?:\/\// - value - else - 'http://' + value - end + self.body[:link] = maybe_add_http(value) + end + + def link + maybe_add_http(self.body[:link]) + end + + protected + + def maybe_add_http(value) + if value =~ /https?:\/\// + value + else + 'http://' + value + end end end diff --git a/test/unit/event_test.rb b/test/unit/event_test.rb index 55c5aa6..4c2fee5 100644 --- a/test/unit/event_test.rb +++ b/test/unit/event_test.rb @@ -143,6 +143,12 @@ class EventTest < ActiveSupport::TestCase assert_equal 'http://www.nohttp.net', a.link end + should 'add http:// when reading link' do + a = Event.new + a.body[:link] = 'www.gnu.org' + assert_equal 'http://www.gnu.org', a.link + end + protected def assert_tag_in_string(text, options) -- libgit2 0.21.2