commentaries: trim whitespace from fields.
This commit is contained in:
@@ -4,6 +4,7 @@ class ArtistCommentary < ActiveRecord::Base
|
|||||||
attr_accessor :remove_commentary_tag, :remove_commentary_request_tag, :remove_commentary_check_tag
|
attr_accessor :remove_commentary_tag, :remove_commentary_request_tag, :remove_commentary_check_tag
|
||||||
attr_accessor :add_commentary_tag, :add_commentary_request_tag, :add_commentary_check_tag
|
attr_accessor :add_commentary_tag, :add_commentary_request_tag, :add_commentary_check_tag
|
||||||
attr_accessible :post_id, :original_description, :original_title, :translated_description, :translated_title, :remove_commentary_tag, :remove_commentary_request_tag, :add_commentary_tag, :add_commentary_request_tag, :add_commentary_check_tag, :remove_commentary_check_tag
|
attr_accessible :post_id, :original_description, :original_title, :translated_description, :translated_title, :remove_commentary_tag, :remove_commentary_request_tag, :add_commentary_tag, :add_commentary_request_tag, :add_commentary_check_tag, :remove_commentary_check_tag
|
||||||
|
before_validation :trim_whitespace
|
||||||
validates_uniqueness_of :post_id
|
validates_uniqueness_of :post_id
|
||||||
belongs_to :post
|
belongs_to :post
|
||||||
has_many :versions, lambda {order("artist_commentary_versions.id ASC")}, :class_name => "ArtistCommentaryVersion", :dependent => :destroy, :foreign_key => :post_id, :primary_key => :post_id
|
has_many :versions, lambda {order("artist_commentary_versions.id ASC")}, :class_name => "ArtistCommentaryVersion", :dependent => :destroy, :foreign_key => :post_id, :primary_key => :post_id
|
||||||
@@ -55,6 +56,13 @@ class ArtistCommentary < ActiveRecord::Base
|
|||||||
|
|
||||||
extend SearchMethods
|
extend SearchMethods
|
||||||
|
|
||||||
|
def trim_whitespace
|
||||||
|
self.original_title = original_title.gsub(/\A[[:space:]]+|[[:space:]]+\z/, "")
|
||||||
|
self.translated_title = translated_title.gsub(/\A[[:space:]]+|[[:space:]]+\z/, "")
|
||||||
|
self.original_description = original_description.gsub(/\A[[:space:]]+|[[:space:]]+\z/, "")
|
||||||
|
self.translated_description = translated_description.gsub(/\A[[:space:]]+|[[:space:]]+\z/, "")
|
||||||
|
end
|
||||||
|
|
||||||
def original_present?
|
def original_present?
|
||||||
original_title.present? || original_description.present?
|
original_title.present? || original_description.present?
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -52,5 +52,28 @@ class ArtistCommentaryTest < ActiveSupport::TestCase
|
|||||||
assert_equal("foo", @artcomm.versions.last.original_title)
|
assert_equal("foo", @artcomm.versions.last.original_title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "when updated" do
|
||||||
|
setup do
|
||||||
|
@post = FactoryGirl.create(:post)
|
||||||
|
@artcomm = FactoryGirl.create(:artist_commentary, post_id: @post.id)
|
||||||
|
@artcomm.reload
|
||||||
|
end
|
||||||
|
|
||||||
|
should "trim whitespace from all fields" do
|
||||||
|
# \u00A0 - nonbreaking space.
|
||||||
|
@artcomm.update(
|
||||||
|
original_title: " foo\u00A0\t\n",
|
||||||
|
original_description: " foo\u00A0\t\n",
|
||||||
|
translated_title: " foo\u00A0\t\n",
|
||||||
|
translated_description: " foo\u00A0\n",
|
||||||
|
)
|
||||||
|
|
||||||
|
assert_equal("foo", @artcomm.original_title)
|
||||||
|
assert_equal("foo", @artcomm.original_description)
|
||||||
|
assert_equal("foo", @artcomm.translated_title)
|
||||||
|
assert_equal("foo", @artcomm.translated_description)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user