Class: Wallaby::Map::ModelClassMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/services/wallaby/map/model_class_mapper.rb

Overview

To find out all descendant classes and convert them if necessary.

Instance Method Summary collapse

Constructor Details

#initialize(base_class) ⇒ ModelClassMapper

Returns a new instance of ModelClassMapper.



6
7
8
# File 'lib/services/wallaby/map/model_class_mapper.rb', line 6

def initialize(base_class)
  @base_class = base_class
end

Instance Method Details

#mapArray

Returns a list of non-anonymous descendant classes.

Returns:

  • (Array)

    a list of non-anonymous descendant classes



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/services/wallaby/map/model_class_mapper.rb', line 11

def map
  classes_array.each_with_object({}) do |klass, map|
    next if anonymous? klass
    begin
      map[klass.model_class] = block_given? ? yield(klass) : klass
    rescue Wallaby::ModelNotFound
      Rails.logger.error Utils.translate_class(
        self, :missing_model_class, model: klass.name
      )
    end
  end
end