petrovich 0.1.1 → 0.1.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 +18 -18
- data/lib/petrovich/extension.rb +3 -4
- metadata +2 -2
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-

|
2
2
|
|
3
3
|
Склонение падежей русских имён, фамилий и отчеств. Вы задаёте начальное имя
|
4
4
|
в именительном падеже, а получаете в нужном вам.
|
@@ -9,7 +9,9 @@
|
|
9
9
|
|
10
10
|
Добавьте в Gemfile:
|
11
11
|
|
12
|
-
|
12
|
+
```ruby
|
13
|
+
gem 'petrovich'
|
14
|
+
```
|
13
15
|
|
14
16
|
Установите гем cредствами Bundler:
|
15
17
|
|
@@ -136,17 +138,20 @@ person.my_lastname_dative # => Сафронову
|
|
136
138
|
```
|
137
139
|
|
138
140
|
Базовое имя должно быть в именительном падеже. Вы просто добавляете
|
139
|
-
`_
|
141
|
+
`_<суффикс>` в конец имени оригинального метода и получаете заданное имя
|
140
142
|
в требуемом падеже.
|
141
143
|
|
142
|
-
|
143
|
-
|
144
|
+
Названия суффиксов для методов образованы от английских названий
|
145
|
+
соответствующих падежей. Полный список поддерживаемых падежей приведён
|
146
|
+
в таблице ниже.
|
144
147
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
148
|
+
| Суффикс метода | Падеж | Характеризующий вопрос |
|
149
|
+
|----------------|--------------|------------------------|
|
150
|
+
| genitive | родительный | Кого? Чего? |
|
151
|
+
| dative | дательный | Кому? Чему? |
|
152
|
+
| accusative | винительный | Кого? Что? |
|
153
|
+
| instrumental | творительный | Кем? Чем? |
|
154
|
+
| prepositional | предложный | О ком? О чём? |
|
150
155
|
|
151
156
|
## Оценка точности
|
152
157
|
|
@@ -183,17 +188,12 @@ Pr(prepositional|female) = 99.8952%
|
|
183
188
|
|
184
189
|
## Модульные тесты
|
185
190
|
|
186
|
-
|
187
|
-
окружения `TEST_SURNAMES`:
|
188
|
-
|
189
|
-
```shell
|
190
|
-
TEST_SURNAMES=1 rspec
|
191
|
-
```
|
191
|
+
Для запуска тестов достаточно выполнить `rake spec` или просто `rake`.
|
192
192
|
|
193
193
|
## Разработчики
|
194
194
|
|
195
|
-
* [Андрей Козлов](https://github.com/tanraya)
|
196
|
-
* [Дмитрий Усталов](http://eveel.ru)
|
195
|
+
* [Андрей Козлов](https://github.com/tanraya)
|
196
|
+
* [Дмитрий Усталов](http://eveel.ru)
|
197
197
|
|
198
198
|
## Дальнейшее развитие
|
199
199
|
|
data/lib/petrovich/extension.rb
CHANGED
@@ -82,23 +82,22 @@ class Petrovich
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
-
def petrovich_create_getter(method_name, attribute, gcase
|
85
|
+
def petrovich_create_getter(method_name, attribute, gcase)
|
86
86
|
options = self.class.petrovich_configuration
|
87
87
|
reflection = options.key(attribute.to_sym) or raise "No reflection for attribute '#{attribute}'!"
|
88
88
|
|
89
89
|
self.class.send(:define_method, method_name) do
|
90
90
|
rn = Petrovich.new(options[:gender])
|
91
|
-
rn.send(reflection,
|
91
|
+
rn.send(reflection, send(attribute), gcase)
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
95
|
def method_missing(method_name, *args, &block)
|
96
96
|
if match = method_name.to_s.match(petrovich_method_regex)
|
97
97
|
attribute = match[1]
|
98
|
-
name = send(attribute)
|
99
98
|
gcase = match[2]
|
100
99
|
|
101
|
-
petrovich_create_getter(method_name, attribute, gcase
|
100
|
+
petrovich_create_getter(method_name, attribute, gcase).call
|
102
101
|
else
|
103
102
|
super
|
104
103
|
end
|
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.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-07-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: unicode_utils
|