class ScaffoldPlus::Generators::SorceryGenerator
Public Instance Methods
add_controllers()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 45 def add_controllers template "users_controller.rb", "app/controllers/#{table_name}_controller.rb" end
add_initializer()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 88 def add_initializer template "initializer.rb", "config/initializers/sorcery.rb" end
add_locales()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 92 def add_locales %w[en de].each do |locale| template "sorcery.#{locale}.yml", "config/locales/sorcery.#{locale}.yml" end end
add_mailer()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 39 def add_mailer return unless options.reset_password? template "user_mailer.rb", "app/mailers/#{mailer_name}.rb" template "reset_password_email.html.erb", "app/views/#{mailer_name}/reset_password_email.html.erb" end
add_migrations()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 31 def add_migrations migration_template "user_migration.rb", "db/migrate/create_#{table_name}.rb" end
add_models()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 35 def add_models template "user_model.rb", "app/models/#{name}.rb" end
add_routes()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 57 def add_routes lines = [ "resources :#{table_name} do", " collection do", " get 'log_in'", " post 'access'", " get 'log_out'" ] lines << [ " get 'password'", " post 'reset'" ] if options.reset_password? lines << [ " end" ] lines << [ " member do", " get 'change'", " patch 'refresh'", " put 'refresh'", " end" ] if options.reset_password? lines << [ " end", " get '/login' => '#{table_name}#log_in', as: :login, format: false", " get '/logout' => '#{table_name}#log_out', as: :logout, format: false", "" ] route lines.join("\n") end
add_views()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 49 def add_views views = %w[edit _form index log_in new show] views += %w[password change] if options.reset_password? views.each do |view| template "#{view}.html.erb", "app/views/#{table_name}/#{view}.html.erb" end end
update_application_controller()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 98 def update_application_controller file = "app/controllers/application_controller.rb" inject_into_class file, "ApplicationController", " before_action :require_login\n\n" inject_into_file file, "\n\n private", after: /protect_from_forgery.*$/ lines = [ "", " def not_authenticated", " redirect_to login_path, alert: t('sorcery.required')", " end", "", " def current_sysadm?", " logged_in? and current_#{name}.sysadm", " end", " helper_method :current_sysadm?", "" ] inject_into_file file, lines.join("\n"), before: /^end$/ end
Protected Instance Methods
controller_name()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 140 def controller_name "#{table_name}_controller" end
mailer_name()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 136 def mailer_name "#{name}_mailer" end
migration_name()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 132 def migration_name "create_#{table_name}" end
submodules()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 119 def submodules modules = [] modules << ":user_activation" if options.user_activation? modules << ":reset_password" if options.reset_password? modules << ":remember_me" if options.remember_me? modules << ":session_timeout" if options.session_timeout? modules << ":brute_force_protection" if options.brute_force_protection? modules << ":http_basic_auth" if options.http_basic_auth? modules << ":activity_logging" if options.activity_logging? modules << ":external" if options.external? modules.join(', ') end
whitelist()
click to toggle source
# File lib/generators/scaffold_plus/sorcery/sorcery_generator.rb, line 144 def whitelist ":email, :name, :phone, :comment, :theme, " + ":active, :sysadm, :password, :password_confirmation" end