class GmailToDo

Constants

CREDENTIALS

Attributes

password[R]
username[R]

Public Class Methods

new() click to toggle source
# File lib/gmail_todo.rb, line 10
def initialize
  if File.exists?(CREDENTIALS)
    load_credentials
  else
    prompt_for_credentials
  end
end

Public Instance Methods

send(todo, details = nil) click to toggle source
# File lib/gmail_todo.rb, line 18
def send(todo, details = nil)
  gmail = Gmail.connect(username, password)

  gmail.deliver do
    to gmail.username
    subject "[ToDo] #{todo}"
    body "#{details}"
  end

  gmail.logout
end

Private Instance Methods

load_credentials() click to toggle source
# File lib/gmail_todo.rb, line 32
def load_credentials
  credentials = YAML.load(File.read(CREDENTIALS))
  @username = credentials["gmail"]["username"]
  @password = credentials["gmail"]["password"]
end
prompt_for_credentials() click to toggle source
# File lib/gmail_todo.rb, line 38
def prompt_for_credentials
  puts "Enter your gmail username: "
  @username = $stdin.gets.chomp
  puts "Enter your gmail password or token: "
  @password = $stdin.gets.chomp

  save_credentials
end
save_credentials() click to toggle source
# File lib/gmail_todo.rb, line 47
def save_credentials
  credentials = {gmail: {username: username, password: password}}
  File.open(CREDENTIALS, 'w') {|f| f.write credentials.to_yaml }
end