rubyの作法としてはどれが推奨なんだろうか?
proxyサーバのアドレスとポートが未設定だった場合の条件判断として、最初は(1)のようなコードを書いた。

(1)    if config.proxy_address != nil && config.proxy_port != nil

これでも正しく動くのだけど、違和感があったので(2)のコードに書き直した。

(2)    if !config.proxy_address.nil? && !config.proxy_port.nil?

ifに!を使うのなら、unlessを使うべきだよなと考えて、(3)のコードにしてみた。

(3)    unless config.proxy_address.nil? || config.proxy_port.nil?

これは、\overline{A} \cap \overline{B} = \overline{A \cup B}*1なので正しい置き換えです。
だけど、(3)はどうも違和感がある。A \cup Bの結果に対してnotで考える、とunlessをとらえているからなのだろう。
これがもし仕事だったら(1)のコードのままにするのですけどね。

*1:cupとcapを間違えて記述していました。恥ずかしい…。