class AutoloadRecords::Engine::Middleware
Constants
- MODEL_FILES
Public Class Methods
new(app)
click to toggle source
# File lib/dhs/concerns/autoload_records.rb, line 24 def initialize(app) @app = app end
require_direct_inheritance()
click to toggle source
# File lib/dhs/concerns/autoload_records.rb, line 33 def self.require_direct_inheritance Rails.application.reloader.to_prepare do Dir.glob(Rails.root.join(MODEL_FILES)).each do |file| next unless File.read(file).match('DHS::Record') require_dependency file file.split('models/').last.gsub('.rb', '').classify end.compact end end
require_inheriting_records(parents)
click to toggle source
# File lib/dhs/concerns/autoload_records.rb, line 43 def self.require_inheriting_records(parents) Rails.application.reloader.to_prepare do Dir.glob(Rails.root.join(MODEL_FILES)).each do |file| file_content = File.read(file) next if parents.none? { |parent| file_content.match(/\b#{parent}\b/) } next if file_content.match?('extend ActiveSupport::Concern') require_dependency file end end end
require_records()
click to toggle source
# File lib/dhs/concerns/autoload_records.rb, line 54 def self.require_records require_inheriting_records(require_direct_inheritance) end
Public Instance Methods
call(env)
click to toggle source
# File lib/dhs/concerns/autoload_records.rb, line 28 def call(env) self.class.require_records @app.call(env) end