2011/07/31

Ruby и отправка почты.

Ну для начала хотел бы дать ссылки на доки - smtp, mail и pony.
Скажу сразу в итоге я ушел на pony хотя слышал на stackoverflow, что якобы на ruby 1.9.2 не работае. Вообще по слухам говорят mail хороший, но я его не завел, и да везде есть документация с примерами как работать с определенной библиотекой. А еще из специфике мне нужно было чтобы smtp был gmail.com. В итоге я получил что-то похожее:

Pony.mail(:to => 'email@email.com', :via => :smtp, :via_options => {
    :address => 'smtp.gmail.com',
    :port => '587',
    :enable_starttls_auto => true,
    :user_name => 'login',
    :password => 'password',
    :authentication => :plain,
    :domain => "HELO",
}, :subject => sbj, :body => msg)

2011/07/20

Подготовка Capistrano для нормального полета.

Вообще в интернете довольно много бродит туториалов на эту тему, да и все эти программки хорошо документированы, я лишь останавлюсь на как считаю главных моментах. И да клиент у меня OS X, сервер Debian. Это все делалось для проекта на Rails 3.
Итак первый момент связан с ssh ключом, который после генерирования и переброски на сервер нужно добавить в know_hosts, командой ssh-add <ваш приват кей>.
И второй момент добавить несколько полей в deploy.rb:
#==========================================
set :deploy_to, "/home/serv/app"
set :deploy_via, :copy # :remote_cache
set :user, 'serv'
set :use_sudo, false

#==========================================
И последний момент для тех кто как и я пользует RVM, это нужно для того чтобы можно было делать так(посмотрите внимательно может такое тоже понадобиться ;)):
...
task :bundle_gems do
    run "cd #{deploy_to}/current && bundle" 
end
...
А это в начало :)
#=============RVM=======================================
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))


require "rvm/capistrano"


set :rvm_ruby_string, '1.9.2-p290' #сюда версию руби
set :rvm_type, :user  
#=======================================================
Я это не сам придумал, а взял отсюда :)