Class: ListingIssues::BuildWayfairInsightIssues

Inherits:
Object
  • Object
show all
Includes:
Service
Defined in:
app/services/listing_issues/build_wayfair_insight_issues.rb

Overview

Maps Wayfair's persisted Catalog Read v2 insight buckets to listing issues.

Defined Under Namespace

Classes: Result

Constant Summary collapse

PROVIDER =
'wayfair'
BUCKET_SEVERITIES =
{
  'problems' => 'error',
  'warnings' => 'warning',
  'opportunities' => 'warning'
}.freeze

Instance Method Summary collapse

Methods included from Service

#attributes_used, #build_result, call, #logger

Methods included from Service::Initializer

#initialize

Instance Method Details

#callResult

Returns:



22
23
24
25
26
27
# File 'app/services/listing_issues/build_wayfair_insight_issues.rb', line 22

def call
  insights = catalog_item.wayfair_insights
  return Result.new(issues: []) unless insights.is_a?(Hash)

  Result.new(issues: BUCKET_SEVERITIES.flat_map { |bucket, severity| issues_for(insights, bucket, severity) })
end