2019-05-03 06:17:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-01-04 01:03:01 +08:00
|
|
|
class Reviewable < ActiveRecord::Base
|
|
|
|
class PerformResult
|
|
|
|
include ActiveModel::Serialization
|
|
|
|
|
|
|
|
attr_reader :reviewable, :status, :created_post, :created_post_topic
|
2019-04-24 05:29:46 +08:00
|
|
|
attr_accessor(
|
|
|
|
:transition_to,
|
|
|
|
:remove_reviewable_ids,
|
|
|
|
:errors,
|
|
|
|
:recalculate_score,
|
|
|
|
:update_flag_stats,
|
|
|
|
:after_commit
|
|
|
|
)
|
2019-01-04 01:03:01 +08:00
|
|
|
|
|
|
|
def initialize(reviewable, status)
|
|
|
|
@status = status
|
|
|
|
@reviewable = reviewable
|
|
|
|
@remove_reviewable_ids = [reviewable.id] if success?
|
|
|
|
end
|
|
|
|
|
|
|
|
def created_post=(created_post)
|
|
|
|
@created_post = created_post
|
|
|
|
@created_post_topic = created_post.topic
|
|
|
|
end
|
|
|
|
|
|
|
|
def success?
|
|
|
|
@status == :success
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|