Sha256: 58d1105b69f4dedd39e7e1e8457fe8fa4dba8affd87217bbd2019a5547ff02aa

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

authorization_framework = {
  pundit: ->{
    gather_gem 'pundit'

    after(:gem_install) do
      application_controller = "app/controllers/application_controller.rb"
      gsub_file application_controller, "protect_from_forgery" do
        "include Pundit\n  protect_from_forgery"
      end
      generate "pundit:install"
    end

    if get(:admin_mode)
      after(:admin_install) do
        initializer = "config/initializers/active_admin.rb"
        gsub_file initializer, /# config\.authorization_adapter =[^\n]+\n/ do
          "config.authorization_adapter = ActiveAdmin::PunditAdapter\n"
        end

        template "assets/active_admin/pundit_page_policy.rb", "app/policies/active_admin/page_policy.rb"
        template "assets/active_admin/comment_policy.rb", "app/policies/active_admin/comment_policy.rb"
        template "assets/active_admin/admin_user_policy.rb", "app/policies/admin_user_policy.rb"
      end
    end
  }
}

if get(:authorization)
  instance_exec(&(authorization_framework[get(:authorization)] || ->{ }))
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
potassium-1.3.4 lib/potassium/templates/application/recipes/pundit.rb
potassium-1.3.3 lib/potassium/templates/application/recipes/pundit.rb
potassium-1.3.2 lib/potassium/templates/application/recipes/pundit.rb
potassium-1.3.0 lib/potassium/templates/application/recipes/pundit.rb
potassium-1.2.4 lib/potassium/templates/application/recipes/pundit.rb