Class: Helm::Commands::Assign

Inherits:
Command
  • Object
show all
Defined in:
lib/helm/commands/assign.rb

Instance Attribute Summary

Attributes inherited from Command

#session

Instance Method Summary collapse

Methods inherited from Command

#cache, #format, #initialize, #parameters

Constructor Details

This class inherits a constructor from Helm::Commands::Command

Instance Method Details

#runObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/helm/commands/assign.rb', line 4

def run
  parameters :ticket, :milestone

  ticket = session.ticket

  if session.milestone
    ticket.milestone_id = session.milestone.id
    
    if ticket.save
      puts "##{ticket.id} Milestone changed: #{session.milestone || '(none)'} => #{session.milestone}"
    end
  else
    new_assignee = session.user

    assignee = session.user(ticket.assigned_user_id) if ticket.assigned_user_id

    unless ticket.assigned_user_id && ticket.assigned_user_id == new_assignee.id
      ticket.assigned_user_id = new_assignee.id

      if ticket.save
        puts "##{ticket.id} Assigned user changed: #{assignee || '(none)'} => #{new_assignee}"
      end
    end
  end
end