Class: Maintenance::FixRejectedEditStatesTask
- Inherits:
-
MaintenanceTasks::Task
- Object
- MaintenanceTasks::Task
- Maintenance::FixRejectedEditStatesTask
show all
- Includes:
- ApplicationHelper
- Defined in:
- /var/apps/qpixel/app/tasks/maintenance/fix_rejected_edit_states_task.rb
Instance Method Summary
collapse
#active_search?, #admin?, #at_least_moderator?, #can_see_deleted_posts?, #check_your_post_privilege, #check_your_privilege, #current_commit, #current_user, #deleted_item?, #direct_request?, #generic_edit_link, #generic_share_link, #generic_share_link_md, #generic_show_link, #i18ns, #license_link, #post_history_share_link, #post_history_share_link_md, #promoted_posts, #query_url, #read_only?, #render_markdown, #safe_page, #safe_per_page, #second_level_post_types, #short_number_to_human, #sign_in_link, #split_words_max_length, #standard?, #stat_panel, #strip_markdown, #system_user, #top_level_post_types, #user_signed_in?
Instance Method Details
#collection ⇒ Object
7
8
9
|
# File '/var/apps/qpixel/app/tasks/maintenance/fix_rejected_edit_states_task.rb', line 7
def collection
SuggestedEdit.rejected
end
|
#initial_revision_before_decided(edit) ⇒ Object
19
20
21
22
23
24
|
# File '/var/apps/qpixel/app/tasks/maintenance/fix_rejected_edit_states_task.rb', line 19
def initial_revision_before_decided(edit)
PostHistory.of_type('initial_revision')
.where(post: edit.post)
.order(created_at: :desc)
.first
end
|
#last_revision_before_decided(edit) ⇒ Object
11
12
13
14
15
16
17
|
# File '/var/apps/qpixel/app/tasks/maintenance/fix_rejected_edit_states_task.rb', line 11
def last_revision_before_decided(edit)
PostHistory.of_type('post_edited')
.where(post: edit.post)
.where(created_at: edit.post.created_at..edit.decided_at)
.order(created_at: :desc)
.first
end
|
#process(edit) ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File '/var/apps/qpixel/app/tasks/maintenance/fix_rejected_edit_states_task.rb', line 37
def process(edit)
return if valid_before_attributes?(edit)
last_revision = last_revision_before_decided(edit).presence || initial_revision_before_decided(edit)
return unless last_revision.present?
status = edit.update({ before_body: if last_revision.after_state.present?
render_markdown(last_revision.after_state)
else
edit.before_body
end,
before_body_markdown: last_revision.after_state,
before_tags: last_revision.after_tags.dup,
before_tags_cache: last_revision.after_tags.map(&:name),
before_title: last_revision.after_title })
unless status
Rails.logger.warn("Failed to fix edit ##{edit.id}")
end
end
|
#valid_before_attributes?(edit) ⇒ Boolean
26
27
28
29
30
31
32
33
34
35
|
# File '/var/apps/qpixel/app/tasks/maintenance/fix_rejected_edit_states_task.rb', line 26
def valid_before_attributes?(edit)
[
:before_body,
:before_body_markdown,
:before_tags_cache,
:before_title
].all? do |attr|
edit.send(attr).present?
end
end
|