Product matcher refactoring regarding scopes and arrays
It is redundant to use self here.

def product_matcher(item)
  attribute_id = item.blank? ? token.id : item.id
  products.where(id: attribute_id).first
end