Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/rails_locale_detection/controller_methods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module ControllerMethods

module ClassMethods
def detect_locale
append_before_filter LocaleDetector
prepend_before_filter LocaleDetector
end
end

Expand Down
18 changes: 11 additions & 7 deletions lib/rails_locale_detection/locale_detector.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,25 @@ module RailsLocaleDetection
class LocaleDetector
include DetectionMethods
include LocaleAccessors

attr_reader :controller
delegate :cookies, :params, :request, :default_url_options, :user_locale, :to => :controller

delegate :params, :request, :default_url_options, :user_locale, :to => :controller

def initialize(controller = nil)
@controller = controller
end

def locale_key
RailsLocaleDetection.locale_key
end


def cookies
@controller.send(:cookies)
end

def self.before(controller)
new(controller).set_locale
end
end
end
end
15 changes: 10 additions & 5 deletions spec/support/mocks.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ class MockRequest
def initialize
@env = {'HTTP_ACCEPT_LANGUAGE' => ''}
end

def host
"localhost"
end

def ssl?
false
end

def cookies
{}
end
end
end

class MockUser
Expand Down Expand Up @@ -56,6 +56,11 @@ def self.append_before_filter(*args)
@before_filters << args
end

def self.prepend_before_filter(*args)
@before_filters ||= []
@before_filters << args
end

include RailsLocaleDetection::ControllerMethods

end
end