Sha256: c70a5ef97d5d84a38feef2611d14dc24a8ef05f805aa1bac31c3722316190765
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module ActionView module Helpers class JavaScriptProxy public :method_missing protected def wrap(function, *args) args = [function_chain[-1].chomp(';')].concat(args.collect(&:to_json)).join(', ') replace_line("#{function.to_s}(#{args});") end def replace_line(new_line) function_chain[-1] = new_line end end end end module UJS module JavascriptProxies class ReferencedJavascriptElementProxy < ActionView::Helpers::JavaScriptElementProxy def initialize(generator, var) @generator = generator @generator << var end def reload; end end class JavascriptArgumentProxy def initialize(proxy, *contructor_args) @proxy, @args = proxy, contructor_args end def method_missing(meth, *args) proxy = @proxy.new(*@args) proxy.__send__(meth, *args) end end class JavascriptEventProxy < ActionView::Helpers::JavaScriptProxy def stop wrap('Event.stop') end def element wrap('Event.element') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
compages-0.4.0 | vendor/plugins/unobtrusive_javascript/lib/ujs/javascript_proxies.rb |