Class: Avm::Listeners::IssueAutoUnblock

Inherits:
Object
  • Object
show all
Includes:
IssueDelete, IssueRelationDelete, IssueUpdate
Defined in:
lib/avm/listeners/issue_auto_unblock.rb,
lib/avm/listeners/issue_auto_unblock/issue_delete.rb,
lib/avm/listeners/issue_auto_unblock/issue_update.rb,
lib/avm/listeners/issue_auto_unblock/issue_relation_delete.rb

Defined Under Namespace

Modules: IssueDelete, IssueRelationDelete, IssueUpdate

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from IssueUpdate

#issue_updated

Methods included from IssueRelationDelete

#issue_relation_deleted

Methods included from IssueDelete

#issue_deleted

Constructor Details

#initialize(event) ⇒ IssueAutoUnblock

Returns a new instance of IssueAutoUnblock.



12
13
14
# File 'lib/avm/listeners/issue_auto_unblock.rb', line 12

def initialize(event)
  @event = event
end

Instance Attribute Details

#eventObject (readonly)

Returns the value of attribute event.



10
11
12
# File 'lib/avm/listeners/issue_auto_unblock.rb', line 10

def event
  @event
end

Instance Method Details

#check_conditionsObject



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/avm/listeners/issue_auto_unblock.rb', line 22

def check_conditions
  %w[issue_relation_deleted issue_deleted issue_updated].any? do |m|
    issues = send(m)
    next unless issues

    issues.each do |issue|
      Rails.logger.debug("#{m}: #{issue}")
      Avm::Issue::Unblock.new(issue).run
    end
    true
  end
end

#runObject



16
17
18
19
20
# File 'lib/avm/listeners/issue_auto_unblock.rb', line 16

def run
  return if check_conditions

  Rails.logger.debug("Unblock condition not found for #{@event}")
end