russian_inflect 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: 6807e2a1c53c8a39a691d8c231ee73be6a9836b0
4
- data.tar.gz: f49d970773a35aa1264946de3f974a81a0f11f3a
3
+ metadata.gz: c307716037dd2adeaa77a714c95ad9cea3809c2f
4
+ data.tar.gz: 159838d9e8a3eda32cf893e6c93fcd08e98c95c3
5
5
  SHA512:
6
- metadata.gz: 7db2cdde34346f7180898be93172badbdbc04f5825248002a6df436505eea6f3a6473496a16db08761c200df5b04ee3c9110c6c0fe480916bd8e92a8e1089e44
7
- data.tar.gz: 327656d319157ee568a6b73cb1b450ad18feddbba61eddec2c0ee50d6b85e4066dd29ca9782f69d638afed09724c5fc41e28a5783ef9cf1bdafb8ea7d25c3e16
6
+ metadata.gz: de84706386e7b118efe2a232aa8106134e898239e459f6edd5e40077cc6ba6c0638e71b807a501958ce110be08ea6fdb27fc85e1c67703d2bbc0bc63012944b8
7
+ data.tar.gz: c8d982b06b4934cba1c46131473401ae3e6ada5791b63ebe755ff141ed7fe8c09f1b71eb373d461c303481b7951c0d69b0f20a04b3572db785d1f3bec5d3d475
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # RussianInflect
2
2
 
3
- Склонение по падежам заголовков на русском языке
3
+ Склонение по падежам заголовков на русском языке.
4
+
5
+ Многое подсмотрено в геме [petrovich](https://github.com/rocsci/petrovich). Различие в том, что RussianInflect склоняет не имена и фамилии, а словосочетания, например, названия товаров.
4
6
 
5
7
  ## Installation
6
8
 
@@ -18,17 +20,15 @@ Or install it yourself as:
18
20
 
19
21
  ## Usage
20
22
 
21
- RussianInflect.inflect("Хорошая погода", :nominative) # Хорошая погода
22
- RussianInflect.inflect("Хорошая погода", :genitive) # Хорошей погоды
23
- RussianInflect.inflect("Хорошая погода", :dative) # Хорошей погоде
24
- RussianInflect.inflect("Хорошая погода", :accusative) # Хорошую погоду
23
+ RussianInflect.inflect("Хорошая погода", :nominative) # Хорошая погода
24
+ RussianInflect.inflect("Хорошая погода", :genitive) # Хорошей погоды
25
+ RussianInflect.inflect("Хорошая погода", :dative) # Хорошей погоде
26
+ RussianInflect.inflect("Хорошая погода", :accusative) # Хорошую погоду
25
27
  RussianInflect.inflect("Хорошая погода", :instrumental) # Хорошей погодой
26
- RussianInflect.inflect("Хорошая погода", :prepositional) # Хорошей погоде
27
-
28
- ## Contributing
28
+ RussianInflect.inflect("Хорошая погода", :prepositional) # Хорошей погоде
29
29
 
30
- 1. Fork it
31
- 2. Create your feature branch (`git checkout -b my-new-feature`)
32
- 3. Commit your changes (`git commit -am 'Add some feature'`)
33
- 4. Push to the branch (`git push origin my-new-feature`)
34
- 5. Create new Pull Request
30
+ ## Помощь гему
31
+ * Нужны тесты для всяких окончаний, исключений и т.п.
32
+ Дополнять их просто: в [spec/lib/russian_inflect_spec.rb](/estum/russian_inflect/blob/master/spec/lib/russian_inflect_spec.rb) нужно добавить пример словосочетания и правильные результаты склонения по аналогии с уже добавленными примерами.
33
+ * Правила склонения пока далеки от идеала и тоже ждут своего Розенталя. Они похожи на правила из гема [petrovich](https://github.com/rocsci/petrovich) и находятся в [lib/russian_inflect/rules.yml](/estum/russian_inflect/blob/master/lib/russian_inflect/rules.yml).
34
+ * Как видите, ридми тоже не мешало бы переписать.
@@ -59,6 +59,9 @@ second_group:
59
59
  -
60
60
  test: [ы]
61
61
  mods: [-ов, -ам, ., -ами, -ах]
62
+ -
63
+ test: [ий]
64
+ mods: [-я, -ю, ., -ем, -и]
62
65
 
63
66
  third_group:
64
67
  adjective:
@@ -1,3 +1,3 @@
1
1
  class RussianInflect
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -63,7 +63,7 @@ class RussianInflect
63
63
 
64
64
  def self.detect_type(word)
65
65
  case word
66
- when /(ая|яя|ые|ие|ый|ой|ий|ое|ее)$/i then :adjective
66
+ when /(ая|яя|ые|ие|ый|ой|[^р]ий|ое|ее)$/i then :adjective
67
67
  else :noun
68
68
  end
69
69
  end
@@ -22,4 +22,9 @@ describe RussianInflect do
22
22
  source = RussianInflect.new("Красное вино")
23
23
  source.test_each_case "Красное вино", "Красного вина", "Красному вину", "Красное вино", "Красным вином", "Красном вине"
24
24
  end
25
+
26
+ it "должен правильно склонять слово «Комментарий»" do
27
+ source = RussianInflect.new("Комментарий")
28
+ source.test_each_case "Комментарий", "Комментария", "Комментарию", "Комментарий", "Комментарием", "Комментарии"
29
+ end
25
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: russian_inflect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tõnis Simo