medieval_latina 1.0.9 → 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8c6d52f5556df5763cfd4057b281a75d332600d0296a989e1103657f7e4c023
4
- data.tar.gz: 2afe685a09f176002e003f694b72026b99ed43a45922f65b5e26ea26a998de90
3
+ metadata.gz: 84290e98dd6ee5aa8b3efad0e07726f4b758cfd584274709e287a57199c25dd3
4
+ data.tar.gz: 757cf180c41c5b1a8278966bf5594a70805e546efbb86655845483bd5b6a3bb0
5
5
  SHA512:
6
- metadata.gz: c3265632997c23be75ad13229902b6f837489849960f0e0ae3ddd65c8cf177bfc2f036a3c42d4554c208725cfafbd1f93354e7d2bf79121c2c89a5f2190c4602
7
- data.tar.gz: a5a2effe3a04840e3415aad3215aea6817b82512333611f5d4a42870009149ce2ae1082099e2d3ec5e3c0a76e804dbe3e3fbeca898ef7e202a5eb020c6d528f2
6
+ metadata.gz: 485beda575ea4a76ed94596e379ea735813221a85a27643ac70656a76b6053c12d48bc82c4727f19c32b5f9a7a5fa839efba87bae0a0557d11ccc4ab081a4156
7
+ data.tar.gz: b76dff8ec8e2834d4810e1468e61f2f2862e24de422951c2c915bfeda5f81bc9ede4192d5c1cc8aaf2c7ed66aaf30d3969dc2bca30bfca8b68cb8b93ab3e55e9
@@ -23,6 +23,7 @@ jobs:
23
23
  - 2.5
24
24
  - 2.6
25
25
  - 2.7
26
+ - 3.0
26
27
  allow_failures:
27
28
  - false
28
29
  include:
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.0.1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- medieval_latina (1.0.9)
4
+ medieval_latina (1.0.13)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -13,7 +13,7 @@ GEM
13
13
  ast (~> 2.4.0)
14
14
  rainbow (3.0.0)
15
15
  rake (12.3.3)
16
- rexml (3.2.4)
16
+ rexml (3.2.5)
17
17
  rspec (3.9.0)
18
18
  rspec-core (~> 3.9.0)
19
19
  rspec-expectations (~> 3.9.0)
@@ -52,4 +52,4 @@ DEPENDENCIES
52
52
  standard
53
53
 
54
54
  BUNDLED WITH
55
- 2.1.2
55
+ 2.2.15
data/README.md CHANGED
@@ -22,10 +22,10 @@ Or install it yourself as:
22
22
  ## Usage
23
23
 
24
24
  ```ruby
25
- ["deus", "luna", "via"].each { |word| puts MedievalLatina[word] }
26
- # "dayoos"
27
- # "loonah"
28
- # "veeah"
25
+ ["caelum", "omnia", "pugno"].each { |word| puts MedievalLatina[word] }
26
+ # "chay-loom"
27
+ # "onm-nee-ah"
28
+ # "poon-yoh"
29
29
  ```
30
30
 
31
31
  ## Development
@@ -10,7 +10,7 @@ class MedievalLatina
10
10
 
11
11
  def initialize(word)
12
12
  @index = 0
13
- @word = word
13
+ @word = word.downcase
14
14
  end
15
15
 
16
16
  def call
@@ -35,13 +35,15 @@ class MedievalLatina
35
35
  c: ->(rest) { SOFT_C.any? { |item| rest.start_with?(item) } ? "ch" : "k" },
36
36
  g: ->(rest) { SOFT_G.any? { |item| rest.start_with?(item) } ? "j" : "g" },
37
37
  j: ->(rest) { "y" },
38
+ t: ->(rest) { SOFT_T.any? { |item| rest.start_with?(item) } ? "ts" : "t" },
38
39
  x: ->(rest) { "ks" }
39
40
  }
40
- CONSONENT_TEAMS = {gn: "n-y", qu: "kw"}
41
- SOFT_C = ["e", "i", "ae", "oe"]
41
+ CONSONENT_TEAMS = {gn: "n-y", qu: "kw"}.freeze
42
+ SOFT_C = ["e", "i", "ae", "oe"].freeze
42
43
  SOFT_G = SOFT_C
43
- VOWEL_TEAMS = {ae: "ay", oe: "ay", au: "ou"}
44
- VOWELS = {a: "ah", e: "ay", i: "ee", o: "oh", u: "oo"}
44
+ SOFT_T = ["i"].freeze
45
+ VOWEL_TEAMS = {ae: "ay", oe: "ay", au: "ou"}.freeze
46
+ VOWELS = {a: "ah", e: "ay", i: "ee", o: "oh", u: "oo"}.freeze
45
47
 
46
48
  Result = Struct.new(:substring, :increment_by)
47
49
 
@@ -74,11 +76,11 @@ class MedievalLatina
74
76
 
75
77
  def initialize(text, index)
76
78
  @character = text[index]
77
- @rest = text.chars.drop(index + 1).join
79
+ @rest = text[index + 1..-1].chars.join
78
80
  end
79
81
 
80
82
  def to_team
81
- "#{character}#{rest.chars.first}".intern
83
+ "#{character}#{rest[0]}".intern
82
84
  end
83
85
  end
84
86
 
@@ -3,10 +3,14 @@ class MedievalLatina
3
3
  "alma" => "almuh",
4
4
  "ego" => "ay-goh",
5
5
  "et" => "ate",
6
+ "es" => "es",
7
+ "est" => "est",
8
+ "estis" => "estees",
6
9
  "ex" => "ex",
7
10
  "duo" => "doo-oh",
8
11
  "mater" => "mah-tare",
9
12
  "octo" => "awk-toh",
13
+ "omnia" => "ohm-nee-ah",
10
14
  "optime" => "op-tee-may",
11
15
  "quo" => "quo"
12
16
  }.freeze
@@ -1,3 +1,3 @@
1
1
  class MedievalLatina
2
- VERSION = "1.0.9"
2
+ VERSION = "1.0.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: medieval_latina
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jayson Virissimo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-21 00:00:00.000000000 Z
11
+ date: 2021-08-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  There are good text-to-speech engines for English and classical Latin, but none for medieval Latin.
@@ -22,6 +22,7 @@ files:
22
22
  - ".github/workflows/tests.yml"
23
23
  - ".gitignore"
24
24
  - ".rspec"
25
+ - ".ruby-version"
25
26
  - Gemfile
26
27
  - Gemfile.lock
27
28
  - LICENSE.txt
@@ -56,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
57
  - !ruby/object:Gem::Version
57
58
  version: '0'
58
59
  requirements: []
59
- rubygems_version: 3.0.3
60
+ rubygems_version: 3.2.15
60
61
  signing_key:
61
62
  specification_version: 4
62
63
  summary: Transform medieval Latin text into phonetic English