serial_translator 0.0.7 → 0.0.8

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: 9873147498331662ff756c22af5464f9f24649ed
4
- data.tar.gz: 52e5b4c42b57bed0d567b8eb13d1f3520227af3b
3
+ metadata.gz: 3888085a84a5c13eff3a6b8159bafc2e834c855a
4
+ data.tar.gz: 96e42fdebaf9d2036b7f1de1c6d049025e3ec54e
5
5
  SHA512:
6
- metadata.gz: 548c93af53dc7463dbec4f3926c00b19f6ae1b89d5f9edda470cfde89edd26f7629c5e920d32c6d10bce470c33b9d97a8d1ebbcb0f112a1fd6716da30039ab20
7
- data.tar.gz: 3716942221ce1142aa56900168a324d5f62b80547a6e7e3e7e238ec4f5118ceddefc4aaa72fea8260f66b325405978450dc697d7edfdea01bbe481e8684c1328
6
+ metadata.gz: 229673f7053e2e6e87d0727ea93361a23a1ad2eddb2c35db930ea8e5da7c8d5bb3f6bd1db6f5e7318ca67e1ef2a143993873ce164e23f8cb6e838f13ce593fff
7
+ data.tar.gz: 8f3d48e07414dbdcaa33cfeabad9f4ddae2a6900d0699e6312e096fc3c25741acc4bcc7980d13636278d0dd958b86b40abc4f7b74392d72d2e8c3ae3bfa0b8d2
@@ -92,7 +92,13 @@ module SerialTranslator
92
92
  end
93
93
 
94
94
  def translations_for(attribute)
95
- __send__(:"#{attribute}_translations") || {}
95
+ translations = __send__(:"#{attribute}_translations") || {}
96
+ translations.each do |locale, string|
97
+ string.singleton_class.class_eval do
98
+ define_method(:locale) { || locale }
99
+ end
100
+ end
101
+ translations
96
102
  end
97
103
 
98
104
  def translated_into?(locale)
@@ -1,3 +1,3 @@
1
1
  module SerialTranslator
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -75,7 +75,7 @@ describe SerialTranslator::SerialTranslatorValidator do
75
75
 
76
76
  it 'validates correctly on language change as well' do
77
77
  I18n.locale = :de
78
- example.description = :something_to_make_it_pass_valid
78
+ example.description = "something to make it pass valid"
79
79
  example.title = 'Valid foo'
80
80
  expect(example).to be_valid
81
81
 
@@ -8,6 +8,7 @@ describe SerialTranslator do
8
8
  it 'returns the translated value in the requested locale' do
9
9
  object.title_translations = { de: 'German translation', en: 'English translation' }
10
10
  expect(object.title(:de)).to eq 'German translation'
11
+ expect(object.title(:de).locale).to eq :de
11
12
  end
12
13
 
13
14
  it 'provides a boolean predicate to check the presence of a translated value' do
@@ -19,11 +20,13 @@ describe SerialTranslator do
19
20
  it 'returns the origin locale value if no translation is present' do
20
21
  object.title_translations = { en: 'English translation' }
21
22
  expect(object.title(:de)).to eq 'English translation'
23
+ expect(object.title(:de).locale).to eq :en
22
24
  end
23
25
 
24
26
  it 'returns the origin locale value if the translation is empty' do
25
27
  object.title_translations = { de: '', en: 'English translation' }
26
28
  expect(object.title(:de)).to eq 'English translation'
29
+ expect(object.title(:de).locale).to eq :en
27
30
  end
28
31
 
29
32
  it 'returns nil if no translations are there at all' do
@@ -35,6 +38,7 @@ describe SerialTranslator do
35
38
  object.title_translations = { de: 'Deutsch', en: 'English' }
36
39
  object.current_translation_locale = :en
37
40
  expect(object.title).to eq 'English'
41
+ expect(object.title.locale).to eq :en
38
42
  end
39
43
 
40
44
  it 'does not fail even if translations were not initialized before' do
@@ -73,11 +77,13 @@ describe SerialTranslator do
73
77
  it 'gets the correct translation' do
74
78
  object.title_translations = { de: 'Deutsch' }
75
79
  expect(object.title_de).to eq 'Deutsch'
80
+ expect(object.title_de.locale).to eq :de
76
81
  end
77
82
 
78
83
  it 'uses fallback mechanisms as well' do
79
84
  object.title_translations = { en: 'English' }
80
85
  expect(object.title_de).to eq 'English'
86
+ expect(object.title_de.locale).to eq :en
81
87
  end
82
88
  end
83
89
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serial_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - betterplace development team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-13 00:00:00.000000000 Z
11
+ date: 2016-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -137,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  version: '0'
138
138
  requirements: []
139
139
  rubyforge_project:
140
- rubygems_version: 2.5.0
140
+ rubygems_version: 2.5.1
141
141
  signing_key:
142
142
  specification_version: 4
143
143
  summary: Translate attribute values without additional models