app/controllers/administrate/application_controller.rb in administrate-0.0.12 vs app/controllers/administrate/application_controller.rb in administrate-0.1.0
- old
+ new
@@ -1,63 +1,69 @@
module Administrate
class ApplicationController < ActionController::Base
def index
- @search_term = params[:search].to_s.strip
- @resources = Administrate::Search.new(resource_resolver, @search_term).run
- @resources = order.apply(@resources)
- @resources = @resources.page(params[:page]).per(records_per_page)
- @page = Administrate::Page::Table.new(dashboard, order: order)
+ search_term = params[:search].to_s.strip
+ resources = Administrate::Search.new(resource_resolver, search_term).run
+ resources = order.apply(resources)
+ resources = resources.page(params[:page]).per(records_per_page)
+ page = Administrate::Page::Collection.new(dashboard, order: order)
+
+ render locals: {
+ resources: resources.page(params[:page]).per(records_per_page),
+ search_term: search_term,
+ page: page,
+ }
end
def show
- set_resource
-
- @page = Administrate::Page::Show.new(dashboard, resource)
+ render locals: {
+ page: Administrate::Page::Show.new(dashboard, requested_resource),
+ }
end
def new
- @page = Administrate::Page::Form.new(dashboard, resource_class.new)
+ render locals: {
+ page: Administrate::Page::Form.new(dashboard, resource_class.new),
+ }
end
def edit
- set_resource
-
- @page = Administrate::Page::Form.new(dashboard, resource)
+ render locals: {
+ page: Administrate::Page::Form.new(dashboard, requested_resource),
+ }
end
def create
- set_resource(resource_class.new(resource_params))
+ resource = resource_class.new(resource_params)
if resource.save
redirect_to(
[Administrate::NAMESPACE, resource],
notice: translate("create.success"),
)
else
- @page = Administrate::Page::Form.new(dashboard, resource)
- render :new
+ render :new, locals: {
+ page: Administrate::Page::Form.new(dashboard, resource),
+ }
end
end
def update
- set_resource
-
- if resource.update(resource_params)
+ if requested_resource.update(resource_params)
redirect_to(
- [Administrate::NAMESPACE, resource],
+ [Administrate::NAMESPACE, requested_resource],
notice: translate("update.success"),
)
else
- @page = Administrate::Page::Form.new(dashboard, resource)
- render :edit
+ render :edit, locals: {
+ page: Administrate::Page::Form.new(dashboard, requested_resource),
+ }
end
end
def destroy
- set_resource
-
- resource.destroy
+ requested_resource.destroy
flash[:notice] = translate("destroy.success")
redirect_to action: :index
end
private
@@ -74,45 +80,36 @@
def records_per_page
params[:per_page] || 20
end
def order
- @order ||= Administrate::Order.new(params[:order], params[:direction])
+ @_order ||= Administrate::Order.new(params[:order], params[:direction])
end
def dashboard
- @dashboard ||= resource_resolver.dashboard_class.new
+ @_dashboard ||= resource_resolver.dashboard_class.new
end
- def set_resource(resource = nil)
- resource ||= find_resource(params[:id])
- instance_variable_set(instance_variable, resource)
+ def requested_resource
+ @_requested_resource ||= find_resource(params[:id])
end
def find_resource(param)
resource_class.find(param)
end
- def resource
- instance_variable_get(instance_variable)
- end
-
def resource_params
params.require(resource_name).permit(*permitted_attributes)
end
def permitted_attributes
dashboard.permitted_attributes
end
- def instance_variable
- "@#{resource_name}"
- end
-
delegate :resource_class, :resource_name, to: :resource_resolver
def resource_resolver
- @resource_resolver ||=
+ @_resource_resolver ||=
Administrate::ResourceResolver.new(controller_path)
end
def translate(key)
t(