Class: Rockstart::Authorization::PunditGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Rockstart::Authorization::PunditGenerator
- Includes:
- Generators::ClassOptionHelpers
- Defined in:
- lib/generators/rockstart/authorization/pundit/pundit_generator.rb
Instance Method Summary collapse
- #add_prebuilt_resources ⇒ Object
- #add_pundit_configuration ⇒ Object
- #add_pundit_exception_handling ⇒ Object
- #add_pundit_to_application_controller ⇒ Object
- #add_scaffold_templates ⇒ Object
Instance Method Details
#add_prebuilt_resources ⇒ Object
30 31 32 33 34 |
# File 'lib/generators/rockstart/authorization/pundit/pundit_generator.rb', line 30 def add_prebuilt_resources directory "app" directory "lib" directory "spec" end |
#add_pundit_configuration ⇒ Object
26 27 28 |
# File 'lib/generators/rockstart/authorization/pundit/pundit_generator.rb', line 26 def add_pundit_configuration directory "config" end |
#add_pundit_exception_handling ⇒ Object
13 14 15 16 17 18 |
# File 'lib/generators/rockstart/authorization/pundit/pundit_generator.rb', line 13 def add_pundit_exception_handling application <<~PUNDIT # Treat Pundit authentication failures as forbidden config.action_dispatch.rescue_responses["Pundit::NotAuthorizedError"] = :forbidden PUNDIT end |
#add_pundit_to_application_controller ⇒ Object
20 21 22 23 24 |
# File 'lib/generators/rockstart/authorization/pundit/pundit_generator.rb', line 20 def add_pundit_to_application_controller inject_into_file "app/controllers/application_controller.rb", " include Pundit\n", before: /^end$/ end |
#add_scaffold_templates ⇒ Object
36 37 38 39 |
# File 'lib/generators/rockstart/authorization/pundit/pundit_generator.rb', line 36 def add_scaffold_templates copy_file "scaffold/policy.rb.tt", "lib/templates/pundit/policy/policy.rb" copy_file "scaffold/policy_spec.rb.tt", "lib/templates/rspec/policy/policy_spec.rb" end |