i18n_action_mailer 0.2.1 → 0.2.2

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.
@@ -0,0 +1,4 @@
1
+ = 0.2.2
2
+ * Short hand notation (larspind http://github.com/mataki/i18n_action_mailer/pull/1)
3
+ = 0.2.1
4
+ * Released on rubygems.org
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ begin
9
9
  gemspec.description = "ActionMailer to use the I18n library without affecting the controllers language"
10
10
  gemspec.email = "matsumura.aki@gmail.com"
11
11
  gemspec.homepage = "http://github.com/mataki/i18n_action_mailer"
12
- gemspec.authors = ["Akihiro Matsumura", "Bert Goethals"]
12
+ gemspec.authors = ["Akihiro Matsumura", "Bert Goethals", "Lars Pind"]
13
13
  end
14
14
  Jeweler::GemcutterTasks.new
15
15
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{i18n_action_mailer}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Akihiro Matsumura", "Bert Goethals"]
12
- s.date = %q{2010-08-10}
11
+ s.authors = ["Akihiro Matsumura", "Bert Goethals", "Lars Pind"]
12
+ s.date = %q{2010-09-21}
13
13
  s.description = %q{ActionMailer to use the I18n library without affecting the controllers language}
14
14
  s.email = %q{matsumura.aki@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  ]
18
18
  s.files = [
19
19
  ".gitignore",
20
+ "History.txt",
20
21
  "MIT-LICENSE",
21
22
  "README",
22
23
  "Rakefile",
@@ -3,12 +3,31 @@ module I18nActionMailer
3
3
  def self.included(base)
4
4
  base.send :include, I18nActionMailer::InstanceMethods
5
5
  base.send :alias_method_chain, :render_message, :i18n
6
- base.helper_method :locale, :t, :translate, :l, :localize
6
+ base.helper_method :locale, :l, :localize
7
+ base.helper do
8
+ def translate(key, options = {})
9
+ I18n.translate(scope_key_by_partial(key), options.merge!(:raise => true, :locale => self.locale))
10
+ end
11
+ alias_method :t, :translate
12
+
13
+ private
14
+ def scope_key_by_partial(key)
15
+ if key.to_s.first == "."
16
+ if @_virtual_path
17
+ @_virtual_path.gsub(%r{/_?}, ".") + key.to_s
18
+ else
19
+ raise "Cannot use t(#{key.inspect}) shortcut because path is not available"
20
+ end
21
+ else
22
+ key
23
+ end
24
+ end
25
+ end
7
26
  end
8
27
 
9
28
  module InstanceMethods
10
29
  def translate(key, options = {})
11
- I18n.translate(key, options.merge(:locale => self.locale))
30
+ I18n.translate(scope_key_by_partial(key), options.merge(:raise => true, :locale => self.locale))
12
31
  end
13
32
  alias_method :t, :translate
14
33
 
@@ -29,6 +48,16 @@ module I18nActionMailer
29
48
  method_name = "#{method_name}_#{locale}" if locale and !Dir["#{template_path}/#{method_name}_#{locale}*"].empty?
30
49
  render_message_without_i18n(method_name, body)
31
50
  end
51
+
52
+ private
53
+ def scope_key_by_partial(key)
54
+ if key.to_s.first == "."
55
+ mailer_scope = self.class.mailer_name.gsub('/', '.')
56
+ mailer_scope + "." + action_name + key.to_s
57
+ else
58
+ key
59
+ end
60
+ end
32
61
  end
33
62
 
34
63
  end
metadata CHANGED
@@ -5,17 +5,18 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 1
9
- version: 0.2.1
8
+ - 2
9
+ version: 0.2.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Akihiro Matsumura
13
13
  - Bert Goethals
14
+ - Lars Pind
14
15
  autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-08-10 00:00:00 +09:00
19
+ date: 2010-09-21 00:00:00 +09:00
19
20
  default_executable:
20
21
  dependencies: []
21
22
 
@@ -29,6 +30,7 @@ extra_rdoc_files:
29
30
  - README
30
31
  files:
31
32
  - .gitignore
33
+ - History.txt
32
34
  - MIT-LICENSE
33
35
  - README
34
36
  - Rakefile