translit_kit 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +86 -0
  4. data/Rakefile +29 -0
  5. data/lib/hebrewword.rb +60 -0
  6. data/lib/permuter.rb +97 -0
  7. data/lib/phoneme_maps.rb +80 -0
  8. data/lib/phoneme_maps/long.json +41 -0
  9. data/lib/phoneme_maps/short.json +39 -0
  10. data/lib/phoneme_maps/single.json +40 -0
  11. data/lib/phonemizer.rb +170 -0
  12. data/lib/readme.md +120 -0
  13. data/lib/translit_kit.rb +2 -0
  14. data/lib/translit_kit/version.rb +3 -0
  15. data/lib/transliterator.rb +115 -0
  16. data/test/dummy/README.rdoc +28 -0
  17. data/test/dummy/Rakefile +6 -0
  18. data/test/dummy/app/assets/javascripts/application.js +13 -0
  19. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  20. data/test/dummy/app/controllers/application_controller.rb +5 -0
  21. data/test/dummy/app/helpers/application_helper.rb +2 -0
  22. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  23. data/test/dummy/bin/bundle +3 -0
  24. data/test/dummy/bin/rails +4 -0
  25. data/test/dummy/bin/rake +4 -0
  26. data/test/dummy/bin/setup +34 -0
  27. data/test/dummy/bin/update +29 -0
  28. data/test/dummy/config.ru +4 -0
  29. data/test/dummy/config/application.rb +15 -0
  30. data/test/dummy/config/boot.rb +3 -0
  31. data/test/dummy/config/cable.yml +9 -0
  32. data/test/dummy/config/database.yml +25 -0
  33. data/test/dummy/config/environment.rb +5 -0
  34. data/test/dummy/config/environments/development.rb +54 -0
  35. data/test/dummy/config/environments/production.rb +86 -0
  36. data/test/dummy/config/environments/test.rb +42 -0
  37. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  38. data/test/dummy/config/initializers/assets.rb +11 -0
  39. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  41. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/test/dummy/config/initializers/inflections.rb +16 -0
  43. data/test/dummy/config/initializers/mime_types.rb +4 -0
  44. data/test/dummy/config/initializers/new_framework_defaults.rb +23 -0
  45. data/test/dummy/config/initializers/session_store.rb +3 -0
  46. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  47. data/test/dummy/config/locales/en.yml +23 -0
  48. data/test/dummy/config/puma.rb +47 -0
  49. data/test/dummy/config/routes.rb +3 -0
  50. data/test/dummy/config/secrets.yml +22 -0
  51. data/test/dummy/config/spring.rb +6 -0
  52. data/test/dummy/db/test.sqlite3 +0 -0
  53. data/test/dummy/log/test.log +85939 -0
  54. data/test/dummy/public/404.html +67 -0
  55. data/test/dummy/public/422.html +67 -0
  56. data/test/dummy/public/500.html +66 -0
  57. data/test/dummy/public/favicon.ico +0 -0
  58. data/test/hebrewword_test.rb +45 -0
  59. data/test/permuter_test.rb +53 -0
  60. data/test/phoneme_maps_test.rb +29 -0
  61. data/test/phonemizer_test.rb +209 -0
  62. data/test/test_helper.rb +29 -0
  63. data/test/transliterator_test.rb +75 -0
  64. metadata +155 -0
@@ -0,0 +1,29 @@
1
+ # Coverage Analysis
2
+ require 'simplecov'
3
+ SimpleCov.start
4
+
5
+ # Configure Rails Environment
6
+ ENV["RAILS_ENV"] = "test"
7
+
8
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
9
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
10
+
11
+ require "rails/test_help"
12
+
13
+ # Enable Coveralls test coverage tester
14
+ require 'coveralls'
15
+ Coveralls.wear!
16
+
17
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
18
+ # to be shown.
19
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
20
+
21
+ # Load support files
22
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
23
+
24
+ # Load fixtures from the engine
25
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
26
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
27
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
28
+ ActiveSupport::TestCase.fixtures :all
29
+ end
@@ -0,0 +1,75 @@
1
+ require 'test_helper'
2
+ require 'transliterator'
3
+
4
+ class TransliteratorTest < ActiveSupport::TestCase
5
+
6
+ test "should require a string on init" do
7
+ assert_raise (ArgumentError) { Transliterator.new }
8
+ end
9
+
10
+ test "should init without blowing up" do
11
+ assert_nothing_raised { Transliterator.new "תְּשׁוּבָה"}
12
+ end
13
+
14
+ test "should not change supplied test" do
15
+ assert_equal "תְּשׁוּבָה", Transliterator.new("תְּשׁוּבָה").raw
16
+ assert_equal "תְּשׁוּבָה", Transliterator.new("תְּשׁוּבָה").to_s
17
+ end
18
+
19
+ test "should correctly find phonemes" do
20
+ assert_equal ["תּ", "ְ", "שׁ", "וּ", "ב", "ָ", "ה"], Transliterator.new("תְּשׁוּבָה").phonemes
21
+ end
22
+
23
+ test "should select 'short' list by default" do
24
+ assert_equal :short, Transliterator.new("תְּשׁוּבָה").phoneme_map
25
+ end
26
+
27
+ test "should remember the list named during init" do
28
+ t = Transliterator.new("תְּשׁוּבָה", :single)
29
+ assert_equal :single, t.phoneme_map
30
+ end
31
+
32
+ test "should remember the list selected during init even after transliteration" do
33
+ t = Transliterator.new("תְּשׁוּבָה", :single)
34
+ t.transliterate
35
+ assert_equal :single, t.phoneme_map
36
+ end
37
+
38
+ test "should transliterate with stored list by default" do
39
+ t = Transliterator.new("תְּשׁוּבָה")
40
+ assert_equal :short, t.phoneme_map
41
+ assert_equal t.transliterate, ["tashuvo", "tashuvoh", "tashuva", "tashuvah", "tashuve", "tashuveh", "tashoovo", "tashoovoh", "tashoova", "tashoovah", "tashoove", "tashooveh", "tasheuvo", "tasheuvoh", "tasheuva", "tasheuvah", "tasheuve", "tasheuveh", "teshuvo", "teshuvoh", "teshuva", "teshuvah", "teshuve", "teshuveh", "teshoovo", "teshoovoh", "teshoova", "teshoovah", "teshoove", "teshooveh", "tesheuvo", "tesheuvoh", "tesheuva", "tesheuvah", "tesheuve", "tesheuveh", "tishuvo", "tishuvoh", "tishuva", "tishuvah", "tishuve", "tishuveh", "tishoovo", "tishoovoh", "tishoova", "tishoovah", "tishoove", "tishooveh", "tisheuvo", "tisheuvoh", "tisheuva", "tisheuvah", "tisheuve", "tisheuveh", "t'shuvo", "t'shuvoh", "t'shuva", "t'shuvah", "t'shuve", "t'shuveh", "t'shoovo", "t'shoovoh", "t'shoova", "t'shoovah", "t'shoove", "t'shooveh", "t'sheuvo", "t'sheuvoh", "t'sheuva", "t'sheuvah", "t'sheuve", "t'sheuveh"]
42
+
43
+ t = Transliterator.new("תְּשׁוּבָה", :single)
44
+ assert_equal :single, t.phoneme_map
45
+ assert_equal t.transliterate, ["teshuvoh"]
46
+ end
47
+
48
+ test "should fail if bad list name given" do
49
+ assert_raise (RuntimeError) { Transliterator.new("תְּשׁוּבָה", :blah) }
50
+ assert_raise (RuntimeError) { Transliterator.new("תְּשׁוּבָה").phoneme_map = :blah }
51
+ assert_raise (RuntimeError) { Transliterator.new("תְּשׁוּבָה").transliterate(:blah) }
52
+ end
53
+
54
+ test "should change list when told to" do
55
+ t = Transliterator.new("תְּשׁוּבָה")
56
+ assert_equal :short, t.phoneme_map
57
+
58
+
59
+ t.phoneme_map = :single
60
+ assert_equal :single, t.phoneme_map
61
+ assert_equal t.transliterate, ["teshuvoh"]
62
+ end
63
+
64
+ test "should use supplied list when list supplied in #transliterate" do
65
+ t = Transliterator.new("תְּשׁוּבָה")
66
+ assert_equal :short, t.phoneme_map
67
+
68
+ assert_equal t.transliterate(:single), ["teshuvoh"]
69
+ end
70
+
71
+ test "`inspect` function outputs correct translit counts" do
72
+ t = Transliterator.new "אַברָהָם"
73
+ assert_equal t.inspect, "אַברָהָם: Permutations: #{t.transliterate(:single).length} single | #{t.transliterate(:short).length} short | #{t.transliterate(:long).length} long"
74
+ end
75
+ end
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: translit_kit
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.9'
5
+ platform: ruby
6
+ authors:
7
+ - Michoel Samuels
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-06-15 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A Ruby gem for transliterating Hebrew text (with Niqqud) into English
14
+ characters
15
+ email:
16
+ - k2co3@icloud.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - MIT-LICENSE
22
+ - README.md
23
+ - Rakefile
24
+ - lib/hebrewword.rb
25
+ - lib/permuter.rb
26
+ - lib/phoneme_maps.rb
27
+ - lib/phoneme_maps/long.json
28
+ - lib/phoneme_maps/short.json
29
+ - lib/phoneme_maps/single.json
30
+ - lib/phonemizer.rb
31
+ - lib/readme.md
32
+ - lib/translit_kit.rb
33
+ - lib/translit_kit/version.rb
34
+ - lib/transliterator.rb
35
+ - test/dummy/README.rdoc
36
+ - test/dummy/Rakefile
37
+ - test/dummy/app/assets/javascripts/application.js
38
+ - test/dummy/app/assets/stylesheets/application.css
39
+ - test/dummy/app/controllers/application_controller.rb
40
+ - test/dummy/app/helpers/application_helper.rb
41
+ - test/dummy/app/views/layouts/application.html.erb
42
+ - test/dummy/bin/bundle
43
+ - test/dummy/bin/rails
44
+ - test/dummy/bin/rake
45
+ - test/dummy/bin/setup
46
+ - test/dummy/bin/update
47
+ - test/dummy/config.ru
48
+ - test/dummy/config/application.rb
49
+ - test/dummy/config/boot.rb
50
+ - test/dummy/config/cable.yml
51
+ - test/dummy/config/database.yml
52
+ - test/dummy/config/environment.rb
53
+ - test/dummy/config/environments/development.rb
54
+ - test/dummy/config/environments/production.rb
55
+ - test/dummy/config/environments/test.rb
56
+ - test/dummy/config/initializers/application_controller_renderer.rb
57
+ - test/dummy/config/initializers/assets.rb
58
+ - test/dummy/config/initializers/backtrace_silencers.rb
59
+ - test/dummy/config/initializers/cookies_serializer.rb
60
+ - test/dummy/config/initializers/filter_parameter_logging.rb
61
+ - test/dummy/config/initializers/inflections.rb
62
+ - test/dummy/config/initializers/mime_types.rb
63
+ - test/dummy/config/initializers/new_framework_defaults.rb
64
+ - test/dummy/config/initializers/session_store.rb
65
+ - test/dummy/config/initializers/wrap_parameters.rb
66
+ - test/dummy/config/locales/en.yml
67
+ - test/dummy/config/puma.rb
68
+ - test/dummy/config/routes.rb
69
+ - test/dummy/config/secrets.yml
70
+ - test/dummy/config/spring.rb
71
+ - test/dummy/db/test.sqlite3
72
+ - test/dummy/log/test.log
73
+ - test/dummy/public/404.html
74
+ - test/dummy/public/422.html
75
+ - test/dummy/public/500.html
76
+ - test/dummy/public/favicon.ico
77
+ - test/hebrewword_test.rb
78
+ - test/permuter_test.rb
79
+ - test/phoneme_maps_test.rb
80
+ - test/phonemizer_test.rb
81
+ - test/test_helper.rb
82
+ - test/transliterator_test.rb
83
+ homepage: https://github.com/AnalyzePlatypus/TranslitKit
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.6.8
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Hebrew -> English Transliteration engine
107
+ test_files:
108
+ - test/dummy/app/assets/javascripts/application.js
109
+ - test/dummy/app/assets/stylesheets/application.css
110
+ - test/dummy/app/controllers/application_controller.rb
111
+ - test/dummy/app/helpers/application_helper.rb
112
+ - test/dummy/app/views/layouts/application.html.erb
113
+ - test/dummy/bin/bundle
114
+ - test/dummy/bin/rails
115
+ - test/dummy/bin/rake
116
+ - test/dummy/bin/setup
117
+ - test/dummy/bin/update
118
+ - test/dummy/config/application.rb
119
+ - test/dummy/config/boot.rb
120
+ - test/dummy/config/cable.yml
121
+ - test/dummy/config/database.yml
122
+ - test/dummy/config/environment.rb
123
+ - test/dummy/config/environments/development.rb
124
+ - test/dummy/config/environments/production.rb
125
+ - test/dummy/config/environments/test.rb
126
+ - test/dummy/config/initializers/application_controller_renderer.rb
127
+ - test/dummy/config/initializers/assets.rb
128
+ - test/dummy/config/initializers/backtrace_silencers.rb
129
+ - test/dummy/config/initializers/cookies_serializer.rb
130
+ - test/dummy/config/initializers/filter_parameter_logging.rb
131
+ - test/dummy/config/initializers/inflections.rb
132
+ - test/dummy/config/initializers/mime_types.rb
133
+ - test/dummy/config/initializers/new_framework_defaults.rb
134
+ - test/dummy/config/initializers/session_store.rb
135
+ - test/dummy/config/initializers/wrap_parameters.rb
136
+ - test/dummy/config/locales/en.yml
137
+ - test/dummy/config/puma.rb
138
+ - test/dummy/config/routes.rb
139
+ - test/dummy/config/secrets.yml
140
+ - test/dummy/config/spring.rb
141
+ - test/dummy/config.ru
142
+ - test/dummy/db/test.sqlite3
143
+ - test/dummy/log/test.log
144
+ - test/dummy/public/404.html
145
+ - test/dummy/public/422.html
146
+ - test/dummy/public/500.html
147
+ - test/dummy/public/favicon.ico
148
+ - test/dummy/Rakefile
149
+ - test/dummy/README.rdoc
150
+ - test/hebrewword_test.rb
151
+ - test/permuter_test.rb
152
+ - test/phoneme_maps_test.rb
153
+ - test/phonemizer_test.rb
154
+ - test/test_helper.rb
155
+ - test/transliterator_test.rb