forgeplus/app/models/concerns/dun_check_able.rb

52 lines
1.4 KiB
Ruby

module DunCheckAble
extend ActiveSupport::Concern
included do
validate :check_text_able
end
def check_text_able
return true
# dun_check_params = get_model
# if dun_check_params[:is_change]
# dun_check_params.delete(:is_change)
# check_result = DunCheck::TextCheck.new(dun_check_params).call
# if check_result[:status].to_i == -1
# errors.add(:base, "内容含有:#{check_result[:extra_params][:infos]},请修改")
# # raise ActiveRecord::RecordInvalid.new(self)
# end
# end
end
def get_model
dun_model = self.class.name
case dun_model
when "Issue"
check_params = {
title: self.subject,
content: self.description,
is_change: (self.subject_changed? || self.description_changed?) && self.subject.present? && self.description.present?
}
when "PullRequest"
check_params = {
title: "",
content: self.body,
is_change: self.body_changed? && self.body.present?
}
when "Journal"
check_params = {
title: "",
content: self.notes,
is_change: self.notes_changed? && self.notes.present?
}
when "Version"
check_params = {
title: self.name,
content: self.description,
is_change: (self.name_changed? || self.description_changed?) && self.name.present? && self.description.present?
}
end
return check_params
end
end