module Weeler::ActionController::Acts::Restful::InstanceMethodsOnActivation
These methods only activate if 'acts_as_restful' is called
Public Instance Methods
create()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 83 def create @item = model.new(items_params) if @item.save after_create_action else render :action => 'new' end end
destroy()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 100 def destroy @item.destroy after_destroy_action end
edit()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 75 def edit load_translations end
index()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 60 def index @paginate = paginate @items = load_collection @items = @items.page(params[:page]).per(@paginate) if @paginate.present? && @paginate > 0 end
new()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 66 def new @item = model.new load_translations end
order()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 79 def order sort end
remove_image()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 105 def remove_image if @item.image.present? @item.image.destroy @item.image_file_name = nil @item.save end redirect_to({ action: :edit, id: @item.id}, {:notice => "Image successfully removed"}) end
show()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 71 def show render :edit end
update()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 92 def update if @item.update(items_params) after_update_action else render :action => 'edit' end end
Protected Instance Methods
collection()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 127 def collection; end
item_humanized_name()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 133 def item_humanized_name "#{parameterized_name.humanize}" end
items_params()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 116 def items_params if permited_params.is_a? Proc permited_params.call(params) elsif permited_params.blank? warning_suggestion = params[parameterized_name.to_sym].is_a?(Hash) ? params[parameterized_name.to_sym].keys.map{ |k| k.to_sym } : "permit_params:" warn "[UNPERMITED PARAMS] To permit #{params[parameterized_name.to_sym].to_unsafe_h.inspect} params, add 'permit_params: #{warning_suggestion}' option to 'acts_as_restful'" else params.require(parameterized_name.to_sym).permit(permited_params) end end
load_translations()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 137 def load_translations if @item.respond_to? :translations I18n.available_locales.each { |locale| @item.translations.find_or_initialize_by(locale: locale) } end end
parameterized_name()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 129 def parameterized_name "#{model.to_s.underscore.downcase}" end
Private Instance Methods
after_create_action()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 145 def after_create_action redirect_to( after_create_path, {:notice => "Successfully created item"} ) end
after_create_path()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 157 def after_create_path { action: :edit, id: @item.id } end
after_destroy_action()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 153 def after_destroy_action redirect_to( after_destroy_path, {:notice => "Successfully destroyed item"}) end
after_destroy_path()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 165 def after_destroy_path { action: :index } end
after_update_action()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 149 def after_update_action redirect_to( after_update_path, {:notice => "Successfully updated item"} ) end
after_update_path()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 161 def after_update_path { action: :edit, id: @item.id } end
load_collection()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 173 def load_collection return @load_collection if @load_collection.present? if model if collection @load_collection = collection else @load_collection = model.all if order_by.present? @load_collection.order(order_by) elsif model.new.has_attribute?(:sequence) @load_collection.order(:sequence) else @load_collection.order(created_at: :desc) end end end end
load_record()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 191 def load_record @item = model.find(params[:id]) end
model()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 169 def model model end
sort()
click to toggle source
# File lib/weeler/action_controller/acts/restful.rb, line 195 def sort items_sequence = URI.decode_www_form(params[:orders]).map{ |i| i[1] } items_sequence.each_with_index do |sequence_item_id, index| item = model.find_by id: sequence_item_id item.sequence = index item.save! end render plain: 'all ok' end