lib/gon/helpers.rb in gon-5.0.4 vs lib/gon/helpers.rb in gon-5.1.0
- old
+ new
@@ -26,43 +26,40 @@
def variables_for_request_present?
current_gon && current_gon.gon
end
def current_gon
- Thread.current['gon']
+ RequestStore.store[:gon]
end
end
end
module GonHelpers
- def self.included base
- base.send(:include, InstanceMethods)
+ def gon
+ if wrong_gon_request?
+ gon_request = Request.new(env)
+ gon_request.id = gon_request_uuid
+ RequestStore.store[:gon] = gon_request
+ end
+ Gon
end
- module InstanceMethods
+ private
- def gon
- if wrong_gon_request?
- gon_request = Request.new(env)
- gon_request.id = request.uuid
- Thread.current['gon'] = gon_request
- end
- Gon
- end
+ def wrong_gon_request?
+ current_gon.blank? || current_gon.id != gon_request_uuid
+ end
- private
+ def current_gon
+ RequestStore.store[:gon]
+ end
- def wrong_gon_request?
- current_gon.blank? || current_gon.id != request.uuid
- end
-
- def current_gon
- Thread.current['gon']
- end
-
+ def gon_request_uuid
+ request.uuid
end
+
end
end
ActionView::Base.send :include, Gon::Helpers
ActionController::Base.send :include, Gon::GonHelpers