russian_inflect 0.0.3 → 0.0.4

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
  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