bible_ref 1.6.0 → 1.7.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: ab0bb0edca332ec87f43dd6ce4db0aab05e1bde7fe7a56c4a8d90be9a77717f3
4
- data.tar.gz: 4464a27ea0b9595a8590f82ef6aa4d603d50dfef18340f6678e9b7aa20a19f8b
3
+ metadata.gz: 2eea226f102d44c7b14f79bc667d0618da40de07c71c110ae0c41d8677e9683d
4
+ data.tar.gz: 6116fe530e9a2f38ff4dc5441fca6ca7d2b0c3968e2c7bc5dc2d333845b5b6a8
5
5
  SHA512:
6
- metadata.gz: c0d9db5be84e5ec8a6d0be7d342d8ba9a70833a0363f6cd229ebde28d5b9e0aa87d1c8c986921a0c8e8e5e7bc23f6c0e98f3a48a88389e75f0a1297a0856a352
7
- data.tar.gz: 0bac20acb345b2de1d5d13a81061ad13318fb04231643b7cac6bf248081ef9e9bd317de0ecc7fcbb1371ecca23038ba18c2f33d7baf7845c25ed08dc32ffeffa
6
+ metadata.gz: f2f5194a238d50834122de3360613dc76488f6fe5ac5b347e50ca8c3377f44024642c1b9d4359347cdb03aa98418441797e7399571a16349e74e47b5047df3f8
7
+ data.tar.gz: 456a718b4f62ea241b4ac1cd1bf4f4f335260eee91c30fb41c30cdd583396a5eb66ee92afce6ac27288926080bc1fcfb25a9eefbcd97dbadfbb065902b130c33
@@ -0,0 +1,106 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative 'base'
3
+
4
+ module BibleRef
5
+ module Languages
6
+ class Russian < Base
7
+ # Is it a single chapter book?
8
+ def has_single_chapter?(reference)
9
+ matches = [/^авд(и[йя])?/, /^иуды?/, /^2 ?и(оа)?нн?а?/, /^3 ?и(оа)?нн?а?/, /^ф(лм|ил(имон)?у?)/]
10
+ return Regexp.union(matches).match?(reference.downcase)
11
+ end
12
+
13
+ def books
14
+ {
15
+ 'GEN' => { match: /^быт(и[её])?/, name: 'Бытие' }, # Быт, Бытие
16
+ 'EXO' => { match: /^исх(од)?/, name: 'Исход' }, # Исх, Исход
17
+ 'LEV' => { match: /^лев(ит)?/, name: 'Левит' }, # Лев, Левит
18
+ 'NUM' => { match: /^чис(е?ла?)?/, name: 'Числа' }, # Чис, Числа
19
+ 'DEU' => { match: /^втор(озаконие)?/, name: 'Второзаконие' }, # Втор, Второзаконие
20
+ 'JOS' => { match: /^(иисус )?нав(ин)?/, name: 'Иисус Навин' }, # Нав, Иисус Навин
21
+ 'JDG' => { match: /^суд(ей|ьи)/, name: 'Судьи' }, # Суд, Судьи, Судей
22
+ 'RUT' => { match: /^руф[ьи]?/, name: 'Руфь' }, # Руф, Руфь, Руфи
23
+ '1SA' => { match: /^1 ?(цар(ств)?|сам(уила?)?)/, name: '1 Царств' }, # 1 Цар, 1 Царств, 1 Сам, 1 Самуила
24
+ '2SA' => { match: /^2 ?(цар(ств)?|сам(уила?)?)/, name: '2 Царств' }, # 2 Цар, 2 Царств, 2 Сам, 2 Самуила
25
+ '1KI' => { match: /^3 ?цар(ств)?/, name: '3 Царств' }, # 3 Цар, 3 Царств
26
+ '2KI' => { match: /^4 ?цар(ств)?/, name: '4 Царств' }, # 4 Цар, 4 Царств
27
+ '1CH' => { match: /^2 ?пар(алипоменон)/, name: '1 Паралипоменон' }, # 1 Пар, 1 Паралипоменон
28
+ '2CH' => { match: /^2 ?пар(алипоменон)/, name: '2 Паралипоменон' }, # 2 Пар, 2 Паралипоменон
29
+ 'EZR' => { match: /^езд(р[аы])?/, name: 'Ездра' }, # Ездр, Ездра, Ездры
30
+ 'NEH' => { match: /^неем(и[яи])?/, name: 'Неемия' }, # Неем, Неемия, Неемии
31
+ 'EST' => { match: /^[еэ]сф(ир[ьи])?/, name: 'Есфирь' }, # Есф, Есфирь, Есфири
32
+ 'JOB' => { match: /^иова?/, name: 'Иов' }, # Иов, Иова
33
+ 'PSA' => { match: /^пс(ал(т[ыи]рь|мы))?/, name: 'Псалтирь' }, # Пс, Псалтирь, Псалмы
34
+ 'PRO' => { match: /^пр(итч(и|ей))?/, name: 'Притчи' }, # Притч, Притчи, Притчей
35
+ 'ECC' => { match: /^[еэ]ккл(езиаста?)?/, name: 'Екклезиаст' }, # Еккл, Екклезиаст, Екклезиаста
36
+ 'SNG' => { match: /^пес(н[ья])?/, name: 'Песнь песней' }, # Пес, Песнь Песней, Песня Песен
37
+ 'ISA' => { match: /^ис(а[ий][яи])?/, name: 'Исаия' }, # Ис, Исаия, Исайя, Исаии, Исайи
38
+ 'JER' => { match: /^иер(еми[яи])?/, name: 'Иеремия' }, # Иер, Иеремия, Иеремии
39
+ 'LAM' => { match: /^пл(ач)?( ?иер(емии)?)?/, name: 'Плач Иеремии' }, # Плач, Плач Иеремии
40
+ 'EZK' => { match: /^иез(екииль)?/, name: 'Иезекииль' }, # Иез, Иезекииль
41
+ 'DAN' => { match: /^дан(иила?)?/, name: 'Даниил' }, # Дан, Даниил, Даниила
42
+ 'HOS' => { match: /^ос(и[яи])?/, name: 'Осия' }, # Ос, Осия, Осии
43
+ 'JOL' => { match: /^иоил([ья])?/, name: 'Иоиль' }, # Иоил, Иоиль, Иоиля
44
+ 'AMO' => { match: /^ам(оса?)?/, name: 'Амос' }, # Ам, Амос, Амоса
45
+ 'OBA' => { match: /^авд(и[йя])?/, name: 'Авдий' }, # Авд, Авдий, Авдия
46
+ 'JON' => { match: /^ион[аы]?/, name: 'Иона' }, # Ион, Иона, Ионы
47
+ 'MIC' => { match: /^мих(е[йя])?/, name: 'Михей' }, # Мих, Михей, Михея
48
+ 'NAM' => { match: /^наума?/, name: 'Наум' }, # Наум, Наума
49
+ 'HAB' => { match: /^авв(акума?)?/, name: 'Аввакум' }, # Авв, Аввакум, Аввакума
50
+ 'ZEP' => { match: /^соф(они[яи])?/, name: 'Софония' }, # Соф, Софония, Софонии
51
+ 'HAG' => { match: /^агг(е[йя])?/, name: 'Аггей' }, # Агг, Аггей, Аггея
52
+ 'ZEC' => { match: /^зах(ари[яи]?)/, name: 'Захария' }, # Зах, Захария, Захарии
53
+ 'MAL' => { match: /^мал(ахи[яи]?)/, name: 'Малахия' }, # Мал, Малахия, Малахии
54
+
55
+ 'TOB' => { match: /^тов(ита?)?/, name: 'Товит' }, # Тов, Товит, Товита
56
+ 'JDT' => { match: /^иудиф[ьи]?/, name: 'Иудифь' }, # Иуд, Иудифь
57
+ 'ESG' => { match: /^[еэ]сф(ирь)? ?\(гр(еч(еская)?)?\)/, name: 'Есфирь (Греческая)' }, # Есф (греч), Есфирь (Греческая)
58
+ 'WIS' => { match: /^прем(удрост[ьи])?( ?сол(омона)?)?/, name: 'Премудрость Соломона' }, # Прем, Премудрость Соломона
59
+ 'SIR' => { match: /^сир(аха?)?/, name: 'Сирах' }, # Сир, Сирах, Сираха
60
+ 'BAR' => { match: /^вар(уха?)?/, name: 'Варух' }, # Вар, Варух, Варуха
61
+ 'LJE' => { match: /^посл(ание)?( ?иер(емии)?)?/, name: 'Послание Иеремии' }, # Посл, Послание Иеремии
62
+ 'S3Y' => { match: /^пес(н[ья]?)?( ?тр[её]х|3-?х?)( ?(свят(ых)?)?( ?отр(оков)?)?)?/, name: 'Песнь Трех Отроков' }, # Песн Трех Св.
63
+
64
+ 'SUS' => { match: /^сус(анн[аы])?/, name: 'Сусанна' }, # Сус, Сусанна
65
+ 'BEL' => { match: /^бел( ?и дракон)?/, name: 'Бел и дракон' }, # Бел, Бел и Дракон
66
+ '1MA' => { match: /^1 ?мак(кавейская)?/, name: '1 Маккавейская' }, # 1 Мак, 1 Маккавейская
67
+ '2MA' => { match: /^2 ?мак(кавейская)?/, name: '2 Маккавейская' }, # 2 Мак, 2 Маккавейская
68
+ '1ES' => { match: /^1 ?ездр(ы)?/, name: '1 Ездры' }, # 1 Ездр, 1 Ездры
69
+ 'MAN' => { match: /^мол(итва)?( ?манассии)?/, name: 'Молитва Манассии' }, # Мол, Молитва Манассии
70
+ 'PS2' => { match: /^пс(алом)? ?\(?151\)?/, name: 'Псалом 151' }, # Пс 151, Псалом 151
71
+ '3MA' => { match: /^3 ?мак(кавейская)?/, name: '3 Маккавейская' }, # 3 Мак, 3 Маккавейская
72
+ '2ES' => { match: /^2 ?езд(ры?)?/, name: '2 Ездры' }, # 2 Ездр, 2 Ездры
73
+ '4MA' => { match: /^4 ?мак(кавейская)?/, name: '4 Маккавейская' }, # 4 Мак, 4 Маккавейская
74
+
75
+ 'MAT' => { match: /^мат(ф(е[йя])?)?|мф/, name: 'Матфея' }, # Мф, Мат, Матфея
76
+ 'MRK' => { match: /^мар(ка?)?|мк/, name: 'Марка' }, # Мк, Марк, Марка
77
+ 'LUK' => { match: /^лук(и)?/, name: 'Луки' }, # Лк, Лук, Луки
78
+ 'JHN' => { match: /^и(оа)?нн?а?/, name: 'Иоанна' }, # Ин, Инн, Иоанн, Иоанна
79
+ 'ACT' => { match: /^деян(и[яй])?/, name: 'Деяния' }, # Деян, Деяния
80
+ 'ROM' => { match: /^рим(лянам)?/, name: 'Римлянам' }, # Рим, Римлянам
81
+ '1CO' => { match: /^1 ?кор(инфянам)?/, name: '1 Коринфянам' }, # 1 Кор, 1 Коринфянам
82
+ '2CO' => { match: /^2 ?кор(инфянам)?/, name: '2 Коринфянам' }, # 2 Кор, 2 Коринфянам
83
+ 'GAL' => { match: /^гал(атам)?/, name: 'Галатам' }, # Гал, Галатам
84
+ 'EPH' => { match: /^[еэ]ф(есянам)?/, name: 'Ефесянам' }, # Еф, Ефесянам
85
+ 'PHP' => { match: /^флп/, name: 'Филиппийцам' }, # Флп, Филиппийцам
86
+ 'COL' => { match: /^кол(оссянам)?/, name: 'Колоссянам' }, # Кол, Колоссянам
87
+ '1TH' => { match: /^1 ?фес(с(алоникийцам)?)?/,name: '1 Фессалоникийцам' }, # 1 Фес, 1 Фессалоникийцам
88
+ '2TH' => { match: /^2 ?фес(с(алоникийцам)?)?/,name: '2 Фессалоникийцам' }, # 2 Фес, 2 Фессалоникийцам
89
+ '1TI' => { match: /^1 ?тим(офею)?/, name: '1 Тимофею' }, # 1 Тим, 1 Тимофею
90
+ '2TI' => { match: /^2 ?тим(офею)?/, name: '2 Тимофею' }, # 2 Тим, 2 Тимофею
91
+ 'TIT' => { match: /^титу?/, name: 'Титу' }, # Тит, Титу
92
+ 'PHM' => { match: /^флм/, name: 'Филимону' }, # Флм, Филимону
93
+ 'HEB' => { match: /^евр(еям)?/, name: 'Евреям' }, # Евр, Евреям
94
+ 'JAS' => { match: /^иак(ова?)?/, name: 'Иакова' }, # Иак, Иаков, Иакова
95
+ '1PE' => { match: /^1 ?пет(ра?)?/, name: '1 Петра' }, # 1 Пет, 1 Петра
96
+ '2PE' => { match: /^2 ?пет(ра?)?/, name: '2 Петра' }, # 2 Пет, 2 Петра
97
+ '1JN' => { match: /^1 ?и(оа)?нн?а?/, name: '1 Иоанна' }, # 1 Ин, 1 Иоанн, 1 Иоанна
98
+ '2JN' => { match: /^2 ?и(оа)?нн?а?/, name: '2 Иоанна' }, # 2 Ин, 2 Иоанн, 2 Иоанна
99
+ '3JN' => { match: /^3 ?и(оа)?нн?а?/, name: '3 Иоанна' }, # 3 Ин, 3 Иоанн, 3 Иоанна
100
+ 'JUD' => { match: /^иуды?/, name: 'Иуды' }, # Иуд, Иуды
101
+ 'REV' => { match: /^отк(ровение)?/, name: 'Откровение' } # Откр, Откровение
102
+ }
103
+ end
104
+ end
105
+ end
106
+ end
@@ -1,17 +1,19 @@
1
1
  require_relative 'languages/cherokee'
2
+ require_relative 'languages/czech'
2
3
  require_relative 'languages/english'
3
4
  require_relative 'languages/latin'
4
5
  require_relative 'languages/portuguese'
5
6
  require_relative 'languages/romanian'
6
- require_relative 'languages/czech'
7
+ require_relative 'languages/russian'
7
8
 
8
9
  module BibleRef
9
10
  LANGUAGES = {
10
11
  'chr' => Languages::Cherokee,
12
+ 'cze' => Languages::Czech,
11
13
  'eng' => Languages::English,
12
14
  'lat' => Languages::Latin,
13
15
  'por' => Languages::Portuguese,
14
16
  'ron' => Languages::Romanian,
15
- 'cze' => Languages::Czech
17
+ 'rus' => Languages::Russian
16
18
  }.freeze
17
19
  end
@@ -1,3 +1,3 @@
1
1
  module BibleRef
2
- VERSION = '1.6.0'
2
+ VERSION = '1.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bible_ref
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-03 00:00:00.000000000 Z
11
+ date: 2024-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet
@@ -72,6 +72,7 @@ files:
72
72
  - lib/bible_ref/languages/latin.rb
73
73
  - lib/bible_ref/languages/portuguese.rb
74
74
  - lib/bible_ref/languages/romanian.rb
75
+ - lib/bible_ref/languages/russian.rb
75
76
  - lib/bible_ref/parser.rb
76
77
  - lib/bible_ref/reference.rb
77
78
  - lib/bible_ref/version.rb
@@ -94,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
95
  - !ruby/object:Gem::Version
95
96
  version: '0'
96
97
  requirements: []
97
- rubygems_version: 3.5.3
98
+ rubygems_version: 3.5.16
98
99
  signing_key:
99
100
  specification_version: 4
100
101
  summary: Bible reference parser