Sha256: 2a7c12ac1a58457a6b6f32a5c8e325fc72532d18d30d9c248412f1eff5444681
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
module Adva module Engine module SlicedModels # TODO while preloading seems to work fine, it slows the dev mode down # quite a bit. should be replace with an approace which lazyloads sliced # models in Dependencies maybe an after-load hook in Dependencies would # work. def preload_sliced_models types = %w(helpers controllers models views) paths = types.map { |type| self.paths.app.send(type).to_a.first } pattern = %r((?:#{paths.join('|')})/((?:\w+/)*\w+_slice(?:.\w+)*).rb$) Dir["{#{paths.join(',')}}/**/*.rb"].each do |filename| if filename =~ pattern begin require_dependency $1.gsub(%r(_slice), '') require_dependency filename rescue LoadError end end end end end end end require 'rails' Rails::Application.class_eval do include Adva::Engine::SlicedModels initializer "application.preload_sliced_models" do |app| config.to_prepare { app.preload_sliced_models } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
adva-core-0.0.2 | lib/adva/engine/sliced_models.rb |
adva-core-0.0.1 | lib/adva/engine/sliced_models.rb |