Skip to content

Commit

Permalink
Merge pull request #43 from Hamdiakoguz/master
Browse files Browse the repository at this point in the history
Add Turkish transliterator and tests.
  • Loading branch information
parndt committed May 8, 2018
2 parents c6cb270 + 24a415c commit 29f6057
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/babosa/transliterator/base.rb
Expand Up @@ -22,6 +22,7 @@ module Transliterator
autoload :Ukrainian, "babosa/transliterator/ukrainian"
autoload :Greek, "babosa/transliterator/greek"
autoload :Vietnamese, "babosa/transliterator/vietnamese"
autoload :Turkish, "babosa/transliterator/turkish"

def self.get(symbol)
class_name = symbol.to_s.split("_").map {|a| a.gsub(/\b('?[a-z])/) { $1.upcase }}.join
Expand Down
8 changes: 8 additions & 0 deletions lib/babosa/transliterator/turkish.rb
@@ -0,0 +1,8 @@
# encoding: utf-8

module Babosa
module Transliterator
class Turkish < Latin
end
end
end
24 changes: 24 additions & 0 deletions spec/transliterators/turkish_spec.rb
@@ -0,0 +1,24 @@
# encoding: utf-8
require File.expand_path("../../spec_helper", __FILE__)

describe Babosa::Transliterator::Turkish do

let(:t) { described_class.instance }
it_behaves_like "a latin transliterator"

it "should transliterate various characters" do
examples = {
"Nâzım" => "Nazim",
"sükûnet" => "sukunet",
"millîleştirmek" => "millilestirmek",
"mêmur" => "memur",
"lôkman" => "lokman",
"yoğurt" => "yogurt",
"şair" => "sair",
"İzmir" => "Izmir",
"yığın" => "yigin",
"çarşı" => "carsi"
}
examples.each {|k, v| expect(t.transliterate(k)).to eql(v)}
end
end

0 comments on commit 29f6057

Please sign in to comment.