rabelyoda 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.1.1
@@ -4,8 +4,8 @@ class Hash
4
4
  def locale_diff(b)
5
5
  a = self
6
6
  (a.keys | b.keys).inject({}) do |diff, k|
7
- if a[k].respond_to?(:deep_diff) && b[k].respond_to?(:deep_diff)
8
- deeper_diff = a[k].deep_diff(b[k])
7
+ if a[k].respond_to?(:locale_diff) && b[k].respond_to?(:locale_diff)
8
+ deeper_diff = a[k].locale_diff(b[k])
9
9
  diff[k] = deeper_diff if deeper_diff != {}
10
10
  else
11
11
  if !a.keys.include?(k)
@@ -13,6 +13,10 @@ class Hash
13
13
  # diff[k] = 'extra'
14
14
  elsif !b.keys.include?(k)
15
15
  diff[k] = '[pls translate]' + a[k]
16
+ elsif b.keys.include?(k) && b[k] == a[k]
17
+ diff[k] = '[pls translate]' + a[k]
18
+ elsif b.keys.include?(k)
19
+ # do nothing
16
20
  else
17
21
  # keep translated strings
18
22
  diff[k] = b[k]
@@ -0,0 +1,42 @@
1
+ root = File.expand_path(File.dirname(__FILE__))
2
+ require File.join root, '../../lib/rabelyoda/hash'
3
+ require 'test/unit'
4
+
5
+ module RabelYoda
6
+ class HashTest < Test::Unit::TestCase
7
+ def setup
8
+ @en = {'user' => "User",
9
+ 'company' => 'Company',
10
+ 'position' => 'Position',
11
+ 'department' => 'Department',
12
+ 'activerecord' => {
13
+ 'validations' => {
14
+ 'email' => 'Should be like email',
15
+ 'name' => 'Should contain only letters'}
16
+ }
17
+ }
18
+ @ru = {'user' => "Пользователь",
19
+ 'company' => 'Компания',
20
+ 'position' => 'Position',
21
+ 'activerecord' => {
22
+ 'validations' => {
23
+ 'email' => 'Should be like email'},
24
+ 'age' => 'Должен быть числом'
25
+ }
26
+ }
27
+ end
28
+
29
+ def test_locale_diff
30
+ assert_equal @en.locale_diff(@ru), {
31
+ 'department' => '[pls translate]Department',
32
+ 'position' => '[pls translate]Position',
33
+ 'activerecord' => {
34
+ 'validations' => {
35
+ 'name' => '[pls translate]Should contain only letters',
36
+ 'email' => '[pls translate]Should be like email'
37
+ }
38
+ }
39
+ }
40
+ end
41
+ end
42
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 1
8
- - 0
9
- version: 1.1.0
8
+ - 1
9
+ version: 1.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Andrey Subbotin
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-23 00:00:00 -04:00
17
+ date: 2010-08-24 00:00:00 -04:00
18
18
  default_executable:
19
19
  - rabelyoda
20
20
  dependencies:
@@ -100,5 +100,5 @@ rubygems_version: 1.3.6
100
100
  signing_key:
101
101
  specification_version: 3
102
102
  summary: Rails project localization made easy
103
- test_files: []
104
-
103
+ test_files:
104
+ - test/rabelyoda/hash_test.rb