|
|
- # frozen_string_literal: true
-
- class Form::TagBatch
- include ActiveModel::Model
- include Authorization
-
- attr_accessor :tag_ids, :action, :current_account
-
- def save
- case action
- when 'approve'
- approve!
- when 'reject'
- reject!
- end
- end
-
- private
-
- def tags
- Tag.where(id: tag_ids)
- end
-
- def approve!
- tags.each { |tag| authorize(tag, :update?) }
- tags.update_all(trendable: true, reviewed_at: Time.now.utc)
- end
-
- def reject!
- tags.each { |tag| authorize(tag, :update?) }
- tags.update_all(trendable: false, reviewed_at: Time.now.utc)
- end
- end
|