i18n-js 0.1.2 → 0.1.3
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/lib/i18n-js.rb +2 -18
- data/lib/i18n-js/version.rb +1 -1
- data/test/i18n_js_test.rb +0 -12
- metadata +1 -1
data/lib/i18n-js.rb
CHANGED
@@ -48,7 +48,7 @@ module SimplesIdeias
|
|
48
48
|
end
|
49
49
|
|
50
50
|
# Copy configuration and JavaScript library files to
|
51
|
-
# <tt>
|
51
|
+
# <tt>config/i18n-js.yml</tt> and <tt>public/javascripts/i18n.js</tt>.
|
52
52
|
def setup!
|
53
53
|
FileUtils.cp File.dirname(__FILE__) + "/../source/i18n.js", javascript_file
|
54
54
|
FileUtils.cp(File.dirname(__FILE__) + "/../source/i18n-js.yml", config_file) unless config?
|
@@ -69,7 +69,7 @@ module SimplesIdeias
|
|
69
69
|
File.open(file, "w+") do |f|
|
70
70
|
f << %(var I18n = I18n || {};\n)
|
71
71
|
f << %(I18n.translations = );
|
72
|
-
f <<
|
72
|
+
f << translations.to_json
|
73
73
|
f << %(;)
|
74
74
|
end
|
75
75
|
end
|
@@ -118,21 +118,5 @@ module SimplesIdeias
|
|
118
118
|
def deep_merge!(target, hash) # :nodoc:
|
119
119
|
target.merge!(hash, &MERGER)
|
120
120
|
end
|
121
|
-
|
122
|
-
# Taken from http://seb.box.re/2010/1/15/deep-hash-ordering-with-ruby-1-8/
|
123
|
-
def sorted_hash(object, deep = false) # :nodoc:
|
124
|
-
if object.is_a?(Hash)
|
125
|
-
res = ActiveSupport::OrderedHash.new.tap do |map|
|
126
|
-
object.each {|k, v| map[k] = deep ? sorted_hash(v, deep) : v }
|
127
|
-
end
|
128
|
-
return res.class[res.sort {|a, b| a[0].to_s <=> b[0].to_s } ]
|
129
|
-
elsif deep && object.is_a?(Array)
|
130
|
-
array = Array.new
|
131
|
-
object.each_with_index {|v, i| array[i] = sorted_hash(v, deep) }
|
132
|
-
return array
|
133
|
-
else
|
134
|
-
return object
|
135
|
-
end
|
136
|
-
end
|
137
121
|
end
|
138
122
|
end
|
data/lib/i18n-js/version.rb
CHANGED
data/test/i18n_js_test.rb
CHANGED
@@ -131,18 +131,6 @@ class I18nJSTest < ActiveSupport::TestCase
|
|
131
131
|
assert_equal target[:a], {:b => 1, :c => 2}
|
132
132
|
end
|
133
133
|
|
134
|
-
test "sorted hash" do
|
135
|
-
assert_equal [:a, :b, :c], SimplesIdeias::I18n.sorted_hash(:b => 1, :a => 2, :c => 3).keys
|
136
|
-
end
|
137
|
-
|
138
|
-
test "sorted multi-levels hash" do
|
139
|
-
hash = {
|
140
|
-
:foo => {:b => 1, :a => 2, :c => 3}
|
141
|
-
}
|
142
|
-
|
143
|
-
assert_equal [:a, :b, :c], SimplesIdeias::I18n.sorted_hash(hash[:foo]).keys
|
144
|
-
end
|
145
|
-
|
146
134
|
test "update javascript library" do
|
147
135
|
FakeWeb.register_uri(:get, "http://github.com/fnando/i18n-js/raw/master/lib/i18n.js", :body => "UPDATED")
|
148
136
|
|