Sha256: fddf5be9184ba939890da50f8ab5e4a832c6eed3ace95307902c05be7481d159

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

class WorkLockNagger
  include ActionController::UrlWriter
  
  puts "Loading class"
  
  def initialize
    puts "Worker initialized"
  end
  
  def nag
    puts "Nag called"
    begin
      url = url_for(:host => 'localhost', :port => 3000, :controller => 'works', :action => :weekly_work_sheet_by_work_account)
    rescue Exception => e
      puts e.message
      puts e.backtrace
    end
    
    loop do
      puts "Nagging"
      begin
        p late_work_locks = WorkLock.find(
                                          :all, 
                                          :conditions => ["end_on < ? and not exists (select id from work_locks wl2 where wl2.user_id = work_locks.user_id and wl2.end_on > work_locks.end_on)", Date.today ])
        late_users = late_work_locks.map{|wl| wl.user}.uniq
        late_users.each do |u|
          missing_date = (u.work_locks.last.end_on + 7)
          year = missing_date.year
          week = missing_date.cweek
          WorkLockNotify.deliver_nag(u, week, url + "/#{year}/#{week}")
        end
      rescue Exception => e
        p e
      end
      puts "Nag ends"
      sleep 24.hours
    end
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
backlog-0.21.0 app/models/work_lock_nagger.rb