class Wallaby::Map::ModelClassCollector

To collect model classes that are configured to be handled by Wallaby

Public Class Methods

new(configuration, models = nil) click to toggle source

@param configuration [Configuration] @param models [Array<Class>]

# File lib/services/wallaby/map/model_class_collector.rb, line 9
def initialize(configuration, models = nil)
  @configuration = configuration
  @models = ClassArray.new(models || [])
end

Public Instance Methods

collect() click to toggle source

@return [Array<Class>] model class

# File lib/services/wallaby/map/model_class_collector.rb, line 15
def collect
  return @models - excluded_models if configured_models.blank?

  invalid_models_check
  configured_models
end

Private Instance Methods

configured_models() click to toggle source

@return [Array<Class>] a list of models to set

# File lib/services/wallaby/map/model_class_collector.rb, line 44
def configured_models
  models.presence
end
excluded_models() click to toggle source

@return [Array<Class>] a list of models to exclude

# File lib/services/wallaby/map/model_class_collector.rb, line 39
def excluded_models
  models.excludes
end
invalid_models_check() click to toggle source

Check if the models are valid, raise if invalid

# File lib/services/wallaby/map/model_class_collector.rb, line 25
def invalid_models_check
  invalid_models = configured_models - @models
  return if invalid_models.blank?

  message = Locale.t 'errors.invalid.models', models: invalid_models.to_sentence
  raise InvalidError, message
end
models() click to toggle source

@return [Wallaby::Configuration::Models]

# File lib/services/wallaby/map/model_class_collector.rb, line 34
def models
  @configuration.models
end