medieval_latina 1.0.22 → 1.1.2

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: a4398fc12588191cd845586dd9bf1d35fc2c14427b9b12d9d4aef1be8ceb08ca
4
- data.tar.gz: 0a53c05242f3a014941367594ab0f8c11f849bc1895f16c73529d3ea4a6763da
3
+ metadata.gz: 65579560a9401cf75cc3d9e7d6568f2b14f6f64c3caa0a611b3a03faf81fa0a4
4
+ data.tar.gz: 61f95ebd40f96b8cdcf11a2bb77714a34ef86c5c55efd6b7272db6f0592d1f3f
5
5
  SHA512:
6
- metadata.gz: df2365b999bd5bf2cde520ededf7ba05b51bf61a8d977bf1a79c090f2fa8fe49feb7557eb5168ef1fbd1e5a83352e1127bc0e95d1dc834b0b666fc110a8835c3
7
- data.tar.gz: a865fbc4a213ddceaed7735225b2e796e9c5d1b71ba98e6c8bc2153ee99ea4a4783bf06fa5c3c7e90b2d6e459ebe14acf811059f0b5aa5ef8290eff0a5124596
6
+ metadata.gz: 76e9cf0ced395cb20317587813a34a39f2906f302544a9ef9e80e4956585f5d2d77bed2e73290ec17bb472ec82122bea3fe4034f63d4952b41473829157dc1e0
7
+ data.tar.gz: 971e926bbea37f7006e563795941f953566a3b71306541c3b60e09f4211ea7fd52f8e146bd6509e20246048ea28f52ce5dea5eec651e4cde5caf5be91e688ace
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- medieval_latina (1.0.22)
4
+ medieval_latina (1.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -23,9 +23,9 @@ Or install it yourself as:
23
23
 
24
24
  ```ruby
25
25
  ["caelum", "omnia", "pugno"].each { |word| puts MedievalLatina[word] }
26
- # "chay-loom"
27
- # "onm-nee-ah"
28
- # "poon-yoh"
26
+ # "chayloom"
27
+ # "ohm-nia"
28
+ # "poon-yoh"
29
29
  ```
30
30
 
31
31
  ## Development
@@ -3,9 +3,11 @@ class MedievalLatina
3
3
  "ad" => "add",
4
4
  "adveniat" => "ad-vayniat",
5
5
  "aeternus" => "aeternus",
6
+ "africa" => "africa",
6
7
  "alma" => "almuh",
7
8
  "amo" => "amo",
8
9
  "appello" => "appello",
10
+ "creavit" => "kray-ah-veet",
9
11
  "ego" => "ay-goh",
10
12
  "es" => "es",
11
13
  "est" => "est",
@@ -27,6 +29,8 @@ class MedievalLatina
27
29
  "sanctificetur" => "sahnk-teefee-chaytoor",
28
30
  "sextus" => "sextus",
29
31
  "stibium" => "stih-bium",
32
+ "terra" => "terra",
33
+ "terram" => "terram",
30
34
  "timeo" => "teemayo",
31
35
  "toga" => "toga"
32
36
  }.freeze
@@ -1,3 +1,3 @@
1
1
  class MedievalLatina
2
- VERSION = "1.0.22"
2
+ VERSION = "1.1.2"
3
3
  end
@@ -1,13 +1,24 @@
1
1
  require "medieval_latina/dictionary"
2
2
  require "medieval_latina/version"
3
+ require "set"
3
4
 
4
5
  class MedievalLatina
5
6
  def self.[](text)
6
- text.split(" ").map { |word|
7
+ clean(text).split(" ").map { |word|
7
8
  DICTIONARY[word.downcase] || new(word).call
8
9
  }.join(" ")
9
10
  end
10
11
 
12
+ def self.clean(text)
13
+ text.chars.map do |character|
14
+ if PUNCTUATION.member?(character)
15
+ " "
16
+ else
17
+ character
18
+ end
19
+ end.join
20
+ end
21
+
11
22
  def initialize(word)
12
23
  @index = 0
13
24
  @word = word.downcase
@@ -39,6 +50,7 @@ class MedievalLatina
39
50
  x: ->(rest) { "ks" }
40
51
  }
41
52
  CONSONENT_TEAMS = {gn: "n-y", qu: "kw"}.freeze
53
+ PUNCTUATION = Set.new([".", ",", "!"]).freeze
42
54
  SOFT_C = ["e", "i", "ae", "oe"].freeze
43
55
  SOFT_G = SOFT_C
44
56
  SOFT_T = ["i"].freeze
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.22
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jayson Virissimo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-08 00:00:00.000000000 Z
11
+ date: 2022-09-03 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.