module Xavius::Controllers::Base

Public Instance Methods

create() click to toggle source
# File lib/xavius/controllers/base.rb, line 17
def create
  respond_to do |format|
    if perform_action
      format.html { redirect_to action_context.resource, notice: success_message }
      format.json { render :show, status: :created, location: action_context.resource }
    else
      format.html { render :new }
      format.json { render json: action_context.resource.errors, status: :unprocessable_entity }
    end
  end
end
destroy() click to toggle source
# File lib/xavius/controllers/base.rb, line 41
def destroy
  perform_action
  respond_to do |format|
    format.html { redirect_to url_for(resource_class), notice: success_message }
    format.json { head :no_content }
  end
end
index() click to toggle source
# File lib/xavius/controllers/base.rb, line 13
def index
  instance_variable_set(instance_variable_name_for(collection_name), perform_action)
end
update() click to toggle source
# File lib/xavius/controllers/base.rb, line 29
def update
  respond_to do |format|
    if perform_action
      format.html { redirect_to action_context.resource, notice: success_message }
      format.json { render :show, status: :ok, location: action_context.resource }
    else
      format.html { render :edit }
      format.json { render json: action_context.resource.errors, status: :unprocessable_entity }
    end
  end
end

Private Instance Methods

action_context() click to toggle source
# File lib/xavius/controllers/base.rb, line 54
def action_context
  @action_context ||= action_class.new(context)
end
context() click to toggle source
# File lib/xavius/controllers/base.rb, line 58
def context
  Xavius::Actions::Context.new(resource: resource, resource_params: -> { resource_params })
end
perform_action() click to toggle source
# File lib/xavius/controllers/base.rb, line 50
def perform_action
  action_context.perform
end