class Chaltron::InstallGenerator
Install a skeleton application
Public Instance Methods
add_gem_dependencies()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 18 def add_gem_dependencies gem 'devise' gem 'omniauth' gem 'omniauth-rails_csrf_protection' gem 'gitlab_omniauth-ldap' gem 'cancancan' gem 'bootstrap', '~> 4.6' gem 'autoprefixer-rails' gem 'font-awesome-sass' gem 'jquery-rails' gem 'jquery-datatables' gem 'ajax-datatables-rails' gem 'bootstrap_form' gem 'nprogress-rails' gem 'simple-navigation' gem 'rails-i18n' end
add_javascript()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 75 def add_javascript dependencies =<<EOF //= require jquery //= require popper //= require bootstrap //= require datatables/jquery.dataTables //= require datatables/dataTables.bootstrap4 //= require datatables/extensions/Responsive/dataTables.responsive //= require datatables/extensions/Responsive/responsive.bootstrap4 //= require nprogress //= require nprogress-turbolinks //= require nprogress-ajax //= require chaltron EOF inject_into_file 'app/assets/javascripts/application.js', dependencies, before: '//= require_tree .' javascript =<<JS document.addEventListener('DOMContentLoaded', function(event) { Chaltron.locale = $('body').data('locale'); }); NProgress.configure({ showSpinner: false, }); JS inject_into_file 'app/assets/javascripts/application.js', javascript, after: '//= require_tree .' end
add_stylesheets()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 107 def add_stylesheets copy_file 'app/assets/stylesheets/chaltron_custom.scss' copy_file 'app/assets/stylesheets/datatables.scss' end
apply_layout()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 68 def apply_layout # html remove_file 'app/views/layouts/application.html.erb' directory 'app/views/layouts' directory 'app/assets/images' end
create_index_controller()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 112 def create_index_controller generate 'controller home index' route "root to: 'home#index'" # controller, views and assets replacement copy_file 'app/controllers/home_controller.rb', force: true directory 'app/views/home/', force: true copy_file 'app/assets/javascripts/home.coffee', force: true copy_file 'app/assets/stylesheets/home.scss', force: true Array(1..10).each do |x| route "get 'home/test#{x}'" end end
db_migrations()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 49 def db_migrations rake 'chaltron_engine:install:migrations' end
db_seed()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 53 def db_seed append_file 'db/seeds.rb' do <<RUBY User.create do |u| u.username = 'bella' u.fullname = 'Bellatrix Lestrange' u.email = 'bellatrix.lestrange@azkaban.co.uk' u.password = 'password.1' u.password_confirmation = 'password.1' u.roles = Chaltron.roles end RUBY end end
disclaimer()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 11 def disclaimer print_banner if options.interactive? exit unless yes?('Are you sure you want to continue? [yes/NO]') end end
gem_priority()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 39 def gem_priority # chaltron gem must be loaded after devise to setup the correct view paths chaltron = File.readlines('Gemfile') .select { |l| l.match('chaltron') } .first gsub_file 'Gemfile', chaltron, '' append_file 'Gemfile', "\n#{chaltron}" end
setup_chaltron()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 131 def setup_chaltron copy_file 'config/initializers/chaltron.rb' end
Private Instance Methods
print_welcome()
click to toggle source
# File lib/generators/chaltron/install_generator.rb, line 155 def print_welcome message = 'Welcome to ' + set_color('L', :blue, true) + 'igth ' + set_color('S', :blue, true) + 'peed ' + set_color('A', :blue, true) + 'pplication ' + set_color('D', :blue, true) + 'evelopment!' say message end