lib/timely/trackable_date_set.rb
def do_once(action_name, opts={})
      return if action_applied?(action_name)
      result = yield

      job_done = opts[:job_done_when].blank? || opts[:job_done_when].call(result)
      apply_action(action_name) if job_done
    end
def do_once(action_name, opts={})
      return if action_applied?(action_name)
      result = yield

      job_done = opts[:job_done_when].blank? || opts[:job_done_when].call(result)
      apply_action(action_name) if job_done
    end
def do_once ( action_name , opts = { } ) return if action_applied? ( action_name ) result = yield job_done = opts [ :job_done_when ] . blank? || opts [ :job_done_when ] . call ( result ) apply_action ( action_name ) if job_done end
Do something once within this tracked period

 Will only consider job done when opts[:job_done] is true

   action_name => Name to track
   {:job_done_when} => Block to call, passed result of yield
Do something once within this tracked period