lazier 2.6.4 → 2.6.5
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/doc/Lazier.html +30 -30
- data/doc/Lazier/Boolean.html +1 -1
- data/doc/Lazier/DateTime.html +1 -1
- data/doc/Lazier/DateTime/ClassMethods.html +1 -1
- data/doc/Lazier/Exceptions.html +1 -1
- data/doc/Lazier/Exceptions/Dump.html +1 -1
- data/doc/Lazier/Exceptions/MissingTranslation.html +1 -1
- data/doc/Lazier/Hash.html +1 -1
- data/doc/Lazier/I18n.html +697 -18
- data/doc/Lazier/Math.html +1 -1
- data/doc/Lazier/Math/ClassMethods.html +1 -1
- data/doc/Lazier/Object.html +1 -1
- data/doc/Lazier/Pathname.html +1 -1
- data/doc/Lazier/Settings.html +6 -1
- data/doc/Lazier/String.html +1 -1
- data/doc/Lazier/TimeZone.html +1 -1
- data/doc/Lazier/TimeZone/ClassMethods.html +1 -1
- data/doc/Lazier/Version.html +2 -2
- data/doc/_index.html +12 -5
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +1 -1
- data/doc/index.html +1 -1
- data/doc/method_list.html +127 -71
- data/doc/top-level-namespace.html +1 -1
- data/lib/lazier.rb +1 -0
- data/lib/lazier/i18n.rb +15 -3
- data/lib/lazier/localizer.rb +43 -0
- data/lib/lazier/version.rb +1 -1
- data/spec/lazier/localizer_spec.rb +43 -0
- metadata +6 -3
@@ -103,7 +103,7 @@
|
|
103
103
|
</div>
|
104
104
|
|
105
105
|
<div id="footer">
|
106
|
-
Generated on
|
106
|
+
Generated on Sat Feb 9 10:45:50 2013 by
|
107
107
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
108
108
|
0.8.4 (ruby-1.9.3).
|
109
109
|
</div>
|
data/lib/lazier.rb
CHANGED
data/lib/lazier/i18n.rb
CHANGED
@@ -6,11 +6,22 @@
|
|
6
6
|
|
7
7
|
module Lazier
|
8
8
|
# Provides an easy way to localized messages in a class.
|
9
|
+
#
|
10
|
+
# @attribute [r] i18n_locale
|
11
|
+
# @return [String|Symbol|nil] The current locale.
|
12
|
+
# @attribute [r] i18n_root
|
13
|
+
# @return [Symbol] The root level of the translation.
|
14
|
+
# @attribute [r] i18n_locales_path
|
15
|
+
# @return [String] The path where the translations are stored.
|
9
16
|
module I18n
|
17
|
+
attr_reader :i18n_locale
|
18
|
+
attr_reader :i18_root
|
19
|
+
attr_reader :i18n_locales_path
|
20
|
+
|
10
21
|
# Setup all I18n translations.
|
11
22
|
#
|
12
|
-
# @param root [Symbol] The root level of translation.
|
13
|
-
# @param path [String] The path where the
|
23
|
+
# @param root [Symbol] The root level of the translation.
|
24
|
+
# @param path [String] The path where the translations are stored.
|
14
25
|
def i18n_setup(root, path)
|
15
26
|
@i18n_root = root.to_sym
|
16
27
|
@i18n_locales_path = path
|
@@ -25,9 +36,10 @@ module Lazier
|
|
25
36
|
|
26
37
|
# Set the current locale for messages.
|
27
38
|
#
|
28
|
-
# @param locale [String] The new locale. Default is the current system locale.
|
39
|
+
# @param locale [String|Symbol|nil] The new locale. Default is the current system locale.
|
29
40
|
# @return [R18n::Translation] The new translation object.
|
30
41
|
def i18n=(locale)
|
42
|
+
@i18n_locale = locale
|
31
43
|
@i18n = i18n_load_locale(locale)
|
32
44
|
end
|
33
45
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# This file is part of the lazier gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
4
|
+
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
5
|
+
#
|
6
|
+
|
7
|
+
module Lazier
|
8
|
+
# A utility class to localize messages
|
9
|
+
class Localizer
|
10
|
+
include Lazier::I18n
|
11
|
+
|
12
|
+
# Initialize a new localizer.
|
13
|
+
#
|
14
|
+
# @param root [Symbol] The root level of the translation.
|
15
|
+
# @param path [String] The path where the translations are stored.
|
16
|
+
# @param locale [String|Symbol] The locale to use for localization.
|
17
|
+
def initialize(root = nil, path = nil, locale = nil)
|
18
|
+
root ||= :lazier
|
19
|
+
path ||= ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/")
|
20
|
+
self.i18n_setup(root, path)
|
21
|
+
self.i18n = locale
|
22
|
+
end
|
23
|
+
|
24
|
+
# Localize a message.
|
25
|
+
#
|
26
|
+
# @param message [String|Symbol] The message to localize.
|
27
|
+
# @param args [Array] Optional arguments to localize the message.
|
28
|
+
# @return [String|R18n::Untranslated] The localized message.
|
29
|
+
def self.localize(message, *args)
|
30
|
+
self.new.i18n.send(message, *args)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Localize a message in a specified locale.
|
34
|
+
#
|
35
|
+
# @param locale [String|Symbol] The locale to use for localization.
|
36
|
+
# @param message [String|Symbol] The message to localize.
|
37
|
+
# @param args [Array] Optional arguments to localize the message.
|
38
|
+
# @return [String|R18n::Untranslated] The localized message.
|
39
|
+
def self.localize_on_locale(locale, message, *args)
|
40
|
+
self.new(nil, nil, locale).i18n.send(message, *args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/lazier/version.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# This file is part of the lazier gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
4
|
+
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
5
|
+
#
|
6
|
+
|
7
|
+
require "spec_helper"
|
8
|
+
|
9
|
+
describe Lazier::Localizer do
|
10
|
+
describe "#initialize" do
|
11
|
+
it "should call i18n_setup and then i18n=" do
|
12
|
+
::Lazier::Localizer.any_instance.should_receive(:i18n_setup).with("ROOT", "PATH")
|
13
|
+
::Lazier::Localizer.any_instance.should_receive(:i18n=).with(:it)
|
14
|
+
Lazier::Localizer.new("ROOT", "PATH", :it)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should setup default arguments" do
|
18
|
+
::Lazier::Localizer.any_instance.should_receive(:i18n_setup).with(:lazier, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
|
19
|
+
::Lazier::Localizer.any_instance.should_receive(:i18n=).with(nil)
|
20
|
+
Lazier::Localizer.new
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe ".localize" do
|
25
|
+
it "should create a new localizer and forward the message" do
|
26
|
+
obj = Object.new
|
27
|
+
obj.should_receive(:string).with("ARGUMENT")
|
28
|
+
::Lazier::Localizer.should_receive(:new).and_call_original
|
29
|
+
::Lazier::Localizer.any_instance.should_receive(:i18n).and_return(obj)
|
30
|
+
::Lazier::Localizer.localize(:string, "ARGUMENT")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe ".localize" do
|
35
|
+
it "should create a new localizer and forward the message" do
|
36
|
+
obj = Object.new
|
37
|
+
obj.should_receive(:string).with("ARGUMENT")
|
38
|
+
::Lazier::Localizer.should_receive(:new).with(nil, nil, :it).and_call_original
|
39
|
+
::Lazier::Localizer.any_instance.should_receive(:i18n).and_return(obj)
|
40
|
+
::Lazier::Localizer.localize_on_locale(:it, :string, "ARGUMENT")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -128,6 +128,7 @@ files:
|
|
128
128
|
- lib/lazier/exceptions.rb
|
129
129
|
- lib/lazier/hash.rb
|
130
130
|
- lib/lazier/i18n.rb
|
131
|
+
- lib/lazier/localizer.rb
|
131
132
|
- lib/lazier/math.rb
|
132
133
|
- lib/lazier/object.rb
|
133
134
|
- lib/lazier/pathname.rb
|
@@ -141,6 +142,7 @@ files:
|
|
141
142
|
- spec/lazier/datetime_spec.rb
|
142
143
|
- spec/lazier/hash_spec.rb
|
143
144
|
- spec/lazier/i18n_spec.rb
|
145
|
+
- spec/lazier/localizer_spec.rb
|
144
146
|
- spec/lazier/math_spec.rb
|
145
147
|
- spec/lazier/object_spec.rb
|
146
148
|
- spec/lazier/pathname_spec.rb
|
@@ -168,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
170
|
version: '0'
|
169
171
|
segments:
|
170
172
|
- 0
|
171
|
-
hash:
|
173
|
+
hash: 4371094391757405950
|
172
174
|
requirements: []
|
173
175
|
rubyforge_project: lazier
|
174
176
|
rubygems_version: 1.8.25
|
@@ -181,6 +183,7 @@ test_files:
|
|
181
183
|
- spec/lazier/datetime_spec.rb
|
182
184
|
- spec/lazier/hash_spec.rb
|
183
185
|
- spec/lazier/i18n_spec.rb
|
186
|
+
- spec/lazier/localizer_spec.rb
|
184
187
|
- spec/lazier/math_spec.rb
|
185
188
|
- spec/lazier/object_spec.rb
|
186
189
|
- spec/lazier/pathname_spec.rb
|