Module: Namespaces::AdjournedDeletable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/namespaces/adjourned_deletable.rb
Instance Method Summary collapse
- #ancestor_scheduled_for_deletion? ⇒ Boolean
- #deletion_adjourned_period ⇒ Object
-
#deletion_in_progress_or_scheduled_in_hierarchy_chain? ⇒ Boolean
Returns true if the record or any of its ancestors is being deleted or scheduled for deletion.
-
#first_scheduled_for_deletion_in_hierarchy_chain ⇒ Object
Returns the first record that’s scheduled for deletion in self’s ancestors chain (including itself).
-
#scheduled_for_deletion_in_hierarchy_chain? ⇒ Boolean
Returns true if the record or any of its ancestors is scheduled for deletion.
-
#self_deletion_in_progress? ⇒ Boolean
Models need to define this method, usually based on the value of a database attribute.
-
#self_deletion_scheduled? ⇒ Boolean
Returns true if the record is scheduled for deletion.
-
#self_deletion_scheduled_deletion_created_on ⇒ Object
Returns the date when the scheduled deletion was created.
Instance Method Details
#ancestor_scheduled_for_deletion? ⇒ Boolean
34 35 36 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 34 def ancestor_scheduled_for_deletion? ancestors_scheduled_for_deletion.any? end |
#deletion_adjourned_period ⇒ Object
55 56 57 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 55 def deletion_adjourned_period ::Gitlab::CurrentSettings.deletion_adjourned_period end |
#deletion_in_progress_or_scheduled_in_hierarchy_chain? ⇒ Boolean
Returns true if the record or any of its ancestors is being deleted or scheduled for deletion.
51 52 53 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 51 def deletion_in_progress_or_scheduled_in_hierarchy_chain? self_deletion_in_progress? || scheduled_for_deletion_in_hierarchy_chain? end |
#first_scheduled_for_deletion_in_hierarchy_chain ⇒ Object
Returns the first record that’s scheduled for deletion in self’s ancestors chain (including itself).
39 40 41 42 43 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 39 def first_scheduled_for_deletion_in_hierarchy_chain return self if self_deletion_scheduled? ancestors_scheduled_for_deletion.first end |
#scheduled_for_deletion_in_hierarchy_chain? ⇒ Boolean
Returns true if the record or any of its ancestors is scheduled for deletion.
46 47 48 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 46 def scheduled_for_deletion_in_hierarchy_chain? first_scheduled_for_deletion_in_hierarchy_chain.present? end |
#self_deletion_in_progress? ⇒ Boolean
Models need to define this method, usually based on the value of a database attribute
13 14 15 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 13 def self_deletion_in_progress? raise NotImplementedError end |
#self_deletion_scheduled? ⇒ Boolean
Returns true if the record is scheduled for deletion.
30 31 32 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 30 def self_deletion_scheduled? self_deletion_scheduled_deletion_created_on.present? end |
#self_deletion_scheduled_deletion_created_on ⇒ Object
Returns the date when the scheduled deletion was created.
25 26 27 |
# File 'app/models/concerns/namespaces/adjourned_deletable.rb', line 25 def self_deletion_scheduled_deletion_created_on marked_for_deletion_on if respond_to?(:marked_for_deletion_on) end |