From 4ed9192bdc3e74509139fa9cfd68197bc7e72d16 Mon Sep 17 00:00:00 2001 From: Leonardo Gavidia Date: Sun, 29 Sep 2013 12:19:53 -0500 Subject: [PATCH] replaced @@mobylette_options by self.mobylette_options. It fixes NoMethodError undefined method `[]' for nil:NilClass (atleast in JRuby) --- lib/mobylette/respond_to_mobile_requests.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/mobylette/respond_to_mobile_requests.rb b/lib/mobylette/respond_to_mobile_requests.rb index a47ece6..b57bfd3 100644 --- a/lib/mobylette/respond_to_mobile_requests.rb +++ b/lib/mobylette/respond_to_mobile_requests.rb @@ -36,16 +36,17 @@ module RespondToMobileRequests before_filter :handle_mobile cattr_accessor :mobylette_options - @@mobylette_options = Hash.new - @@mobylette_options[:skip_xhr_requests] = true - @@mobylette_options[:fallback_chains] = { mobile: [:mobile, :html] } - @@mobylette_options[:mobile_user_agents] = Mobylette::MobileUserAgents.new - @@mobylette_options[:devices] = Hash.new - @@mobylette_options[:skip_user_agents] = [] + + self.mobylette_options = Hash.new + self.mobylette_options[:skip_xhr_requests] = true + self.mobylette_options[:fallback_chains] = { mobile: [:mobile, :html] } + self.mobylette_options[:mobile_user_agents] = Mobylette::MobileUserAgents.new + self.mobylette_options[:devices] = Hash.new + self.mobylette_options[:skip_user_agents] = [] cattr_accessor :mobylette_resolver self.mobylette_resolver = Mobylette::Resolvers::ChainedFallbackResolver.new({}, self.view_paths) - self.mobylette_resolver.replace_fallback_formats_chain(@@mobylette_options[:fallback_chains]) + self.mobylette_resolver.replace_fallback_formats_chain(self.mobylette_options[:fallback_chains]) append_view_path self.mobylette_resolver end @@ -132,7 +133,7 @@ def configure_fallback_resolver(options) # Private: Tells if the request comes from a mobile user_agent or not # def is_mobile_request? - (not user_agent_excluded?) && !(request.user_agent.to_s.downcase =~ @@mobylette_options[:mobile_user_agents].call).nil? + (not user_agent_excluded?) && !(request.user_agent.to_s.downcase =~ self.mobylette_options[:mobile_user_agents].call).nil? end # Private: Returns if this request comes from the informed device