Sha256: 05db9a97e3a4e7e8e170c34f8333445e24660fea0108efbe3bbe23ea44ccfe46

Contents?: true

Size: 1.72 KB

Versions: 8

Compression:

Stored size: 1.72 KB

Contents

module RailsBase
  class Engine < ::Rails::Engine
    isolate_namespace RailsBase
    ActiveSupport::Reloader.to_prepare do
      if RailsBase.___execute_initializer___?
        RailsBase.config.admin.convenience_methods

        RailsBase::ApplicationRecord.descendants.each do |model|
          model._magically_defined_time_objects
        end
      end
    end

    initializer 'instantiate RailsBase configs' do |_app|
      RailsBase.config if RailsBase.___execute_initializer___?
    end

    initializer 'remove write access to RailsBase config', after: 'after_initialize' do |app|
      RailsBase::Configuration::Base._unset_allow_write! if RailsBase.___execute_initializer___?
    end

    initializer 'define magic convenionce methods for converting team', after: 'active_record.initialize_database' do |app|
      if RailsBase.___execute_initializer___?
        # need to eager load Models
        Rails.application.eager_load!

        # create a connection
        ActiveRecord::Base.retrieve_connection

        #explicitly load engine routes
        Dir.entries(RailsBase::Engine.root.join('app','models')).select{|s| s.ends_with?('.rb')}.each {|f| require f}
        RailsBase::ApplicationRecord.descendants.each do |model|
          model._magically_defined_time_objects
        end
      end
    end

    initializer 'remove switch_user routes', after: 'add_routing_paths' do |app|
      app.routes_reloader.paths.delete_if{ |path| path.include?('switch_user') }
    end

    initializer 'append RailsBase engine migrations' do |app|
      unless app.root.to_s.match root.to_s
        config.paths["db/migrate"].expanded.each do |expanded_path|
          app.config.paths["db/migrate"] << expanded_path
        end
      end
    end


  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rails_base-0.61.0 lib/rails_base/engine.rb
rails_base-0.60.0 lib/rails_base/engine.rb
rails_base-0.58.0 lib/rails_base/engine.rb
rails_base-0.57.0 lib/rails_base/engine.rb
rails_base-0.56.0 lib/rails_base/engine.rb
rails_base-0.55.0 lib/rails_base/engine.rb
rails_base-0.54.0 lib/rails_base/engine.rb
rails_base-0.53.1 lib/rails_base/engine.rb