# frozen_string_literal: true class Trends::PreviewCardProviderBatch include ActiveModel::Model include Authorization attr_accessor :preview_card_provider_ids, :action, :current_account def save case action when 'approve' approve! when 'reject' reject! end end private def preview_card_providers PreviewCardProvider.where(id: preview_card_provider_ids) end def approve! preview_card_providers.each { |provider| authorize(provider, :review?) } preview_card_providers.update_all(trendable: true, reviewed_at: Time.now.utc) end def reject! preview_card_providers.each { |provider| authorize(provider, :review?) } preview_card_providers.update_all(trendable: false, reviewed_at: Time.now.utc) end end