class Gmailish::Actions

Constants

INBOX

Attributes

account[R]
logged_in[RW]
password[R]
username[R]

Public Class Methods

new(account, username, password) click to toggle source
# File lib/gmailish/actions.rb, line 7
def initialize(account, username, password)
  @account = account
  @username = username
  @password = password
  @logged_in = false
end

Public Instance Methods

logged_in?() click to toggle source
# File lib/gmailish/actions.rb, line 25
def logged_in?
  logged_in
end
process() { || ... } click to toggle source
# File lib/gmailish/actions.rb, line 14
def process(&block)
  if block_given?
    login
    inbox
    yield
    logout
  else
    raise Error::NoMessageError, "Messages must be passed within a block."
  end
end

Private Instance Methods

inbox() click to toggle source
# File lib/gmailish/actions.rb, line 45
def inbox
  account.select(INBOX)
end
login() click to toggle source
# File lib/gmailish/actions.rb, line 33
def login
  account.login(username, password).tap do |response|
    @logged_in = true if ok?(response)
  end
end
logout() click to toggle source
# File lib/gmailish/actions.rb, line 39
def logout
  account.logout.tap do |response|
    @logged_in = false if ok?(response)
  end
end
ok?(response) click to toggle source
# File lib/gmailish/actions.rb, line 49
def ok?(response)
  response && response.name == 'OK'
end