Skip to content

Commit

Permalink
Don't use the transliterator gem on 1.8.
Browse files Browse the repository at this point in the history
Replace the transliteration with Iconv and a regexp.
  • Loading branch information
Manfred committed Oct 18, 2012
1 parent eede04d commit 129bf3b
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 5 deletions.
3 changes: 2 additions & 1 deletion buckaroo-ideal.gemspec
Expand Up @@ -16,9 +16,10 @@ Gem::Specification.new do |gem|
gem.version = Buckaroo::Ideal::VERSION

gem.add_dependency 'activesupport'
gem.add_dependency 'transliterator'

if RUBY_VERSION < "1.9"
gem.add_dependency 'fastercsv'
else
gem.add_dependency 'transliterator'
end
end
22 changes: 18 additions & 4 deletions lib/buckaroo-ideal/util.rb
@@ -1,12 +1,26 @@
require 'transliterator'

module Buckaroo
module Ideal
module Util
extend self

def to_normalized_string(string)
Transliterator.asciify(string.to_s)
if RUBY_VERSION < "1.9"

require 'iconv'

STRIP_ACCENTS_RE = /[\^~"`']/

def to_normalized_string(string)
Iconv.iconv('US-ASCII//IGNORE//TRANSLIT', 'UTF-8', string).to_s.gsub(STRIP_ACCENTS_RE, '')
end

else

require 'transliterator'

def to_normalized_string(string)
Transliterator.asciify(string.to_s)
end

end

def to_cents(amount)
Expand Down
5 changes: 5 additions & 0 deletions spec/buckaroo-ideal/util_spec.rb
Expand Up @@ -7,6 +7,11 @@
result = Buckaroo::Ideal::Util.to_normalized_string('îñtërnâtiônàlizâtiôn')
result.should == 'internationalization'
end

it 'keeps dashes' do
result = Buckaroo::Ideal::Util.to_normalized_string('order-123')
result.should == 'order-123'
end
end

describe '#to_cents' do
Expand Down

0 comments on commit 129bf3b

Please sign in to comment.