From 74e95ad90880c71a08ae5994e32758af28d18291 Mon Sep 17 00:00:00 2001 From: Jonathan Kolyer Date: Sun, 12 Jan 2014 02:49:57 -0600 Subject: [PATCH] vrfs988: added band spec and band.website value integrity on save --- ruby/lib/jam_ruby/models/band.rb | 9 +++++++++ ruby/spec/jam_ruby/models/band_spec.rb | 15 +++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 ruby/spec/jam_ruby/models/band_spec.rb diff --git a/ruby/lib/jam_ruby/models/band.rb b/ruby/lib/jam_ruby/models/band.rb index de6546f84..a0a2b4b35 100644 --- a/ruby/lib/jam_ruby/models/band.rb +++ b/ruby/lib/jam_ruby/models/band.rb @@ -14,6 +14,7 @@ module JamRuby validates :biography, no_profanity: true before_save :check_lat_lng + before_save :check_website_url # musicians has_many :band_musicians, :class_name => "JamRuby::BandMusician" @@ -237,6 +238,14 @@ module JamRuby false end + def check_website_url + if website_changed? && self.website.present? + self.website.strip! + self.website = "http://#{self.website}" unless self.website =~ /^http/ + end + true + end + private def self.validate_genres(genres, is_nil_ok) if is_nil_ok && genres.nil? diff --git a/ruby/spec/jam_ruby/models/band_spec.rb b/ruby/spec/jam_ruby/models/band_spec.rb new file mode 100644 index 000000000..3f1c1c289 --- /dev/null +++ b/ruby/spec/jam_ruby/models/band_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' + +describe Band do + + let(:band) { FactoryGirl.create(:band) } + + describe 'website update' do + it 'should have http prefix on website url' do + band.website = 'example.com' + band.save! + expect(band.website).to match(/^http:\/\/example.com$/) + end + end + +end