discourse/lib/new_post_result.rb
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00

54 lines
875 B
Ruby

# frozen_string_literal: true
require_dependency 'has_errors'
class NewPostResult
include HasErrors
attr_reader :action
attr_accessor :reason
attr_accessor :post
attr_accessor :reviewable
attr_accessor :pending_count
def initialize(action, success = false)
@action = action
@success = success
end
def check_errors_from(obj)
if obj.errors.empty?
@success = true
else
add_errors_from(obj)
end
end
def check_errors(arr)
if arr.empty?
@success = true
else
arr.each { |e| errors.add(:base, e) unless errors[:base].include?(e) }
end
end
def queued_post
Discourse.deprecate(
"NewPostManager#queued_post is deprecated. Please use #reviewable instead.",
output_in_test: true
)
reviewable
end
def success?
@success
end
def failed?
!@success
end
end