Revision 47ab039e
Added by Shlomi Zadok over 9 years ago
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
fixes #7982 - Parameterize Operatingsystem.title to avoid non-alphanumeric characters in title (and friendly_id)