class BetterResponder::Responder
Public Class Methods
new(context)
click to toggle source
# File lib/better_responder/responder.rb, line 4 def initialize(context) @context = context end
Public Instance Methods
run(condition, success_render, fail_render = nil)
click to toggle source
# File lib/better_responder/responder.rb, line 8 def run(condition, success_render, fail_render = nil) provide_response condition ? [success_render, :success] : [fail_render || success_render, :fail] end
Private Instance Methods
action_name()
click to toggle source
# File lib/better_responder/responder.rb, line 25 def action_name @context.params[:action] end
controller_name()
click to toggle source
# File lib/better_responder/responder.rb, line 29 def controller_name @context.class.name.underscore.split("_").first end
flash_type(render_type)
click to toggle source
# File lib/better_responder/responder.rb, line 33 def flash_type(render_type) h = {success: :notice, fail: :alert} h[render_type.to_sym] end
message_builder(type)
click to toggle source
# File lib/better_responder/responder.rb, line 21 def message_builder(type) "responder.#{controller_name}.#{action_name}.#{type}" end
provide_response(params)
click to toggle source
# File lib/better_responder/responder.rb, line 14 def provide_response(params) render_params = params.first render_type = params[1] method = render_params.keys.first @context.send method, render_params[method], :"#{flash_type(render_type)}" => I18n.t(message_builder(render_type)) end