medieval_latina 1.0.21 → 1.1.1

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: 9f2c50ed0ff5f38fc769e71563efea8dba16bf01437cfc65ba65b44141e48843
4
- data.tar.gz: 8d354a14fd2b7911cf6dbf0eabe033682ff491dd1d685c61ece984bc037c3f1f
3
+ metadata.gz: 1ef4eda31e51cce9dd3a6490027cca9232cf90c331ca910806e0b130075732b2
4
+ data.tar.gz: b748a011fe0b8b4c87d233010e1749d568f69a1e4ea9ddd29ac04a863c6d1972
5
5
  SHA512:
6
- metadata.gz: 12c29ab5a581e8fba850636d0391c2d35661170cc37bd34f9e46f4e6932424677288bb4daea8dfeb7e113fb291c4309fced60fbbfc7ccbdfc00146820c109462
7
- data.tar.gz: a0661346a78b07f636ec3a86012577d474ac2c5602d8cd5fb6ee6bbd3d1c411a2ccfbbc7fe485aeefa7f45f8a601f2b1d82bdf18203fc3cf073fd62e242ab992
6
+ metadata.gz: 34ded5e4566d025bc600f8a0643c430c7f1e306698fe3c61921f236430cc096389a35d57a4423c1d7c4291c1267c9977ffdfa5246026d8c7c88e38620584d01b
7
+ data.tar.gz: 38fbca59ce3f7bcc7aaa6a1d7742838001c17040e765950b01996c5ed456a80fff83f21689a9ee572b895cc4df4cd3b7ffb02908654e32a638e734bf5f91928d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- medieval_latina (1.0.21)
4
+ medieval_latina (1.1.1)
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,6 +3,7 @@ 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",
@@ -20,8 +21,10 @@ class MedievalLatina
20
21
  "omnia" => "ohm-nia",
21
22
  "optime" => "op-tee-may",
22
23
  "pater" => "pah-tare",
24
+ "principio" => "preen-cheepio",
23
25
  "puella" => "poo-elah",
24
26
  "quo" => "quo",
27
+ "rex" => "rex",
25
28
  "sanctificetur" => "sahnk-teefee-chaytoor",
26
29
  "sextus" => "sextus",
27
30
  "stibium" => "stih-bium",
@@ -1,3 +1,3 @@
1
1
  class MedievalLatina
2
- VERSION = "1.0.21"
2
+ VERSION = "1.1.1"
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.21
4
+ version: 1.1.1
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-07 00:00:00.000000000 Z
11
+ date: 2022-09-02 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.