activemodel_translation 0.1.1 → 0.2.0

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: 18eabd1967bdbb633bbbbf5c3bdf2aaa56d60b07
4
- data.tar.gz: 6b41455fb2ad0354c21a9846b51c41d576a0b147
3
+ metadata.gz: 12ebff53843af36ed15cd7e7f891e1028f0c2f72
4
+ data.tar.gz: 61f10c4225587742605f96a05a7cbc61ed020118
5
5
  SHA512:
6
- metadata.gz: d034839b7c89f08693d52d9ff0f02748e6a10644b981938b2914bda71d0f3796f78cfd036fecb5702bd2f9e115475c6bbc318e3b61c717067035396995d7abd0
7
- data.tar.gz: 21b30ea4ea2496e76b6494d1e2a24453c0c23a084244a5c5aa95ed85bf9dcdfac560c11818c6944bb8dabcaa488a73b675cb06263c5f623d4bd2ded4c1fdad60
6
+ metadata.gz: 8e371748e4bd36eaeeac59df2156118514d1929f279cde37a63895e5eabe62e84ade966f5fa6af724502ab376c5dd19e794b4e02e08e6ce464652e3d74a76f9b
7
+ data.tar.gz: bd0bab789284f5c28702dea45b9a4eb552caa62543f1b137502395d4619b8ef02539ce0954e93042d97085f91d145e400ea09170a89ed83d1a2594f14f05f0ea
data/README.md CHANGED
@@ -37,22 +37,17 @@ Or install it yourself as:
37
37
  class User < ActiveRecord::Base
38
38
  # lazy translation
39
39
  def title
40
- super || self.class.t(:'.default_title')
40
+ super || self.class.t('.default_title')
41
41
  end
42
42
  end
43
43
 
44
44
  # translated plural model name
45
- User.model_name.human(plural: true)
45
+ User.model_name.human_plural
46
46
 
47
47
  # ru.yml
48
48
  # activerecord:
49
- # models:
50
- # user:
51
- # one: Пользователь
52
- # few: Пользователя
53
- # many: Пользователей
54
- # other: Пользователя
55
- # plural: Пользователи
49
+ # models_plural:
50
+ # user: Пользователи
56
51
  ```
57
52
 
58
53
  ## Contributing
@@ -2,21 +2,18 @@ require 'active_model'
2
2
 
3
3
  module ActiveModel
4
4
  class Name
5
- def human(options={})
6
- return @human unless @klass.respond_to?(:lookup_ancestors) &&
7
- @klass.respond_to?(:i18n_scope)
8
-
9
- need_plural = options[:plural]
5
+ def human_plural(options={})
6
+ return @plural unless @klass.respond_to?(:lookup_ancestors) &&
7
+ @klass.respond_to?(:i18n_scope)
10
8
 
11
9
  defaults = @klass.lookup_ancestors.map do |klass|
12
10
  klass.model_name.i18n_key
13
11
  end
14
- defaults = defaults.map { |key| :"#{key}.plural" } if need_plural
15
12
 
16
13
  defaults << options[:default] if options[:default]
17
- defaults << (need_plural ? @plural : @human)
14
+ defaults << @plural
18
15
 
19
- options = { scope: [@klass.i18n_scope, :models], count: 1, default: defaults }.merge!(options.except(:default))
16
+ options = { scope: [@klass.i18n_scope, :models_plural], default: defaults }.merge!(options.except(:default))
20
17
  I18n.translate(defaults.shift, options)
21
18
  end
22
19
  end
@@ -1,3 +1,3 @@
1
1
  module ActivemodelTranslation
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -5,13 +5,11 @@ require 'models/person'
5
5
  class ActiveModelHumanNameTests < ::Minitest::Test
6
6
  def setup
7
7
  I18n.backend = I18n::Backend::Simple.new
8
- I18n.backend.store_translations 'ru', activemodel: { models: { person: {
9
- one: 'Пользователь',
10
- few: 'Пользователя',
11
- many: 'Пользователей',
12
- other: 'Пользователя',
13
- plural: 'Пользователи',
14
- } } }
8
+ I18n.backend.store_translations 'ru', activemodel: {
9
+ models_plural: {
10
+ person: 'Пользователи',
11
+ },
12
+ }
15
13
  I18n.locale = :ru
16
14
  @person_name = ActiveModel::Name.new(Person)
17
15
  @child_name = ActiveModel::Name.new(Child)
@@ -22,39 +20,15 @@ class ActiveModelHumanNameTests < ::Minitest::Test
22
20
  I18n.locale = :en
23
21
  end
24
22
 
25
- def test_human_with_translation
26
- assert_equal 'Пользователь', @person_name.human
27
- end
28
-
29
- def test_human_with_fallback_translation
30
- assert_equal 'Пользователь', @child_name.human
31
- end
32
-
33
- def test_human_without_translation
34
- assert_equal 'Gender', @gender_name.human
35
- end
36
-
37
- def test_human_with_count_with_translation
38
- assert_equal 'Пользователя', @person_name.human(count: 1.5)
39
- end
40
-
41
- def test_human_with_count_with_fallback_translation
42
- assert_equal 'Пользователя', @child_name.human(count: 1.5)
43
- end
44
-
45
- def test_human_with_count_without_translation
46
- assert_equal 'Gender', @gender_name.human(count: 1.5)
47
- end
48
-
49
23
  def test_plural_human_with_translation
50
- assert_equal 'Пользователи', @person_name.human(plural: true)
24
+ assert_equal 'Пользователи', @person_name.human_plural
51
25
  end
52
26
 
53
27
  def test_plural_human_with_fallback_translation
54
- assert_equal 'Пользователи', @child_name.human(plural: true)
28
+ assert_equal 'Пользователи', @child_name.human_plural
55
29
  end
56
30
 
57
31
  def test_plural_human_without_translation
58
- assert_equal 'person_genders', @gender_name.human(plural: true)
32
+ assert_equal 'person_genders', @gender_name.human_plural
59
33
  end
60
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemodel_translation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Melentiev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-20 00:00:00.000000000 Z
11
+ date: 2016-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel