Class: SyncProjectTicketsJob
- Inherits:
-
Object
- Object
- SyncProjectTicketsJob
- Defined in:
- app/jobs/sync_project_tickets_job.rb
Instance Attribute Summary collapse
-
#project ⇒ Object
readonly
Returns the value of attribute project.
Instance Method Summary collapse
-
#initialize(project) ⇒ SyncProjectTicketsJob
constructor
A new instance of SyncProjectTicketsJob.
- #run! ⇒ Object
Constructor Details
#initialize(project) ⇒ SyncProjectTicketsJob
Returns a new instance of SyncProjectTicketsJob.
3 4 5 |
# File 'app/jobs/sync_project_tickets_job.rb', line 3 def initialize(project) @project = project end |
Instance Attribute Details
#project ⇒ Object (readonly)
Returns the value of attribute project.
7 8 9 |
# File 'app/jobs/sync_project_tickets_job.rb', line 7 def project @project end |
Instance Method Details
#run! ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/jobs/sync_project_tickets_job.rb', line 9 def run! Rails.logger.debug "\e[33;1mStart sync job\e[0m" start_time = Time.now @project.update_column :ticket_tracker_sync_started_at, start_time if @project.ticket_tracker.supports?(:syncing_milestones) milestones = project.all_milestones project.milestones.without(milestones).update_all(destroyed_at: Time.now) end if @project.ticket_tracker.supports?(:syncing_tickets) tickets = project.all_tickets project.tickets.without(tickets).update_all(destroyed_at: Time.now) end @project.update_column :last_ticket_tracker_sync_at, Time.now ensure @project.update_column :ticket_tracker_sync_started_at, nil Rails.logger.debug "\e[33;1mFinish sync job in \e[4m%.2f\e[0;33;1m seconds\e[0m" % (Time.now - start_time) end |