rubyのバージョンを判断する時のコード

RailsGmailSMTPサーバーとして問合せ画面を作ってみた。
しかし、エラーが発生した..
エラー内容:


ArgumentError (wrong number of arguments (3 for 2)):
lib/smtp_tls.rb:8:in `check_auth_args'
lib/smtp_tls.rb:8:in `do_start'
/usr/local/ruby/1.8.7/lib/ruby/1.8/net/smtp.rb:525:in `start'


RailsでGmailをSMTPサーバーとして使う方法


を参考してsmtp_tls.rbを作ってRails_root/libに入れた。
しかし、Ruby 1.8.6 にはうまく行ったけど、Ruby 1.8.7ではエラーになった。

Ruby 1.8.6と1.8.7結構違いあるね...... orz 1.9はもっと違いあるかも

それで以下のコードをいれてみた。

Rails_root/lib/smtp_tls.rbの


check_auth_args user, secret
の部分を以下のように修正してみた。


if RUBY_VERSION > '1.8.6'
check_auth_args user, secret
else
check_auth_args user, secret, authtype if user or secret
end


無事成功ですーーーー