Skip to content

GAMS-Software/lato_spaces

Repository files navigation

Lato Spaces

Integrate different workspaces on Lato projects.

Installation

Add required dependencies to your application's Gemfile:

# Use lato as application panel
gem "lato"
gem "lato_spaces"

Install gem and run required tasks:

$ bundle
$ rails lato_spaces:install:application
$ rails lato_spaces:install:migrations
$ rails db:migrate

Mount lato spaces routes on the config/routes.rb file:

Rails.application.routes.draw do
  mount LatoSpaces::Engine => "/lato-spaces"

  # ....
end

Todo

Manage models relations with spaces groups

  • Create a new model to manage the relations between spaces and groups
  • Create a new concern for models that must be related to spaces groups
  • Add hooks on concern to manage the relation on model creation/destroy
  • Add method on concern to update the group of a model
  • Add scopes on concern to get data filtered by group

Other features

  • Show stats about entities on spaces show page
  • Show stats about entities attachments on spaces show page
  • Add roles management on spaces memberships

Tests

  • Add tests for model concerns

Development

Clone repository, install dependencies, run migrations and start:

$ git clone https://github.com/Lato-GAM/lato_spaces
$ cd lato_spaces
$ bundle
$ rails db:migrate
$ rails db:seed
$ foreman start -f Procfile.dev

Publish

$ ruby ./bin/publish.rb

License

The gem is available as open source under the terms of the MIT License.