class Rockstart::Authorization::PunditGenerator

Public Instance Methods

add_prebuilt_resources() click to toggle source
# 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() click to toggle source
# File lib/generators/rockstart/authorization/pundit/pundit_generator.rb, line 26
def add_pundit_configuration
  directory "config"
end
add_pundit_exception_handling() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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