module Charcoal::JSONP
Public Class Methods
included(klass)
click to toggle source
# File lib/charcoal/jsonp.rb, line 5 def self.included(klass) klass.extend(ClassMethods) if klass.respond_to?(:prepend_around_action) klass.prepend_around_action :add_jsonp_callback else klass.prepend_around_filter :add_jsonp_callback end end
Protected Instance Methods
add_jsonp_callback() { || ... }
click to toggle source
# File lib/charcoal/jsonp.rb, line 41 def add_jsonp_callback yield if response.status.to_s.starts_with?("200") && jsonp_request? response.content_type = "application/javascript" response.body = "#{params[:callback]}(#{response.body})" end end
jsonp_allowed?()
click to toggle source
# File lib/charcoal/jsonp.rb, line 33 def jsonp_allowed? self.class.jsonp_allowed?(self, params[:action]) end
jsonp_request?()
click to toggle source
# File lib/charcoal/jsonp.rb, line 37 def jsonp_request? params[:callback].present? && jsonp_allowed? end