Sha256: 52300c1c67ccf2a1810a1ae9d51451a16a94b9ce7722f509c9e41b5e6b282497
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 KB
Contents
module Gon module Base class << self def render_data(options) if Gon.global.all_variables.present? Gon::Request.gon['global'] = Gon.global.all_variables end data = Gon.all_variables namespace = options[:namespace] || 'gon' start = '<script>window.' + namespace + ' = {};' script = '' if options[:camel_case] data.each do |key, val| script << "#{namespace}.#{key.to_s.camelize(:lower)}=#{val.to_json};" end else data.each do |key, val| script << "#{namespace}.#{key.to_s}=#{val.to_json};" end end script = start + Gon::Escaper.escape(script) + '</script>' script.html_safe end def get_controller(options) options[:controller] || Gon::Request.env['action_controller.instance'] || Gon::Request.env['action_controller.rescue.response']. instance_variable_get('@template'). instance_variable_get('@controller') end def get_template_path(options, extension) if options[:template] if right_extension?(extension, options[:template]) options[:template] else [options[:template], extension].join('.') end else controller = get_controller(options).controller_path action = get_controller(options).action_name "app/views/#{controller}/#{action}.json.#{extension}" end end private def right_extension?(extension, template_path) File.extname(template_path) == ".#{extension}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gon-3.0.0 | lib/gon/base.rb |