Class: TypedEnums::ModelScanner
- Inherits:
-
Object
- Object
- TypedEnums::ModelScanner
- Defined in:
- lib/typed_enums/model_scanner.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(config: TypedEnums.configuration, name_builder: Naming::NameBuilder.new) ⇒ ModelScanner
constructor
A new instance of ModelScanner.
Constructor Details
#initialize(config: TypedEnums.configuration, name_builder: Naming::NameBuilder.new) ⇒ ModelScanner
Returns a new instance of ModelScanner.
7 8 9 10 |
# File 'lib/typed_enums/model_scanner.rb', line 7 def initialize(config: TypedEnums.configuration, name_builder: Naming::NameBuilder.new) @config = config @name_builder = name_builder end |
Instance Method Details
#call ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/typed_enums/model_scanner.rb', line 12 def call eager_load_application enum_models.flat_map do |model| model.defined_enums.sort_by { |attribute_name, _values| attribute_name }.map do |attribute_name, values| build_definition(model:, attribute_name:, values:) end end end |