Class: Catalog::ValidateCatalogItems

Inherits:
BaseService show all
Defined in:
app/services/catalog/validate_catalog_items.rb

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, #log_debug, #log_error, #log_info, #log_warning, #logger, #options, #tagged_logger

Constructor Details

This class inherits a constructor from BaseService

Instance Method Details

#process(catalog) ⇒ Object

Evaluate every catalog items belonging to a catalog. If any break the rule, move
them to invalid until corrected.



10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/services/catalog/validate_catalog_items.rb', line 10

def process(catalog)
  messages = []
  invalid_catalog_items = []
  catalog.catalog_items.active.find_each do |catalog_item|
    unless catalog_item.valid?
      messages << "Catalog Item #{catalog_item.id} is invalid. #{catalog_item.errors_to_s}"
      catalog_item.invalidate
      invalid_catalog_items << catalog_item
    end
  end
  Result.new(catalog_item_validated: true, invalid_catalog_items: invalid_catalog_items, messages: messages)
end