bible_ref 1.6.0 → 1.8.0

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: ab0bb0edca332ec87f43dd6ce4db0aab05e1bde7fe7a56c4a8d90be9a77717f3
4
- data.tar.gz: 4464a27ea0b9595a8590f82ef6aa4d603d50dfef18340f6678e9b7aa20a19f8b
3
+ metadata.gz: 94f082914e94ccc545237ab180482839f16d2f3e3a41ce235563127ce2f1799d
4
+ data.tar.gz: '00453549f20461b499f1c0e5ab043113b8b8138aaf5fc953905724f580d44e67'
5
5
  SHA512:
6
- metadata.gz: c0d9db5be84e5ec8a6d0be7d342d8ba9a70833a0363f6cd229ebde28d5b9e0aa87d1c8c986921a0c8e8e5e7bc23f6c0e98f3a48a88389e75f0a1297a0856a352
7
- data.tar.gz: 0bac20acb345b2de1d5d13a81061ad13318fb04231643b7cac6bf248081ef9e9bd317de0ecc7fcbb1371ecca23038ba18c2f33d7baf7845c25ed08dc32ffeffa
6
+ metadata.gz: f85e99f90eb8e29e4fe132c55bc3d1548eac9c3b3cfd8933698ca224e33a8380e6902678ceef5390a9301d4d43216627e44838324facc9d30d1bcef769959ab8
7
+ data.tar.gz: 274d08d88609bd3ae2c62361559d4645c6364b98b9c49e18685b59547bf7ebb3c0a71b24f752fa33db8546208cdbbb6d7ba194bd16f25927d3b9bf3bf2f7f62a
@@ -0,0 +1,86 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative 'base'
3
+
4
+ module BibleRef
5
+ module Languages
6
+ class Chinese < Base
7
+
8
+ # Is it a single chapter book?
9
+ def has_single_chapter?(reference)
10
+ matches = [/^俄/, /^腓利門/, /^約翰貳/, /^約翰參/, /^猶/]
11
+ return Regexp.union(matches).match?(reference)
12
+ end
13
+
14
+ def books
15
+ {
16
+ 'GEN' => { match: /^創/, name: '創世紀'},
17
+ 'EXO' => { match: /^出/, name: '出埃及記'},
18
+ 'LEV' => { match: /^利/, name: '利未記'},
19
+ 'NUM' => { match: /^民/, name: '民數記'},
20
+ 'DEU' => { match: /^申/, name: '申命記'},
21
+ 'JOS' => { match: /^約書/, name: '約書亞記'},
22
+ 'JDG' => { match: /^士/, name: '士師記'},
23
+ 'RUT' => { match: /^路得/, name: '路得記'},
24
+ '1SA' => { match: /記上$/, name: '撒母耳記上'},
25
+ '2SA' => { match: /記下$/, name: '撒母耳記下'},
26
+ '1KI' => { match: /紀上$/, name: '列王紀上'},
27
+ '2KI' => { match: /紀下$/, name: '列王紀下'},
28
+ '1CH' => { match: /志上$/, name: '歷代志上'},
29
+ '2CH' => { match: /志下$/, name: '歷代志下'},
30
+ 'EZR' => { match: /^以斯/, name: '以斯拉記'},
31
+ 'NEH' => { match: /^尼/, name: '尼希米記'},
32
+ 'EST' => { match: /帖記$/, name: '以斯帖記'},
33
+ 'JOB' => { match: /^約伯/, name: '約伯記'},
34
+ 'PSA' => { match: /^詩/, name: '詩篇'},
35
+ 'PRO' => { match: /^箴/, name: '箴言'},
36
+ 'ECC' => { match: /^傳/, name: '傳道書'},
37
+ 'SNG' => { match: /^雅歌/, name: '雅歌'},
38
+ 'ISA' => { match: /^以賽/, name: '以賽亞書'},
39
+ 'JER' => { match: /米書$/, name: '耶利米書'},
40
+ 'LAM' => { match: /哀歌$/, name: '耶利米哀歌'},
41
+ 'EZK' => { match: /^以西/, name: '以西結書'},
42
+ 'DAN' => { match: /^但/, name: '但以理書'},
43
+ 'HOS' => { match: /^何/, name: '何西阿書'},
44
+ 'JOL' => { match: /^約珥/, name: '約珥書'},
45
+ 'AMO' => { match: /^阿/, name: '阿摩司書'},
46
+ 'OBA' => { match: /^俄/, name: '俄巴底亞書'},
47
+ 'JON' => { match: /^約拿/, name: '約拿書'},
48
+ 'MIC' => { match: /^彌/, name: '彌迦書'},
49
+ 'NAM' => { match: /^那/, name: '那鴻書'},
50
+ 'HAB' => { match: /^哈巴/, name: '哈巴谷書'},
51
+ 'ZEP' => { match: /^西/, name: '西番雅書'},
52
+ 'HAG' => { match: /^哈該/, name: '哈該書'},
53
+ 'ZEC' => { match: /^撒迦/, name: '撒迦利亞書'},
54
+ 'MAL' => { match: /^瑪/, name: '瑪拉基書'},
55
+ 'MAT' => { match: /^馬太/, name: '馬太福音'},
56
+ 'MRK' => { match: /^馬可/, name: '馬可福音'},
57
+ 'LUK' => { match: /^路加/, name: '路加福音'},
58
+ 'JHN' => { match: /^約翰福/, name: '約翰福音'},
59
+ 'ACT' => { match: /^使/, name: '使徒行傳'},
60
+ 'ROM' => { match: /^羅/, name: '羅馬書'},
61
+ '1CO' => { match: /多前書$/, name: '哥林多前書'},
62
+ '2CO' => { match: /多後書$/, name: '哥林多後書'},
63
+ 'GAL' => { match: /^加/, name: '加拉太書'},
64
+ 'EPH' => { match: /^以弗/, name: '以弗所書'},
65
+ 'PHP' => { match: /比書$/, name: '腓利比書'},
66
+ 'COL' => { match: /^歌/, name: '歌羅西書'},
67
+ '1TH' => { match: /迦前書$/, name: '帖撒羅尼迦前書'},
68
+ '2TH' => { match: /迦後書$/, name: '帖撒羅尼迦後書'},
69
+ '1TI' => { match: /太前書$/, name: '提摩太前書'},
70
+ '2TI' => { match: /太後書$/, name: '提摩太後書'},
71
+ 'TIT' => { match: /^提多/, name: '提多書'},
72
+ 'PHM' => { match: /門書$/, name: '腓利門書'},
73
+ 'HEB' => { match: /^希/, name: '希伯來書'},
74
+ 'JAS' => { match: /^雅各/, name: '雅各書'},
75
+ '1PE' => { match: /^彼得前/, name: '彼得前書'},
76
+ '2PE' => { match: /^彼得後/, name: '彼得前書'},
77
+ '1JN' => { match: /壹書$/, name: '約翰壹書'},
78
+ '2JH' => { match: /貳書$/, name: '約翰貳書'},
79
+ '3JH' => { match: /參書$/, name: '約翰參書'},
80
+ 'JUD' => { match: /^猶/, name: '猶大書'},
81
+ 'REV' => { match: /^啟/, name: '啟示錄'}
82
+ }
83
+ end
84
+ end
85
+ end
86
+ end
@@ -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,21 @@
1
1
  require_relative 'languages/cherokee'
2
+ require_relative 'languages/chinese'
3
+ require_relative 'languages/czech'
2
4
  require_relative 'languages/english'
3
5
  require_relative 'languages/latin'
4
6
  require_relative 'languages/portuguese'
5
7
  require_relative 'languages/romanian'
6
- require_relative 'languages/czech'
8
+ require_relative 'languages/russian'
7
9
 
8
10
  module BibleRef
9
11
  LANGUAGES = {
10
12
  'chr' => Languages::Cherokee,
13
+ 'zh-tw' => Languages::Chinese,
14
+ 'cze' => Languages::Czech,
11
15
  'eng' => Languages::English,
12
16
  'lat' => Languages::Latin,
13
17
  'por' => Languages::Portuguese,
14
18
  'ron' => Languages::Romanian,
15
- 'cze' => Languages::Czech
19
+ 'rus' => Languages::Russian
16
20
  }.freeze
17
- end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module BibleRef
2
- VERSION = '1.6.0'
2
+ VERSION = '1.8.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.8.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-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet
@@ -67,11 +67,13 @@ files:
67
67
  - lib/bible_ref/languages.rb
68
68
  - lib/bible_ref/languages/base.rb
69
69
  - lib/bible_ref/languages/cherokee.rb
70
+ - lib/bible_ref/languages/chinese.rb
70
71
  - lib/bible_ref/languages/czech.rb
71
72
  - lib/bible_ref/languages/english.rb
72
73
  - lib/bible_ref/languages/latin.rb
73
74
  - lib/bible_ref/languages/portuguese.rb
74
75
  - lib/bible_ref/languages/romanian.rb
76
+ - lib/bible_ref/languages/russian.rb
75
77
  - lib/bible_ref/parser.rb
76
78
  - lib/bible_ref/reference.rb
77
79
  - lib/bible_ref/version.rb
@@ -94,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
96
  - !ruby/object:Gem::Version
95
97
  version: '0'
96
98
  requirements: []
97
- rubygems_version: 3.5.3
99
+ rubygems_version: 3.5.16
98
100
  signing_key:
99
101
  specification_version: 4
100
102
  summary: Bible reference parser