Module: Ress::ControllerAdditions
- Defined in:
- lib/ress/controller_additions.rb
Overview
This module is automatically included into all controllers.
Class Method Summary collapse
Instance Method Summary collapse
- #canonical_request? ⇒ Boolean
- #force_canonical_url ⇒ Object
- #prepend_alternate_view_path ⇒ Object
- #set_force_canonical_cookie ⇒ Object
Class Method Details
.included(base) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/ress/controller_additions.rb', line 6 def self.included(base) base.helper_method :canonical_request? base.helper_method :force_canonical_url base.before_filter :set_force_canonical_cookie base.before_filter :prepend_alternate_view_path end |
Instance Method Details
#canonical_request? ⇒ Boolean
25 26 27 |
# File 'lib/ress/controller_additions.rb', line 25 def canonical_request? Ress.canonical_version.matches?(request.subdomain) end |
#force_canonical_url ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/ress/controller_additions.rb', line 29 def force_canonical_url path = "#{request.host_with_port}#{request.fullpath}" url = Ress.canonical_version.url(request.protocol, path, request.subdomain) sep = url.include?('?') ? '&' : '?' "#{url}#{sep}force_canonical=1" end |
#prepend_alternate_view_path ⇒ Object
19 20 21 22 23 |
# File 'lib/ress/controller_additions.rb', line 19 def prepend_alternate_view_path Ress.alternate_versions.each do |cat| prepend_view_path(cat.view_path) if cat.matches?(request.subdomain) end end |
#set_force_canonical_cookie ⇒ Object
13 14 15 16 17 |
# File 'lib/ress/controller_additions.rb', line 13 def if params[:force_canonical] [:force_canonical] = 'true' end end |