module CrudActions::Actions
Constants
- DEFAULT_ACTIONS
Public Class Methods
included(class_name)
click to toggle source
# File lib/crud_actions/actions.rb, line 13 def self.included(class_name) model_name = class_name.to_s.split('Controller').first.split('::').last.singularize class_name.instance_variable_set('@resource_class', model_name.constantize) class_name.instance_variable_set('@resource_name', model_name.underscore) end
Public Instance Methods
create(options = { notice: nil, alert: nil })
click to toggle source
# File lib/crud_actions/actions.rb, line 35 def create(options = { notice: nil, alert: nil }) resource_name = self.class.instance_variable_get('@resource_name') resource_class = self.class.instance_variable_get('@resource_class') instance_variable_set("@#{ resource_name }", resource_class.new(permitted_params_for_create)) resource = instance_variable_get("@#{ resource_name }") if resource.public_send(:save) flash[:notice] = options[:notice] || "#{ resource_class.to_s } created successfully." redirect_to (options[:redirect_to] || path_maker) else flash[:alert] = options[:alert] || resource.errors.full_messages.join(', ') render action: :new end end
destroy(options = { notice: nil, alert: nil })
click to toggle source
# File lib/crud_actions/actions.rb, line 68 def destroy(options = { notice: nil, alert: nil }) resource_name = self.class.instance_variable_get('@resource_name') resource_class = self.class.instance_variable_get('@resource_class') resource = instance_variable_get("@#{ resource_name }") if resource.public_send(:destroy) flash[:notice] = options[:notice] || "#{ resource_class.to_s } destroyed successfully." else flash[:alert] = options[:alert] || resource.errors.full_messages.join(', ') end redirect_to (options[:redirect_to] || path_maker) end
edit()
click to toggle source
# File lib/crud_actions/actions.rb, line 49 def edit end
index(options = { order: nil, includes: nil })
click to toggle source
# File lib/crud_actions/actions.rb, line 26 def index(options = { order: nil, includes: nil }) index_helper(controller_name, options) end
new()
click to toggle source
# File lib/crud_actions/actions.rb, line 30 def new resource_name = self.class.instance_variable_get('@resource_name') instance_variable_set("@#{ resource_name }", self.class.instance_variable_get('@resource_class').new) end
show()
click to toggle source
# File lib/crud_actions/actions.rb, line 52 def show end
update(options = { notice: nil, alert: nil })
click to toggle source
# File lib/crud_actions/actions.rb, line 55 def update(options = { notice: nil, alert: nil }) resource_name = self.class.instance_variable_get('@resource_name') resource_class = self.class.instance_variable_get('@resource_class') resource = instance_variable_get("@#{ resource_name }") if resource.public_send(:update, permitted_params_for_update) flash[:notice] = options[:notice] || "#{ resource_class.to_s } updated successfully." redirect_to (options[:redirect_to] || path_maker) else flash[:alert] = options[:alert] || resource.errors.full_messages.join(', ') render action: :edit end end