Sha256: ad4cad863cafc538a15a86e9b95495290ed4ac1d6a18713ee7cad6b30548b066
Contents?: true
Size: 1.46 KB
Versions: 4
Compression:
Stored size: 1.46 KB
Contents
class Gon class Watch < Gon class << self JS_FUNCTION = File.read(File.expand_path('../../../js/watch.js', __FILE__)) def render JS_FUNCTION + "window.gon.watchedVariables=#{Gon::JsonDumper.dump all_variables};" end def render_amd JS_FUNCTION + "gon.watchedVariables=#{Gon::JsonDumper.dump all_variables};" end def all_variables @watch_variables || {} end def clear @watch_variables = {} end private def set_variable(name, value) if return_variable?(name) return_variable value elsif Gon.send(:current_gon) variable = {} @watch_variables ||= {} env = Gon.send(:current_gon).env variable['url'] = env['ORIGINAL_FULLPATH'] || env['REQUEST_URI'] variable['method'] = env['REQUEST_METHOD'] variable['name'] = name @watch_variables[name] = variable super end end def return_variable?(variable) controller = Gon::Base.get_controller params = controller.params variable = variable.to_s.gsub('=', '') controller.request.xhr? && params[:gon_return_variable] && params[:gon_watched_variable] == variable end def return_variable(value) controller = Gon::Base.get_controller controller.render json: Gon::Escaper.escape_unicode(Gon::JsonDumper.dump value) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
gon-5.2.3 | lib/gon/watch.rb |
gon-5.2.2 | lib/gon/watch.rb |
gon-5.2.1 | lib/gon/watch.rb |
gon-5.2.0 | lib/gon/watch.rb |