class Deface::Environment::Overrides
Attributes
all[RW]
Public Class Methods
new()
click to toggle source
# File lib/deface/environment.rb, line 46 def initialize @all = {} end
Public Instance Methods
early_check()
click to toggle source
# File lib/deface/environment.rb, line 66 def early_check Deface::Override._early.each do |args| Deface::Override.new(args) end Deface::Override._early.clear end
find(*args)
click to toggle source
# File lib/deface/environment.rb, line 50 def find(*args) Deface::Override.find(*args) end
load_all(app)
click to toggle source
# File lib/deface/environment.rb, line 54 def load_all(app) # clear overrides before reloading them app.config.deface.overrides.all.clear Deface::DSL::Loader.register # check all railties / engines / extensions / application for overrides app.railties._all.dup.push(app).each do |railtie| next unless railtie.respond_to? :root load_overrides(railtie) end end
Private Instance Methods
enumerate_and_load(paths, root)
click to toggle source
# File lib/deface/environment.rb, line 82 def enumerate_and_load(paths, root) paths ||= ["app/overrides"] paths.each do |path| # add path to watchable_dir so Rails will call to_prepare on file changes # allowing overrides to be updated / reloaded in development mode. Rails.application.config.watchable_dirs[root.join(path).to_s] = [:rb, :deface] Dir.glob(root.join path, "**/*.rb") do |c| Rails.application.config.cache_classes ? require(c) : load(c) end Dir.glob(root.join path, "**/*.deface") do |c| Rails.application.config.cache_classes ? require(c) : Deface::DSL::Loader.load(c) end end end
load_overrides(railtie)
click to toggle source
# File lib/deface/environment.rb, line 76 def load_overrides(railtie) Override.current_railtie = railtie.class.to_s paths = railtie.respond_to?(:paths) ? railtie.paths["app/overrides"] : nil enumerate_and_load(paths, railtie.root) end