Class: Avm::Listeners::IssueAutoUndefine

Inherits:
Object
  • Object
show all
Includes:
IssueCreate, IssueRelationCreate, IssueUpdate
Defined in:
lib/avm/listeners/issue_auto_undefine.rb,
lib/avm/listeners/issue_auto_undefine/issue_create.rb,
lib/avm/listeners/issue_auto_undefine/issue_update.rb,
lib/avm/listeners/issue_auto_undefine/issue_relation_create.rb

Defined Under Namespace

Modules: IssueCreate, IssueRelationCreate, IssueUpdate

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from IssueRelationCreate

#issue_relation_created_undefined

Methods included from IssueUpdate

#issue_updated_undefined

Methods included from IssueCreate

#issue_created_undefined

Constructor Details

#initialize(event) ⇒ IssueAutoUndefine

Returns a new instance of IssueAutoUndefine.



12
13
14
# File 'lib/avm/listeners/issue_auto_undefine.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_undefine.rb', line 10

def event
  @event
end

Instance Method Details

#check_conditionsObject



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

def check_conditions
  %w[issue_created_undefined issue_updated_undefined
     issue_relation_created_undefined].any? do |m|
    issues = send(m)
    next unless issues

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

#runObject



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

def run
  return if check_conditions

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