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