Sha256: 79cfa4dec3431cf4c55ea30e508e08a745f832a28fe8e5f43910d27ac573d46f

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

module Cmor::Audits
  class Engine < ::Rails::Engine
    isolate_namespace Cmor::Audits

    config.to_prepare do
      print "[Cmor::Audits] Including Cmor::Audits::Routing::PaperTrailResourcesConcern into ActionDispatch::Routing::Mapper"
      ActionDispatch::Routing::Mapper.send(:include, Cmor::Audits::Routing::PaperTrailResourcesConcern)
      puts " => [OK]"

      Cmor::Audits::Configuration.resources.call.each do |resource_class, options|
        print "[Cmor::Audits] Enabling paper trail on #{resource_class}"
        resource_class.constantize.send(:has_paper_trail, options)
        puts " => [OK]"
      end

      print "[Cmor::Audits] Adding resources routes"
      Cmor::Core::Backend.configure do |config|
        config.add_resources_routes(
          :cmor_audits,
          condition: -> { PaperTrail.request.enabled_for_model?(resource_class) },
          routes:    -> { paper_trail_resources }
        )
      end
      puts " => [OK]"

      unless Rails.application.config.instance_variable_get(:@eager_load)
        print "[Cmor::Audits] Reloading routes"
        Rails.application.reload_routes!
        puts " => [OK)"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cmor_audits-0.0.57.pre lib/cmor/audits/engine.rb
cmor_audits-0.0.56.pre lib/cmor/audits/engine.rb