Class: Airview::ModelDiscovery

Inherits:
Object
  • Object
show all
Defined in:
lib/airview/model_discovery.rb

Constant Summary collapse

EXCLUDED_NAMESPACES =
%w[Airview ActiveStorage ActionMailbox ActionText].freeze

Class Method Summary collapse

Class Method Details

.model_named(name) ⇒ Object



16
17
18
# File 'lib/airview/model_discovery.rb', line 16

def model_named(name)
  models.find { |model| model.name == name.to_s }
end

.modelsObject



8
9
10
11
12
13
14
# File 'lib/airview/model_discovery.rb', line 8

def models
  eager_load_application

  ActiveRecord::Base.descendants
                    .select { |model| eligible?(model) }
                    .sort_by(&:name)
end