lib/avo/app.rb in avo-2.18.0 vs lib/avo/app.rb in avo-2.18.1.pre.1.eagerloaddirs

- old
+ new

@@ -15,10 +15,18 @@ class_attribute :params, default: {} class_attribute :translation_enabled, default: false class_attribute :error_messages class << self + def eager_load(entity) + paths = Avo::ENTITIES.fetch entity + + return unless paths.present? + + Rails.autoloaders.main.eager_load_dir(Rails.root.join(*paths).to_s) + end + def boot init_fields if Rails.cache.instance_of?(ActiveSupport::Cache::NullStore) self.cache_store ||= ActiveSupport::Cache::MemoryStore.new @@ -89,11 +97,11 @@ def check_bad_resources resources.each do |resource| has_model = resource.model_class.present? unless has_model - possible_model = resource.class.to_s.gsub 'Resource', '' + possible_model = resource.class.to_s.gsub "Resource", "" Avo::App.error_messages.push({ url: "https://docs.avohq.io/2.0/resources.html#custom-model-class", target: "_blank", message: "#{resource.class.to_s} does not have a valid model assigned. It failed to find the #{possible_model} model. \n\r Please create that model or assign one using self.model_class = YOUR_MODEL" @@ -117,9 +125,11 @@ resource.new if resource.is_a? Class end end def init_dashboards + eager_load :dashboards unless Rails.application.config.eager_load + self.dashboards = Dashboards::BaseDashboard.descendants .select do |dashboard| dashboard != Dashboards::BaseDashboard end .uniq do |dashboard|