Symphonia

simple core toolkit for my rails apps

Installation

add to your Gemfile: gem 'symphonia, path: '$SYMPHONIA_PATH'

or

gem 'symphonia', git: '[email protected]:lukas/symphonia.git', branch: 'v2'

after bundle install run post-installation: rails g symphonia:setup

Setup prepare config/initializers/settings.rb, create spec/spec_helper.rb, add stylesheets and javascripts references and copy basic layout.

Configuration

Upgrade to v4.0

  1. update Gemfile: ruby gem 'rails', '~> 6.1' gem 'symphonia', '~> 4.0' source "https://gems.luk4s.cz" do gem 'symphonia_spec', group: %i[development test] end And bundle update
  2. upgrade rails: https://guides.rubyonrails.org/upgrading_ruby_on_rails.html bash export THOR_MERGE=vimdiff rails app:update ## Upgrade to v5.0 Version 5 remove sprockets bootstrap, font-awesome and others CSS/JS things. It expect that assets will be managed by webpacker (or similar) FE technology.

Also remove Role model and whole permissions custom logic. Its replace standardized CanCanCan gem (https://github.com/CanCanCommunity/cancancan/tree/develop/docs)

Sprockets fallback

For fallback add to Gemfile

gem "bootstrap", "~> 4.6"
gem "jquery-rails"
gem "jquery-ui-rails"
gem "listen"
gem "sass-rails"
gem "turbolinks"
gem 'font-awesome-sass', '~> 6.2.0'

in your "app/assets/stylessheets/general.scss" make sure symphonia is imported

@import 'symphonia/basic';
@import 'symphonia/layout';

AND you need add symphonia/application.css into precompile

Rails.application.config.assets.precompile << 'symphonia/application.css'

CanCanCan

For user there is Symphonia::UserAbility which defined permissions for User model + for admin add basic CRUD operation for :all.