lib/generators/chaltron/install_generator.rb in chaltron-1.1.7 vs lib/generators/chaltron/install_generator.rb in chaltron-2.0.0
- old
+ new
@@ -13,10 +13,31 @@
if options.interactive?
exit unless yes?('Are you sure you want to continue? [yes/NO]')
end
end
+ def add_gem_dependencies
+ gem 'devise'
+ gem 'omniauth'
+ gem 'omniauth-rails_csrf_protection'
+ gem 'gitlab_omniauth-ldap'
+ gem 'cancancan'
+
+ gem 'bootstrap'
+ 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
+
def db_migrations
rake 'chaltron_engine:install:migrations'
end
def db_seed
@@ -37,23 +58,57 @@
def apply_layout
# html
remove_file 'app/views/layouts/application.html.erb'
directory 'app/views/layouts'
directory 'app/assets/images'
- # javascript
- inject_into_file 'app/assets/javascripts/application.js',
- "//= require chaltron\n", before: '//= require_tree .'
end
+ 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
+
+ def add_stylesheets
+ copy_file 'app/assets/stylesheets/chaltron_custom.scss'
+ copy_file 'app/assets/stylesheets/datatables.scss'
+ end
+
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.js.coffee', 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
@@ -63,10 +118,9 @@
copy_file 'config/navigation.rb'
end
def setup_chaltron
copy_file 'config/initializers/chaltron.rb'
- copy_file 'app/assets/stylesheets/chaltron_custom.scss'
end
def setup_authorization
copy_file 'app/models/ability.rb'
end