petrovich 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.md +18 -18
  2. data/lib/petrovich/extension.rb +3 -4
  3. metadata +2 -2
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ![Petrovich Logo](petrovich.png)
1
+ ![Petrovich](petrovich.png)
2
2
 
3
3
  Склонение падежей русских имён, фамилий и отчеств. Вы задаёте начальное имя
4
4
  в именительном падеже, а получаете в нужном вам.
@@ -9,7 +9,9 @@
9
9
 
10
10
  Добавьте в Gemfile:
11
11
 
12
- gem 'petrovich'
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
- * genitive — родительный;
146
- * dative — дательный;
147
- * accusative — винительный;
148
- * instrumental — творительный;
149
- * prepositional предложный.
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
 
@@ -82,23 +82,22 @@ class Petrovich
82
82
  end
83
83
  end
84
84
 
85
- def petrovich_create_getter(method_name, attribute, gcase, name)
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, name, gcase)
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, name).call
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.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-06-13 00:00:00.000000000 Z
13
+ date: 2013-07-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: unicode_utils