tibetan 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ae545936f34ae071778e0c393f2823541fd185a03891a05150e08e1093b82b4
4
- data.tar.gz: 121c95c185557a0411164b0ab5cbd742ddeec6a92d10af3935ae5b672c25a82d
3
+ metadata.gz: a4cab1f9b9a538564a7e94f0d3abbae373ba8dfcaf6a066edc6b1e3819643e0e
4
+ data.tar.gz: a4f5b00a4e9f7c0f5709cebeca12225572138ed2ba7f90fc9ca902ce6fdf48cd
5
5
  SHA512:
6
- metadata.gz: 7c0d643ec58d358e566906907935392656091f537d07f6098877b2a38890a3300cda5ef76295ef6f19ca8e1bdeb23f4ed3900a3e057fc1ece165cda492ed4d86
7
- data.tar.gz: 851bae4b76b7b09312619683716e4356d857b20e76846aa1f42f394d8742fe05b684300b6e2ca5ecb176dc9590ea3787a1f3a95c5475f269e8d24f6bdcf78d0c
6
+ metadata.gz: a304ccec1a4f2df92f68b98e8989128f1af3187c0f055057daaa39ba5a2d0070a1381e0949f89e035308213457799dd23bb6b6fce92922cea338fbbde9c82a0e
7
+ data.tar.gz: cd070ffdcda052027fc46efb04fc0b41a7c10d99e181d9c09f45ada43150a6d6b8c2dee9bdae6f3c42b2e679c3b831c3b7fa2f3f3b1de63751ee6aec63c0d6e5
data/.rubocop.yml ADDED
@@ -0,0 +1,57 @@
1
+ plugins:
2
+ - rubocop-rake
3
+ - rubocop-minitest
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 3.0
7
+ NewCops: enable
8
+ SuggestExtensions: false
9
+ Exclude:
10
+ - "bin/**/*"
11
+ - "pkg/**/*"
12
+ - "vendor/**/*"
13
+
14
+ Layout/LineLength:
15
+ Max: 120
16
+ AllowedPatterns:
17
+ - '^\s*assert_equal'
18
+ - '^\s*#'
19
+ - '^\s*"'
20
+ - 'spec\.description'
21
+
22
+ Style/StringLiterals:
23
+ Enabled: false
24
+
25
+ Style/Documentation:
26
+ Enabled: false
27
+
28
+ Style/AsciiComments:
29
+ Enabled: false
30
+
31
+ Style/PercentLiteralDelimiters:
32
+ Enabled: false
33
+
34
+ Gemspec/DevelopmentDependencies:
35
+ Enabled: false
36
+
37
+ Minitest/MultipleAssertions:
38
+ Enabled: false
39
+
40
+ Metrics/AbcSize:
41
+ Enabled: false
42
+
43
+ Metrics/MethodLength:
44
+ Enabled: false
45
+
46
+ Metrics/CyclomaticComplexity:
47
+ Enabled: false
48
+
49
+ Metrics/PerceivedComplexity:
50
+ Enabled: false
51
+
52
+ Metrics/BlockNesting:
53
+ Enabled: false
54
+
55
+ Metrics/ModuleLength:
56
+ Max: 250
57
+
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 4.0.6
data/CHANGELOG.md CHANGED
@@ -1,4 +1,63 @@
1
- Version 0.1.0: Initial release
2
- Version 0.1.1: Convert space to underscore; update tests
3
- Version 0.1.2: Insert default vowel "a"; Split long phrase into small parts and transliterate separately; more tests
4
- Version 0.1.3: References on Tibetan transliteration
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## Version 0.2.0 (2026-09-17)
6
+
7
+ * **Performance:**
8
+ * ~15.4x transliteration speedup via precompiled regular expressions and Set-based character lookup.
9
+ * Eliminated redundant array allocations and `string.chars` calls during root consonant detection.
10
+ * **Extended Wylie (EWTS) & Sanskrit Support:**
11
+ * Added Sanskrit aspirated consonants (`གྷ`, `ཌྷ`, `དྷ`, `བྷ`, `ཛྷ`) and their subjoined forms (`ྒྷ`, `ྜྷ`, `ྡྷ`, `ྦྷ`, `ྫྷ`, `ྐྵ`).
12
+ * Added Sanskrit signs: avagraha `྅` (`` ` ``), anusvara `ཾ` (`ṃ`), candrabindu `ྃ` (`~ṃ`), and visarga `ཿ` (`ḥ`).
13
+ * Added punctuation support for centered point `・` (space) and angle brackets `《 ... 》` (`"..."`).
14
+ * Fixed errant tab character in character mapping for U+0F07 (`"༇"`).
15
+ * **CLI Executable:**
16
+ * Added `exe/tibetan` command-line tool supporting arguments, file reading, and piped STDIN input (`-v`, `--help`).
17
+ * **Documentation & Developer Experience:**
18
+ * Added comprehensive YARD documentation for all public APIs (`Tibetan.transliterate`, `Tibetan.t`).
19
+ * Updated README with CLI instructions and EWTS Sanskrit transliteration examples.
20
+ * **Testing:**
21
+ * Added extensive real-world integration test suite with 500 Tibetan terms from the UMA (University of Virginia) glossaries fixture.
22
+ * Added integration tests for the CLI executable covering arguments, pipes, and version display.
23
+ * **Architecture & Encapsulation:**
24
+ * Encapsulated internal helper `insert_default_vowel!` as a private class method.
25
+ * Added defensive edge case handling for `nil`, empty strings, and mixed non-Tibetan text.
26
+ * **Infrastructure & Tooling:**
27
+ * Replaced deprecated Travis CI with GitHub Actions matrix (Ruby 3.1 - head).
28
+ * Modernized gemspec (`required_ruby_version >= 3.0.0`, metadata URIs, resilient packaging).
29
+ * Added RuboCop with custom configuration integrated into default `rake` task.
30
+ * Updated default branch references from `master` to `main`.
31
+ * Added Dependabot configuration for GitHub Actions automated updates.
32
+ * Pinned Ruby version in `.ruby-version`.
33
+
34
+ ## Version 0.1.5
35
+
36
+ * Improve transliteration accuracy and add more tests.
37
+ * Add rule to insert implicit vowel 'a' before 'a-chung (`འ`) preceded by consonant/subscript.
38
+ * Distinguish prefix `g` and root `y` (`g.y`) from root `g` and subjoined `y` (`gy`).
39
+ * Clean up erroneous spaces before closing brackets and punctuation.
40
+
41
+ ## Version 0.1.4
42
+
43
+ * Fix string mutation warnings on modern Ruby versions.
44
+ * Update development dependencies: `bundler`, `rake`, `minitest`.
45
+
46
+ ## Version 0.1.3
47
+
48
+ * Add comprehensive references on Tibetan transliteration.
49
+
50
+ ## Version 0.1.2
51
+
52
+ * Insert default vowel "a".
53
+ * Split long phrases into smaller parts and transliterate separately.
54
+ * Expand test coverage.
55
+
56
+ ## Version 0.1.1
57
+
58
+ * Convert spaces to underscores.
59
+ * Update test suite.
60
+
61
+ ## Version 0.1.0
62
+
63
+ * Initial release.
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2018 rovetz
3
+ Copyright (c) 2018-2026 rovetz
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Tibetan -> Wylie
2
2
 
3
+ [![CI](https://github.com/rovetz/tibetan/actions/workflows/ci.yml/badge.svg)](https://github.com/rovetz/tibetan/actions/workflows/ci.yml)
4
+ [![Gem Version](https://badge.fury.io/rb/tibetan.svg)](https://badge.fury.io/rb/tibetan)
5
+
3
6
  Romanization of Tibetan. It transliterates Tibetan text to the Latin script using THL EWTS (Extended Wylie Transliteration Scheme).
4
7
 
5
8
  ## Installation
@@ -31,15 +34,39 @@ Tibetan.transliterate("བོད་སྐད་") # => "bod skad"
31
34
  Tibetan.transliterate("༡༢༣") # => "123"
32
35
  Tibetan.transliterate("༪") # => "0.5"
33
36
  ```
34
- or
37
+ or using the shorthand alias `.t`:
35
38
 
36
39
  ```ruby
37
40
  Tibetan.t("བོད་སྐད་") # => "bod skad"
38
41
  Tibetan.t("༡༢༣") # => "123"
39
42
  Tibetan.t("༪") # => "0.5"
43
+
44
+ # Extended Wylie (EWTS) & Sanskrit loanwords support:
45
+ Tibetan.t("ཨོཾ་ཨཱཿཧཱུྃ") # => "oṃ āḥ hūṃ"
46
+ Tibetan.t("ཤུདྡྷོ྅ཧཾ") # => "shuddho`haṃ"
47
+ ```
48
+
49
+ ### Command Line Interface (CLI)
50
+
51
+ You can also use `tibetan` directly from the command line:
52
+
53
+ ```bash
54
+ # Direct argument
55
+ $ tibetan "བོད་སྐད་"
56
+ bod skad
57
+
58
+ # Piped input (STDIN)
59
+ $ echo "བོད་སྐད་" | tibetan
60
+ bod skad
61
+
62
+ # File input
63
+ $ tibetan text.txt
40
64
  ```
41
65
 
42
66
  ## References
67
+ https://rywiki.tsadra.org/index.php/Wylie
68
+ https://sorig.info/images/my-pages/about/transliteration-en.pdf
69
+ https://resources.christian-steinert.de/download/WylieTransliteration.pdf
43
70
  http://www.thlib.org/reference/transliteration/#!essay=/thl/ewts/meta/
44
71
  http://www.thlib.org/reference/transliteration/teachingewts.pdf
45
72
  http://www.thlib.org/reference/transliteration/phconverter.php
@@ -65,4 +92,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
65
92
 
66
93
  ## Code of Conduct
67
94
 
68
- Everyone interacting in the Tibetan project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rovetz/tibetan/blob/master/CODE_OF_CONDUCT.md).
95
+ Everyone interacting in the Tibetan project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rovetz/tibetan/blob/main/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -1,5 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rake/testtask"
5
+ require "rubocop/rake_task"
3
6
 
4
7
  Rake::TestTask.new(:test) do |t|
5
8
  t.libs << "test"
@@ -7,4 +10,6 @@ Rake::TestTask.new(:test) do |t|
7
10
  t.test_files = FileList["test/**/*_test.rb"]
8
11
  end
9
12
 
10
- task :default => :test
13
+ RuboCop::RakeTask.new(:rubocop)
14
+
15
+ task default: %i[test rubocop]
data/exe/tibetan ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "optparse"
5
+ require "tibetan"
6
+
7
+ parser = OptionParser.new do |opts|
8
+ opts.banner = "Usage: tibetan [options] [text | file...]"
9
+ opts.separator ""
10
+ opts.separator "Transliterate Tibetan text to Roman script (Extended Wylie)."
11
+ opts.separator ""
12
+ opts.separator "Examples:"
13
+ opts.separator " tibetan 'བོད་སྐད་'"
14
+ opts.separator " echo 'བོད་སྐད་' | tibetan"
15
+ opts.separator " tibetan text.txt"
16
+ opts.separator ""
17
+ opts.separator "Options:"
18
+
19
+ opts.on("-v", "--version", "Show version") do
20
+ puts "tibetan #{Tibetan::VERSION}"
21
+ exit
22
+ end
23
+
24
+ opts.on("-h", "--help", "Show this help message") do
25
+ puts opts
26
+ exit
27
+ end
28
+ end
29
+
30
+ parser.parse!
31
+
32
+ if ARGV.empty?
33
+ if $stdin.tty?
34
+ puts parser
35
+ exit 1
36
+ else
37
+ $stdin.each_line do |line|
38
+ puts Tibetan.t(line.chomp)
39
+ end
40
+ end
41
+ else
42
+ ARGV.each do |arg|
43
+ if File.file?(arg)
44
+ File.foreach(arg) do |line|
45
+ puts Tibetan.t(line.chomp)
46
+ end
47
+ else
48
+ puts Tibetan.t(arg)
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Tibetan
2
- VERSION = "0.1.4"
4
+ VERSION = "0.2.0"
3
5
  end
data/lib/tibetan.rb CHANGED
@@ -1,4 +1,7 @@
1
- require "tibetan/version"
1
+ # frozen_string_literal: true
2
+
3
+ require "set"
4
+ require_relative "tibetan/version"
2
5
 
3
6
  module Tibetan
4
7
  # Extended Wylie Transliteration Scheme (EWTS)
@@ -40,12 +43,15 @@ module Tibetan
40
43
  "༄" => "@",
41
44
  "༅" => "#",
42
45
  "༆" => "$",
43
- "༇" => " %",
46
+ "༇" => "%",
44
47
  # Paired Punctuation Marks (brackets)
45
48
  "༺" => "<",
46
49
  "༻" => ">",
47
50
  "༼" => "(",
48
51
  "༽" => ")",
52
+ "・" => " ",
53
+ "《" => "\"",
54
+ "》" => "\"",
49
55
  # Consonants, subjoined consonants
50
56
  "ཀ" => "k",
51
57
  "ྐ" => "k",
@@ -107,57 +113,147 @@ module Tibetan
107
113
  "ྷ" => "h",
108
114
  "ཨ" => "a",
109
115
  "ྸ" => "a",
116
+ # Retroflex Consonants
117
+ "ཊ" => "T", "ྚ" => "T",
118
+ "ཋ" => "Th", "ྛ" => "Th",
119
+ "ཌ" => "Da", "ྜ" => "D",
120
+ "ཎ" => "N", "ྞ" => "N",
121
+ "ཥ" => "S", "ྵ" => "S",
122
+ # Sanskrit Consonants
123
+ "གྷ" => "gh", "ྒྷ" => "gh",
124
+ "ཌྷ" => "Dh", "ྜྷ" => "Dh",
125
+ "དྷ" => "dh", "ྡྷ" => "dh",
126
+ "བྷ" => "bh", "ྦྷ" => "bh",
127
+ "ཛྷ" => "dzh", "ྫྷ" => "dzh",
128
+ "ྐྵ" => "kSh",
129
+ # Sanskrit Signs
130
+ "྅" => "`",
131
+ "ཾ" => "ṃ",
132
+ "ྃ" => "~ṃ",
133
+ "ཿ" => "ḥ",
110
134
  # Vowels
111
- "ི" => "i",
135
+ "ི" => "i",
112
136
  "ུ" => "u",
113
- "ེ" => "e",
114
- "ོ" => "o",
137
+ "ེ" => "e",
138
+ "ོ" => "o",
115
139
  # Sanskrit Vowels
116
- "ཱ" => "ā",
117
- "ཱི" => "ī",
140
+ "ཱ" => "ā",
141
+ "ཱི" => "ī",
118
142
  "ཱུ" => "ū",
119
- "ཻ" => "ai",
120
- "ཽ" => "au",
121
- "ྲྀ" => "ṛ",
143
+ "ཻ" => "ai",
144
+ "ཽ" => "au",
145
+ "ྲྀ" => "ṛ",
122
146
  "ཷ" => "ṝ",
123
- "ླྀ" => "ḷ",
124
- "ཹ" => "ḹ",
125
- }
126
-
127
- CONSONANTS = %w(ཀ ཁ ག ང ཅ ཆ ཇ ཉ ཏ ཐ ད ན པ ཕ བ མ ཙ ཚ ཛ ཝ ཞ ཟ འ ཡ ར ལ ཤ ས ཧ)
128
- SUBSCRIPTS = %w(ྐ ྑ ྒ ྔ ྕ ྖ ྗ ྙ ྟ ྠ ྡ ྣ ྤ ྥ ྦ ྨ ྩ ྪ ྫ ྭ ྮ ྯ ྰ ྱ ྲ ླ ྴ ྶ ྷ)
129
- VOWELS = %w(ྸ ི ུ ེ ོ a)
147
+ "ླྀ" => "ḷ",
148
+ "ཹ" => "ḹ"
149
+ }.freeze
150
+
151
+ CONSONANTS = %w[
152
+ ཀ ཁ ག ང ཅ ཆ ཇ ཉ ཏ ཐ ད ན པ ཕ བ མ ཙ ཚ ཛ ཝ ཞ ཟ འ ཡ ར ལ ཤ ས ཧ ཊ ཋ ཌ ཎ ཥ གྷ ཌྷ དྷ བྷ ཛྷ
153
+ ].freeze
154
+ SUBSCRIPTS = %w[
155
+ ྐ ྑ ྒ ྔ ྕ ྖ ྗ ྙ ྟ ྠ ྡ ྣ ྤ ྥ ྦ ྨ ྩ ྪ ྫ ྭ ྮ ྯ ྰ ྱ ྲ ླ ྴ ྶ ྷ ྚ ྛ ྜ ྞ ྵ ྒྷ ྜྷ ྡྷ ྦྷ ྫྷ ྐྵ
156
+ ].freeze
157
+ VOWELS = %w[ྸ ི ུ ེ ོ a].freeze
130
158
  SEP = "་"
131
159
  DEFAULT_VOWEL = "a"
132
160
 
161
+ CONSONANTS_SUBSCRIPTS = (CONSONANTS + SUBSCRIPTS).freeze
162
+ CONSONANTS_SUBSCRIPTS_SET = Set.new(CONSONANTS_SUBSCRIPTS).freeze
163
+
164
+ SPLIT_REGEX = /([^#{Regexp.escape((CONSONANTS + SUBSCRIPTS + VOWELS).join)}]+)/
165
+ A_CHUNG_REGEX = /([#{Regexp.escape(CONSONANTS_SUBSCRIPTS.join)}])འ/
166
+ CHARACTER_TABLE_REGEX = /#{Regexp.union(CHARACTER_TABLE.keys).source}/i
167
+ SUBSCRIPTS_REGEX = /[#{Regexp.escape(SUBSCRIPTS.join)}]/
168
+ VOWELS_REGEX = /[#{Regexp.escape(VOWELS.join)}]/
169
+ CONSONANTS_REGEX = /[#{Regexp.escape(CONSONANTS.join)}]/
170
+ TRAILING_SPACES_REGEX = / +([»\])》"]|\Z)/
171
+
133
172
  class << self
134
- def transliterate(string="", to=:tibetan)
135
- string = string.to_s
136
-
173
+ # Transliterates Tibetan text into Roman (Latin) script using the Extended Wylie
174
+ # Transliteration Scheme (THL EWTS).
175
+ #
176
+ # @param string [String, nil] The Tibetan text to transliterate.
177
+ # @param to [Symbol] The character mapping table to use (defaults to :tibetan).
178
+ # @return [String] The transliterated Roman text (Extended Wylie).
179
+ #
180
+ # @example Transliterate standard Tibetan
181
+ # Tibetan.transliterate("བོད་སྐད་")
182
+ # #=> "bod skad"
183
+ #
184
+ # @example Using the short alias
185
+ # Tibetan.t("༡༢༣")
186
+ # #=> "123"
187
+ #
188
+ # @example Transliterating text with Sanskrit symbols
189
+ # Tibetan.t("ཤུདྡྷོ྅ཧཾ")
190
+ # #=> "shuddho`haṃ"
191
+ def transliterate(string = "", to = :tibetan)
192
+ return "" if string.nil?
193
+
194
+ string = string.to_s.dup
195
+ return "" if string.empty?
196
+
137
197
  # Split long phrase into small parts and transliterate separately
138
- if string.split(SEP).size > 1
139
- string = string.split(SEP).map do |str|
140
- transliterate(str)
141
- end.join(SEP)
198
+ # Split by anything that isn't a Tibetan consonant, subscript, or vowel
199
+ parts = string.split(SPLIT_REGEX).reject(&:empty?)
200
+ if parts.size > 1
201
+ res = parts.map do |str|
202
+ transliterate(str, to)
203
+ end.join
204
+ # During mapping, trailing tseks become spaces. This cleans up erroneous spaces
205
+ # before closing punctuation (e.g. «pe » -> «pe») and drops trailing spaces.
206
+ res.gsub!(TRAILING_SPACES_REGEX, '\1')
207
+ return res
142
208
  end
143
-
209
+
210
+ # Implicit vowel 'a' before 'a-chung preceded by a consonant/subscript
211
+ string.gsub!(A_CHUNG_REGEX, '\1aའ')
212
+
144
213
  insert_default_vowel!(string)
145
214
 
146
- character_table = Module.const_get(to.to_s.capitalize)::CHARACTER_TABLE
147
- string.to_s.gsub(/#{Regexp.union(character_table.keys).source}/i, character_table)
148
- end
149
- alias_method :t, :transliterate
215
+ # Exception: distinguish prefix 'g' and root 'y' (g.y) from root 'g' and subjoined 'y' (gy)
216
+ string.gsub!("གཡ", "ག.ཡ")
150
217
 
151
- def insert_default_vowel!(string="")
152
- # 1. after subscript
153
- if (string.chars & VOWELS).empty?
154
- index = string.rindex(/#{SUBSCRIPTS.join('|')}/)
155
- string = string.insert(index+1, DEFAULT_VOWEL) unless index.nil?
218
+ if to == :tibetan
219
+ string.gsub(CHARACTER_TABLE_REGEX, CHARACTER_TABLE)
220
+ else
221
+ character_table = Module.const_get(to.to_s.capitalize)::CHARACTER_TABLE
222
+ string.gsub(/#{Regexp.union(character_table.keys).source}/i, character_table)
156
223
  end
157
- # 2. after consonant, if not added in 1st step
158
- if (string.chars & VOWELS).empty? && (string.chars & CONSONANTS).any?
159
- index = string.size > 2 ? 1 : 0
160
- string = string.insert(index+1, DEFAULT_VOWEL) unless index.nil?
224
+ end
225
+ alias t transliterate
226
+
227
+ private
228
+
229
+ def insert_default_vowel!(string)
230
+ return if VOWELS_REGEX.match?(string)
231
+
232
+ if (sub_idx = string.rindex(SUBSCRIPTS_REGEX))
233
+ string.insert(sub_idx + 1, DEFAULT_VOWEL)
234
+ elsif CONSONANTS_REGEX.match?(string)
235
+ # Count ONLY Tibetan consonants/subscripts to identify the root letter.
236
+ # We ignore inline punctuation (like ») to avoid inflating the string size
237
+ # and placing the implicit 'a' in the wrong position.
238
+ tibetan_chars_count = 0
239
+ string.each_char do |c|
240
+ tibetan_chars_count += 1 if CONSONANTS_SUBSCRIPTS_SET.include?(c)
241
+ end
242
+ root_idx = tibetan_chars_count > 2 ? 1 : 0
243
+
244
+ # Find the actual string index corresponding to the root consonant
245
+ current = -1
246
+ actual_index = -1
247
+ string.each_char.with_index do |c, i|
248
+ next unless CONSONANTS_SUBSCRIPTS_SET.include?(c)
249
+
250
+ current += 1
251
+ if current == root_idx
252
+ actual_index = i
253
+ break
254
+ end
255
+ end
256
+ string.insert(actual_index + 1, DEFAULT_VOWEL) if actual_index >= 0
161
257
  end
162
258
  end
163
259
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tibetan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rovetz
@@ -13,70 +13,71 @@ dependencies:
13
13
  name: bundler
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
16
+ - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '2.6'
18
+ version: '2.0'
19
19
  type: :development
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
- - - "~>"
23
+ - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: '2.6'
25
+ version: '2.0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: rake
27
+ name: minitest
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - "~>"
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '13.2'
32
+ version: '5.16'
33
33
  type: :development
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '13.2'
39
+ version: '5.16'
40
40
  - !ruby/object:Gem::Dependency
41
- name: minitest
41
+ name: rake
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: '5.25'
46
+ version: '13.0'
47
47
  type: :development
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '5.25'
53
+ version: '13.0'
54
54
  description: Romanization (transliteration) of Tibetan. Converts Tibetan text to the
55
55
  Roman (Latin) script using THL EWTS (Extended Wylie Transliteration Scheme)
56
56
  email:
57
57
  - zakbox@gmail.com
58
- executables: []
58
+ executables:
59
+ - tibetan
59
60
  extensions: []
60
61
  extra_rdoc_files: []
61
62
  files:
62
- - ".gitignore"
63
- - ".travis.yml"
63
+ - ".rubocop.yml"
64
+ - ".ruby-version"
64
65
  - CHANGELOG.md
65
66
  - CODE_OF_CONDUCT.md
66
- - Gemfile
67
- - Gemfile.lock
68
67
  - LICENSE.txt
69
68
  - README.md
70
69
  - Rakefile
71
- - bin/console
72
- - bin/setup
70
+ - exe/tibetan
73
71
  - lib/tibetan.rb
74
72
  - lib/tibetan/version.rb
75
- - tibetan.gemspec
76
73
  homepage: https://github.com/rovetz/tibetan
77
74
  licenses:
78
75
  - MIT
79
- metadata: {}
76
+ metadata:
77
+ source_code_uri: https://github.com/rovetz/tibetan
78
+ changelog_uri: https://github.com/rovetz/tibetan/blob/main/CHANGELOG.md
79
+ bug_tracker_uri: https://github.com/rovetz/tibetan/issues
80
+ rubygems_mfa_required: 'true'
80
81
  rdoc_options: []
81
82
  require_paths:
82
83
  - lib
@@ -84,14 +85,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
85
  requirements:
85
86
  - - ">="
86
87
  - !ruby/object:Gem::Version
87
- version: '0'
88
+ version: 3.0.0
88
89
  required_rubygems_version: !ruby/object:Gem::Requirement
89
90
  requirements:
90
91
  - - ">="
91
92
  - !ruby/object:Gem::Version
92
93
  version: '0'
93
94
  requirements: []
94
- rubygems_version: 3.6.7
95
+ rubygems_version: 4.0.16
95
96
  specification_version: 4
96
97
  summary: Romanization (transliteration) of Tibetan
97
98
  test_files: []
data/.gitignore DELETED
@@ -1,8 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.5.0
5
- before_install: gem install bundler -v 1.16.1
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
- # Specify your gem's dependencies in tibetan.gemspec
6
- gemspec
data/Gemfile.lock DELETED
@@ -1,22 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- tibetan (0.1.3)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- minitest (5.25.5)
10
- rake (13.2.1)
11
-
12
- PLATFORMS
13
- ruby
14
-
15
- DEPENDENCIES
16
- bundler (~> 2.6)
17
- minitest (~> 5.25)
18
- rake (~> 13.2)
19
- tibetan!
20
-
21
- BUNDLED WITH
22
- 2.6.7
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "tibetan"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/tibetan.gemspec DELETED
@@ -1,27 +0,0 @@
1
- lib = File.expand_path("../lib", __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
-
4
- require "tibetan/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "tibetan"
8
- spec.version = Tibetan::VERSION
9
- spec.authors = ["rovetz"]
10
- spec.email = ["zakbox@gmail.com"]
11
-
12
- spec.summary = "Romanization (transliteration) of Tibetan"
13
- spec.description = "Romanization (transliteration) of Tibetan. Converts Tibetan text to the Roman (Latin) script using THL EWTS (Extended Wylie Transliteration Scheme)"
14
- spec.homepage = "https://github.com/rovetz/tibetan"
15
- spec.license = "MIT"
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
- f.match(%r{^(test|spec|features)/})
19
- end
20
- spec.bindir = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
23
-
24
- spec.add_development_dependency "bundler", "~> 2.6"
25
- spec.add_development_dependency "rake", "~> 13.2"
26
- spec.add_development_dependency "minitest", "~> 5.25"
27
- end