Method: IMAPClient#run

Defined in:
lib/imap_client.rb

#run(message, flags) ⇒ Object

Selects messages from mailboxes then marking them with flags. If a block is given it is run after message marking.

Unless :Noop was set, then it just prints out what it would do.

Automatically called by IMAPClient::run



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
# File 'lib/imap_client.rb', line 226

def run(message, flags)
  log message

  message_count = 0
  mailboxes = find_mailboxes

  mailboxes.each do |mailbox|
    @imap.select mailbox
    log "Selected #{mailbox}"

    messages = find_messages

    next if messages.empty?

    message_count += messages.length

    if @noop then
      log "Noop - doing nothing"
      next
    end

    mark messages, flags

    yield if block_given?
  end

  log "Done. Found #{message_count} messages in #{mailboxes.length} mailboxes"
end