module SkProgressBar
Constants
- VERSION
Public Class Methods
create_update_db(percentage, message, jid=nil)
click to toggle source
Add/Update record in ProgressBar
table
# File lib/sk_progress_bar.rb, line 26 def self.create_update_db(percentage, message, jid=nil) db_record = jid.present? ? ProgressBar.find_by(sk_process_id: jid) : nil if db_record.present? db_record.update( message: message, sk_process_id: jid, percentage: percentage ) else new_record = ProgressBar.new( message: message, sk_process_id: jid, percentage: percentage ) new_record.save end end
division_by_cycle(object_count)
click to toggle source
# File lib/sk_progress_bar.rb, line 5 def self.division_by_cycle(object_count) return unless object_count.present? && object_count.positive? (100 / object_count) end
progress_status(cycle_index, objects_count)
click to toggle source
Return Percentage and Message result of cycle
# File lib/sk_progress_bar.rb, line 19 def self.progress_status(cycle_index, objects_count) percentage = (cycle_index + 1) * division_by_cycle(objects_count) message = percentage == 100 ? 'Done' : 'Almost done' { percentage: percentage, message: message } end
update_progress_bar(percentage, message, jid=nil)
click to toggle source
Update Progress Bar
# File lib/sk_progress_bar.rb, line 11 def self.update_progress_bar(percentage, message, jid=nil) ActionCable.server.broadcast 'sk_progress_bar_channel', progress_status: percentage, message: message, sk_process_id: jid end