Sha256: 98a17a07c85f88c8a9ef462a7944892257a41d5de05ab7fe1d05139ba93f33df
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
module Transponder module Transmission extend ActiveSupport::Concern included do after_filter :intercept_js helper_method :xms_module_name end def xms_module_name params[:controller].include?('/') ? params[:controller].split('/')[0] : 'application' end def xms_error_hash(object, message, action, module_name) { errors: (message || xms_error_partial || object.errors ), controller: controller_name, action: (action || action_name), model_name: object.class.name.downcase, id: object.id, module: (module_name || xms_module_name) } end def xms_error_partial(module_name: nil, action: nil, controller: nil) render_to_string [(module_name || xms_module_name), (controller || controller_name), 'errors', (action || action_name)].join('/'), layout: false rescue ActionView::MissingTemplate nil end def xms_error object, message: nil, action: nil, module_name: nil render json: xms_error_hash(object, message, action, module_name), status: :unprocessable_entity end def intercept_js if request.format == :js response.header['Content-Type'] = "application/transmission" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
transponder-0.10.1 | lib/transponder/transmission.rb |