module FrontendNotifierControllerExtension
Public Instance Methods
notify_frontend(message, error_type="error")
click to toggle source
# File lib/frontend_notifier/application_controller.rb, line 3 def notify_frontend(message, error_type="error") unless message.kind_of? String || message.nil? if message.errors.empty? message = "Success" error_type = "success" else message = join_model_errors(message) end end render :json => { :type => error_type, :message => message } end
Private Instance Methods
join_model_errors(model, options = { include_field_names: true })
click to toggle source
# File lib/frontend_notifier/application_controller.rb, line 17 def join_model_errors(model, options = { include_field_names: true }) result = [] model.errors.each do |k,v| if k == :base result << v else if options[:include_field_names] attr_translation = t("activerecord.attributes.#{model.class.to_s.underscore}.#{k}") attr_translation = k if attr_translation.include?("translation missing") result << "#{attr_translation.to_s.mb_chars.capitalize.to_s} #{v}" else result << v end end end result = result.join("; ") dot_at_the_end = (result =~ /[.!?]\Z/) ? "" : "." result + dot_at_the_end end