Module: Localizer::Routes

Defined in:
lib/localizer/routes.rb

Instance Method Summary collapse

Instance Method Details

#include_localized_routes!Object



31
32
33
34
35
# File 'lib/localizer/routes.rb', line 31

def include_localized_routes!
  Localizer.config.controllers.each_pair do |controller, pages|
    localize_paths_for controller, *pages
  end
end

#localize_path(controller, action_name) ⇒ Object

Usage:

include Localizer::Routes
localize_paths map, :index, :about, :contact
localize_path map, :home


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/localizer/routes.rb', line 9

def localize_path controller, action_name
  self.with_options  :controller => controller, :action => action_name do |site|
    site.with_options :requirements => {:locale => /\w\w/} do |site_with_locale|
      site_with_locale.connect           ":locale" if action_name.to_s == 'index'
      site_with_locale.connect           ":locale/#{action_name}"
      site_with_locale.connect           ":locale/#{action_name}.htm"
      site_with_locale.send action_name, ":locale/#{action_name}.html"
    end
    # site.with_options :locale => 'it' do |site|
    site.connect                        "#{action_name}"
    site.connect                        "#{action_name}.htm"
    site.send "#{action_name}_default", "#{action_name}.html"
    # end
  end
end

#localize_paths_for(controller, *action_names) ⇒ Object



25
26
27
28
29
# File 'lib/localizer/routes.rb', line 25

def localize_paths_for controller, *action_names
  for action_name in action_names
    localize_path controller, action_name.to_s
  end
end

#localized_resource(resource_name, options = {}) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/localizer/routes.rb', line 37

def localized_resource resource_name, options = {}
  options.merge! :path_prefix => ':locale', 
                 :requirements => {:locale => Localizer.config.locales}
  
  resources resource_name, options do |resource|
    yield resource if block_given?
  end
end