petrovich 0.0.1 → 0.0.2
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.
- data/README.md +21 -8
- metadata +2 -2
data/README.md
CHANGED
@@ -30,11 +30,11 @@ p.firstname('Пётр', :dative) # => Петру
|
|
30
30
|
p.lastname('Сергеевич', :dative) # => Сергеевичу
|
31
31
|
```
|
32
32
|
|
33
|
-
Конструктор класса
|
33
|
+
Конструктор класса `Petrovich` принимает в качестве единственного аргумента пол. Пол может иметь значения `:male`, `:female` или `:both`. Последнее означает, что имя не склоняется по родам (обычно, это не нужно).
|
34
34
|
|
35
35
|
### Продвинутое использование
|
36
36
|
|
37
|
-
Вы можете подмешать модуль
|
37
|
+
Вы можете подмешать модуль `Petrovich::Extension` в любой класс. Это особенно полезно при использовании `ActiveRecord` и подобных ORM.
|
38
38
|
|
39
39
|
```ruby
|
40
40
|
class User < ActiveRecord::Base
|
@@ -62,6 +62,7 @@ end
|
|
62
62
|
|
63
63
|
```ruby
|
64
64
|
class Person
|
65
|
+
include Petrovich::Extension
|
65
66
|
|
66
67
|
petrovich :firstname => :name,
|
67
68
|
:middlename => :patronymic,
|
@@ -81,20 +82,20 @@ class Person
|
|
81
82
|
end
|
82
83
|
```
|
83
84
|
|
84
|
-
В примерах выше, вы указываете при помощи метода `petrovich` соответствие фамилии, имени и отчества
|
85
|
+
В примерах выше, вы указываете при помощи метода `petrovich` соответствие фамилии, имени и отчества методам или атрибутам класса. После этого, вы легко можете склонять имена, используя следующий синтаксис вызовов:
|
85
86
|
|
86
87
|
```ruby
|
87
88
|
user = User.new
|
88
89
|
user.my_firstname # => Пётр
|
89
|
-
user.my_firstname_dative => Петру
|
90
|
+
user.my_firstname_dative # => Петру
|
90
91
|
```
|
91
92
|
|
92
93
|
и для второго примера:
|
93
94
|
|
94
95
|
```ruby
|
95
|
-
person =
|
96
|
+
person = Person.new
|
96
97
|
person.name # => Иван
|
97
|
-
person.name_dative => Ивану
|
98
|
+
person.name_dative # => Ивану
|
98
99
|
```
|
99
100
|
|
100
101
|
Вы просто добавляете `_падеж` в конец имени оригинального метода и получаете нужное значение. Вот список суффиксов, которые вы можете добавить к имени оригинального метода, чтобы получить имя в нужном падаже:
|
@@ -109,13 +110,25 @@ person.name_dative => Ивану
|
|
109
110
|
## Разработчики
|
110
111
|
|
111
112
|
* [Андрей Козлов](https://github.com/tanraya) - идея, реализация
|
112
|
-
* [Дмитрий Усталов](
|
113
|
+
* [Дмитрий Усталов](http://eveel.ru) - неоценимая помощь
|
114
|
+
|
115
|
+
## Дальнейшее развитие
|
116
|
+
|
117
|
+
Мы планируем и далее улучшать этот проект. Поэтому, нам важен отклик от других разработчиков, использующих этот гем. Вот наши планы:
|
118
|
+
|
119
|
+
* Добавить debug-mode, чтобы видеть, какое именно правило применилось
|
120
|
+
* Cli-interface, чтобы работать с гемом из коммандной строки
|
121
|
+
* Веб-интерфейс для проверки имён (ф.и.о) и их логгирования, для улучшения правил распознавания.
|
122
|
+
* Больше тестов
|
123
|
+
* Проверка работы с mongoid и mongo-mapper
|
124
|
+
|
125
|
+
Если вы хотите помочь этому проекту, вы можете реализовать любой план из перечисленных выше. Но прежде свяжитесь с разработчиками, чтобы ваши и наши планы не пересекались.
|
113
126
|
|
114
127
|
## Содействие
|
115
128
|
|
116
129
|
Если вы нашли баги, как программной части, так и в словаре, вы всегда можете форкнуть репозиторий и внести необходимые правки. Ваша помощь не останется незамеченной. Если вы заметили ошибки при склонении падежей имён, фамилий или отчеств, можете написать об этом в issues. Проблема будет сразу же исследована и решена.
|
117
130
|
|
118
|
-
Как всегда, чтобы помочь, вам нужно:
|
131
|
+
Не стесняйтесь добавлять улучшения. Как всегда, чтобы помочь, вам нужно:
|
119
132
|
|
120
133
|
1. Fork it
|
121
134
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: petrovich
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|