lib/jelly/jelly_controller.rb in honkster-jelly-0.12.0 vs lib/jelly/jelly_controller.rb in honkster-jelly-0.13.0
- old
+ new
@@ -1,41 +1,62 @@
module JellyController
protected
include Jelly::Common
- def jelly_callback(callback_base_name = @action_name, options = {}, &block)
- raw_jelly_callback(options) do
- arguments = block ? instance_eval(&block) : []
- arguments = [arguments] unless arguments.is_a?(Array)
- jelly_notify_hash("on_#{callback_base_name}", *arguments).merge(options)
- end
- end
-
- def raw_jelly_callback(options={}, &block)
+ def render_jelly_ops(options={}, &block)
options.symbolize_keys!
options[:format] ||= if params[:callback]
:jsonp
elsif request.xhr?
:json
else
:iframe
end
- render :inline => jelly_callback_erb(options, &block)
+ render :inline => render_jelly_ops_erb(options, &block)
end
- def jelly_callback_erb(options={}, &block)
+ def render_jelly_ops_erb(options={}, &block)
options[:format] ||= :json
@jelly_block = block
case options[:format].to_sym
when :iframe
- "<textarea>#{jelly_callback_erb_template}</textarea>"
+ <<-ERB
+ <textarea>#{render_jelly_ops_erb_template}</textarea>
+ ERB
when :jsonp
- "#{params[:callback]}(#{jelly_callback_erb_template});"
+ <<-ERB
+ #{params[:callback]}(#{render_jelly_ops_erb_template});
+ ERB
else
- jelly_callback_erb_template
+ <<-ERB
+ #{render_jelly_ops_erb_template}
+ ERB
end
end
+ def render_jelly_ops_erb_template
+ <<-ERB
+ <%=begin
+ instance_eval(&controller.instance_variable_get(:@jelly_block))
+ jelly_ops.to_json.html_safe
+ end -%>
+ ERB
+ end
+
+ ### Old Methods ###
+
+ def jelly_callback(callback_base_name = @action_name, options = {}, &block)
+ raise Jelly::OldMethodError
+ end
+
+ def raw_jelly_callback(options={}, &block)
+ raise Jelly::OldMethodError
+ end
+
+ def jelly_callback_erb(options={}, &block)
+ raise Jelly::OldMethodError
+ end
+
def jelly_callback_erb_template
- %Q{<%= instance_eval(&controller.instance_variable_get(:@jelly_block)).to_json.html_safe %>}
+ raise Jelly::OldMethodError
end
end