class Arpa::RolesController

Public Instance Methods

create() click to toggle source

POST /roles

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 25
def create
  role_creator.create({ role: role_params },
                      success: redirect_to_index(I18n.t('flash.actions.create_role.notice')),
                      fail: render_errors(:new))
end
edit() click to toggle source

GET /roles/1/edit

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 20
def edit
  all_resources
end
index() click to toggle source

GET /roles

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 6
def index
  @roles = role_finder.all
end
new() click to toggle source

GET /roles/new

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 14
def new
  @role = Arpa::Entities::Role.new
  all_resources
end
remove() click to toggle source

DELETE /roles/1

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 39
def remove
  role_remover.remove({ role: @role },
                      success: redirect_to_index(I18n.t('flash.actions.remove_role.notice')),
                      fail: redirect_to_index(I18n.t('flash.actions.remove_role.alert')))
end
show() click to toggle source

GET /roles/1

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 11
def show; end
update() click to toggle source

PATCH/PUT /roles/1

# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 32
def update
  role_updater.update({ role: role_params },
                      success: redirect_to_index(I18n.t('flash.actions.update_role.notice')),
                      fail: render_errors(:edit))
end

Private Instance Methods

all_resources() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 82
def all_resources
  @resources = resource_finder.all
end
redirect_to_index(message) click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 47
def redirect_to_index(message)
  lambda do |_role|
    redirect_to roles_path, notice: message
  end
end
render_errors(action_to_render) click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 53
def render_errors(action_to_render)
  lambda do |error|
    @role = Arpa::Entities::Role.new(role_params)
    @error = error
    all_resources
    render action_to_render
  end
end
resource_finder() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 78
def resource_finder
  @resource_finder ||= Arpa::Repositories::Resources::Finder.new
end
role_creator() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 62
def role_creator
  @role_creator ||= Arpa::Services::Roles::RoleManagerCreator.new
end
role_finder() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 74
def role_finder
  @role_finder ||= Arpa::Repositories::Roles::Finder.new
end
role_params() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 90
def role_params
  permitted_params = %i[id name description]

  params.require(:role)
        .permit(permitted_params, action_ids: [])
        .to_h
end
role_remover() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 70
def role_remover
  @role_remover ||= Arpa::Services::Roles::RoleManagerRemover.new
end
role_updater() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 66
def role_updater
  @role_updater ||= Arpa::Services::Roles::RoleManagerUpdater.new
end
set_role() click to toggle source
# File lib/generators/arpa/templates/controllers/roles_controller.rb, line 86
def set_role
  @role = role_finder.find(params[:id])
end