Usman
Simple User & Feature Permission Management with APIs.
Usman is a mountable plugin and it requires another full pluggin named kuppayam to run. Kuppayam offers usman the UI skin with basic modules for running like Polymorphic Image and Document Models etc.
Installation
Add this line to your application's Gemfile:
gem 'usman'
And then execute:
$ bundle
Or install it yourself as:
$ gem install usman
Usage
Installing the kuppayam & usman migrations
Usman uses kuppayam skins and hence it requires the basic migrations from kuppayam to run Run the below command to copy the migrations from the kuppayam engine.
$ bundle exec rake railties:install:migrations
This will copy migrations from kuppayam and usman engines which will have migrations to create images, documents, users, features and permissions respectively.
Mount the engine
Mount usman engine in your application routes.rb
mount Usman::Engine => "/"
open browser and go to /sign_in url
Railties order
Specify the railties order if required in main application.rb
config.autoload_paths << "app/services"
config.railties_order = [:main_app, Usman::Engine, Kuppayam::Engine, :all]
Seeding / Importing Data
run rake task for loading dummy data for users and features to start with.
$ bundle exec rake usman:import:dummy:all verbose=false
["users", "features", "permissions", "roles"]
You could also do it individually but the above command will run in the following order - users, features, permissions, roles. This order is important as features need users to be imported first.
$ bundle exec rake usman:import:dummy:users verbose=false
$ bundle exec rake usman:import:dummy:features verbose=false
$ bundle exec rake usman:import:dummy:permissions verbose=false
$ bundle exec rake usman:import:dummy:roles verbose=false
Cusotmized Importing
You could override the seed files with your data. just create db/import_data in your project folder and create the following files filled with your data in the required format (checkout the dummy csvs in usman db/import_data/dummy/features.csv) for the columns required
for e.g:
create users.csv in db/import_data/ foler and fill data in it and run
$ bundle exec rake usman:import:users verbose=false
Testing the gem
cd spec/dummy rails db:create db:migrate
rails s -p
Running rspec
rails db:create db:migrate RAILS_ENV
run rspec from the rails root folder and not from dummy folder as spec helper has been linked to dummy.
rspec
Contributing
Visit - https://github.com/right-solutions/usman Feel free to submit a patch
License
The gem is available as open source under the terms of the MIT License.