Project

General

Profile

« Previous | Next » 

Revision 47ab039e

Added by Shlomi Zadok over 9 years ago

fixes #7982 - Parameterize Operatingsystem.title to avoid non-alphanumeric characters in title (and friendly_id)

View differences:

app/models/concerns/parameterizable.rb
module Parameterizable
def self.parameterize(string)
string.gsub(/[\/.]/, '-').gsub(/[!*'();:@&=+$,?%#\[\]]/, '').chomp('-')
string.gsub(/[\/.>]/, '-').gsub(/[<!*'();:@&=+$,?%#\[\]]/, '').chomp('-')
end
module ById
app/models/operatingsystem.rb
self.description = str
end
def to_param
Parameterizable.parameterize("#{id}-#{title}")
end
def release
"#{major}#{('.' + minor.to_s) unless minor.blank?}"
end
test/unit/operatingsystem_test.rb
# encoding: utf-8
require 'test_helper'
class OperatingsystemTest < ActiveSupport::TestCase
......
assert_valid @config_template
end
end
test 'name can include utf-8 and non-alpha numeric chars' do
operatingsystem = FactoryGirl.build(:operatingsystem, :name => '<applet>מערכתההפעלהשלי', :major => 4)
assert operatingsystem.valid?
assert_equal("#{operatingsystem.id}-applet-מערכתההפעלהשלי 4", operatingsystem.to_param)
end
end

Also available in: Unified diff